esppy.connectors.MQTTPublisher

class esppy.connectors.MQTTPublisher(mqtthost=None, mqttclientid=None, mqtttopic=None, mqttqos=None, mqttmsgtype=None, name=None, is_active=None, mqttuserid=None, mqttpassword=None, mqttport=None, mqttretainmsg=None, mqttcleansession=None, mqttkeepaliveinterval=None, publishwithupsert=None, transactional=None, blocksize=None, ignorecsvparseerrors=None, csvfielddelimiter=None, noautogenfield=None, dateformat=None, protofile=None, protomsg=None, mqttssl=None, mqttsslcafile=None, mqttsslcapath=None, mqttsslcertfile=None, mqttsslkeyfile=None, mqttsslpassword=None, configfilesection=None, addcsvopcode=None, addcsvflags=None, mqttpasswordencrypted=None, maxevents=None)

Bases: esppy.connectors.base.Connector

Subscribe to MQ Telemetry Transport (MQTT)

Parameters
mqtthoststring

Specifies the MQTT server host name

mqttclientidstring

Specifies the string to use as the MQTT Client ID. If NULL, a random client ID is generated. If empty, mqttdonotcleansession must be false. Must be unique among all clients connected to the MQTT server.

mqtttopicstring

Specifies the string to use as an MQTT subscription topic pattern

mqttqosstring

Specifies the requested Quality of Service. Values can be 0, 1 or 2.

mqttmsgtypestring

Specifies binary, CSV, JSON, or opaquestring

mqttuseridstring, optional

Specifies the user name required to authenticate the connector’s session with the MQTT server.

mqttpasswordstring, optional

Specifies the password associated with mqttuserid

mqttportint, optional

Specifies the MQTT server port. Default is 1883.

mqttacceptretainedmsgboolean, optional

Sets to true to accept to receive retained message. Default is false.

mqttcleansessionboolean, optional

Set to true to instruct the MQTT Server to clean all messages and subscriptions on disconnect, false to instruct it to keep them. Default is true.

mqttkeepaliveintervalint, optional

Specifies the number of seconds after which the broker should send a PING message to the client if no other messages have been exchanged in that time. Default is 10.

publishwithupsertboolean, optional

Builds events with opcode=Upsert instead of Insert

transactionalstring, optional

When mqttmsgtype=CSV, sets the event block type to transactional. The default value is normal.

blocksizeint, optional

When mqttmsgtype=CSV, specifies the number of events to include in a published event block. The default value is 1.

ignorecsvparseerrorsboolean, optional

Specifies that when a field in an input CSV event cannot be parsed, the event is dropped, an error is logged, and publishing continues.

csvfielddelimiterstring, optional

Specifies the character delimiter for field data in input CSV events. The default delimiter is the , character.

noautogenfieldboolean, optional

Specifies that input events are missing the key field that is automatically generated by the Source window.

dateformatstring, optional

Specifies the format of ESP_DATETIME and ESP_TIMESTAMP fields in CSV events. The default behavior is these fields are interpreted as an integer number of seconds (ESP_DATETIME) or microseconds (ESP_TIMESTAMP) since epoch.

protofilestring, optional

Specifies the .proto file that contains the Google Protocol Buffers message definition used to convert event blocks to protobuf messages. When you specify this parameter, you must also specify the protomsg parameter.

protomsgstring, optional

Specifies the name of a Google Protocol Buffers message in the .proto file that you specified with the protofile parameter. Event blocks are converted into this message.

mqttsslboolean, optional

Specifies to use SSL/TLS to connect to the MQTT broker. Default is false. In order to use SSL/TLS, the ESP encryption overlay must be installed.

mqttsslcafilestring, optional

If mqttssl=true, specifies the path to a file containing the PEM encoded trusted CA certificate files. Either mqttsslcafile or mqttsslcapath must be specified.

mqttsslcapathstring, optional

If mqttssl=true, specifies the path to a directory containing the PEM encoded trusted CA certificate files. See mosquitto.conf for more details about configuring this directory. Either mqttsslcafile or mqttsslcapath must be specified.

mqttsslcertfilestring, optional

If mqttssl=true, specifies the path to a file containing the PEM encoded certificate file for this client. Both mqttsslcertfile and mqttsslkeyfile must be provided if one of them is.

mqttsslkeyfilestring, optional

If mqttssl=true, specifies the path to a file containing the PEM encoded private key for this client. Both mqttsslcertfile and mqttsslkeyfile must be provided if one of them is.

mqttsslpasswordstring, optional

If mqttssl=true, and if key file is encrypted, specifies the password for decryption.

addcsvopcodeboolean, optional

Prepends an opcode and comma to input CSV events. The opcode is Insert unless publishwithupsert is enabled.

addcsvflagsstring, optional

Specifies the event type to insert into input CSV events (with a comma). Valid values are “normal” and “partialupdate”.

configfilesectionstring, optional

Specifies the name of the section in the config file to parse for configuration parameters. Specify the value as [configfilesection].

mqttpasswordencryptedboolean, optional

Specifies that mqttpassword is encrypted

maxeventsint, optional

Specifies the maximum number of events to publish.

Returns
MQTTPublisher
__init__(self, mqtthost=None, mqttclientid=None, mqtttopic=None, mqttqos=None, mqttmsgtype=None, name=None, is_active=None, mqttuserid=None, mqttpassword=None, mqttport=None, mqttretainmsg=None, mqttcleansession=None, mqttkeepaliveinterval=None, publishwithupsert=None, transactional=None, blocksize=None, ignorecsvparseerrors=None, csvfielddelimiter=None, noautogenfield=None, dateformat=None, protofile=None, protomsg=None, mqttssl=None, mqttsslcafile=None, mqttsslcapath=None, mqttsslcertfile=None, mqttsslkeyfile=None, mqttsslpassword=None, configfilesection=None, addcsvopcode=None, addcsvflags=None, mqttpasswordencrypted=None, maxevents=None)

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(self[, mqtthost, mqttclientid, …])

Initialize self.

clear(self)

copy(self[, deep])

Return a copy of the object

from_element(data[, session])

Construct connector from XML definition

from_parameters(conncls[, type, name, …])

from_xml(data[, session])

Construct connector from XML definition

get(self, key[, default])

items(self)

keys(self)

pop(self, key[, default])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem(self)

as a 2-tuple; but raise KeyError if D is empty.

set_properties(self, \*\*kwargs)

Set connector properties

setdefault(self, key[, default])

to_element(self)

Export connector definition to ElementTree.Element

to_xml(self[, pretty])

Export connector definition to XML

update(\*args, \*\*kwds)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values(self)

Attributes

connector_key

property_defs