diff --git a/src/MQTTLibrary/MQTTKeywords.py b/src/MQTTLibrary/MQTTKeywords.py index 63934b5..6bb46a8 100644 --- a/src/MQTTLibrary/MQTTKeywords.py +++ b/src/MQTTLibrary/MQTTKeywords.py @@ -41,7 +41,7 @@ def set_username_and_password(self, username, password=None): self._username = username self._password = password - def connect(self, broker, port=1883, client_id="", clean_session=True): + def connect(self, broker, port=1883, client_id="", clean_session=True, transport="tcp"): """ Connect to an MQTT broker. This is a pre-requisite step for publish and subscribe keywords. @@ -53,6 +53,8 @@ def connect(self, broker, port=1883, client_id="", clean_session=True): `clean_session` specifies the clean session flag for the connection + `tranport` use "websockets" to send MQTT over WebSockets, leave at the default of "tcp" to use raw TCP + Examples: Connect to a broker with default port and client id @@ -64,11 +66,14 @@ def connect(self, broker, port=1883, client_id="", clean_session=True): Connect to a broker with clean session flag set to false | Connect | 127.0.0.1 | clean_session=${false} | + Connect to a broker using websockets + | Connect | 127.0.0.1 | transport=websockets + """ logger.info('Connecting to %s at port %s' % (broker, port)) self._connected = False self._unexpected_disconnect = False - self._mqttc = mqtt.Client(client_id, clean_session) + self._mqttc = mqtt.Client(client_id, clean_session, transport=transport) # set callbacks self._mqttc.on_connect = self._on_connect