PySide6.QtMqtt.QMqttClient¶
- class QMqttClient¶
- The - QMqttClientclass represents the central access communicating with an MQTT broker. More…- Synopsis¶- Properties¶- autoKeepAliveᅟ- This property holds whether the client will automatically manage keep alive messages to the server
- cleanSessionᅟ- This property holds the state after connecting to a broker
- clientIdᅟ- This property holds the client’s identifier value
- errorᅟ- Specifies the current error of the client
- hostnameᅟ- This property holds the hostname of the MQTT broker to connect to
- keepAliveᅟ- This property holds the interval at which regular ping messages are sent to the broker
- passwordᅟ- This property holds the password for connecting to a broker
- portᅟ- This property holds the port to connect to the MQTT broker
- protocolVersionᅟ- This property holds the MQTT standard version to use for connections
- stateᅟ- This property holds the current state of the client
- usernameᅟ- This property holds the user name for connecting to a broker
- willMessageᅟ- This property holds the payload of a Will Message
- willQoSᅟ- This property holds the level of QoS for sending and storing the Will Message
- willRetainᅟ- This property holds whether the Will Message should be retained on the broker for future subscribers to receive
- willTopicᅟ- This property holds the Will Topic
 - Methods¶- def - __init__()
- def - authenticate()
- def - autoKeepAlive()
- def - cleanSession()
- def - clientId()
- def - connectToHost()
- def - error()
- def - hostname()
- def - keepAlive()
- def - password()
- def - port()
- def - publish()
- def - requestPing()
- def - setTransport()
- def - state()
- def - subscribe()
- def - transport()
- def - unsubscribe()
- def - username()
- def - willMessage()
- def - willQoS()
- def - willRetain()
- def - willTopic()
 - Slots¶
- def - setClientId()
- def - setError()
- def - setHostname()
- def - setKeepAlive()
- def - setPassword()
- def - setPort()
- def - setState()
- def - setUsername()
- def - setWillMessage()
- def - setWillQoS()
- def - setWillRetain()
- def - setWillTopic()
 - Signals¶
- def - connected()
- def - disconnected()
- def - errorChanged()
- def - messageSent()
- def - portChanged()
- def - stateChanged()
- def - willQoSChanged()
 - Note - This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE - Detailed Description¶- An MQTT client is a program or device that uses MQTT to create a network connection to an MQTT server, also called a broker. The connection request must contain a unique client identifier. Optionally, it can contain a Will Topic, Will Message, user name, and password. - Once a connection is created, a client can send messages that other clients might be interested in receiving, subscribe to request notifications on topics, unsubscribe to remove a request for notifications, and disconnect from the broker. - class TransportType¶
- This enum type specifies the connection method to be used to instantiate a connection to a broker. - Constant - Description - QMqttClient.IODevice - The transport uses a class based on a QIODevice. - QMqttClient.AbstractSocket - The transport uses a class based on a QAbstractSocket. - QMqttClient.SecureSocket - The transport uses a class based on a QSslSocket. 
 - class ClientState¶
- This enum type specifies the states a client can enter. - Constant - Description - QMqttClient.Disconnected - The client is disconnected from the broker. - QMqttClient.Connecting - A connection request has been made, but the broker has not approved the connection yet. - QMqttClient.Connected - The client is connected to the broker. 
 - class ClientError¶
- This enum type specifies the error state of a client. - Constant - Description - QMqttClient.NoError - No error occurred. - QMqttClient.InvalidProtocolVersion - The broker does not accept a connection using the specified protocol version. - QMqttClient.IdRejected - The client ID is malformed. This might be related to its length. - QMqttClient.ServerUnavailable - The network connection has been established, but the service is unavailable on the broker side. - QMqttClient.BadUsernameOrPassword - The data in the username or password is malformed. - QMqttClient.NotAuthorized - The client is not authorized to connect. - QMqttClient.TransportInvalid - The underlying transport caused an error. For example, the connection might have been interrupted unexpectedly. - QMqttClient.ProtocolViolation - The client encountered a protocol violation, and therefore closed the connection. - QMqttClient.UnknownError - An unknown error occurred. - QMqttClient.Mqtt5SpecificError - The error is related to MQTT protocol level 5. A reason code might provide more details. 
 - class ProtocolVersion¶
- This enum specifies the protocol version of the MQTT standard to use during communication with a broker. - Constant - Description - QMqttClient.MQTT_3_1 - MQTT Standard 3.1 - QMqttClient.MQTT_3_1_1 - MQTT Standard 3.1.1, publicly referred to as version 4 - QMqttClient.MQTT_5_0 - MQTT Standard 5.0 
 - Note - Properties can be used directly when - from __feature__ import true_propertyis used or via accessor functions otherwise.- property autoKeepAliveᅟ: bool¶
 - This property holds This property holds whether the client will automatically manage keep alive messages to the server.. - If this property is - true, then the client will automatically send a ping message to the server at the- keepAliveinterval.- Otherwise, a user will have to manually invoke - requestPingwithin the specified interval of the connection. If no ping has been sent within the interval, the server will disconnect.- The default of this property is - true.- Access functions:
 - property cleanSessionᅟ: bool¶
 - This property holds This property holds the state after connecting to a broker.. - Access functions:
 - property clientIdᅟ: str¶
 - This property holds This property holds the client’s identifier value.. - Each client needs to have a unique ID to be able to connect to an MQTT broker. If no client ID is specified by the user, one will be generated automatically when a connection is established. - Access functions:
 - property errorᅟ: QMqttClient.ClientError¶
 - This property Specifies the current error of the client.. - Access functions:
- Signal - errorChanged()
 
 - property hostnameᅟ: str¶
 - This property holds This property holds the hostname of the MQTT broker to connect to.. - If no transport is specified via - setTransport(), the client will instantiate a socket connection to the specified hostname itself.- Access functions:
 - property keepAliveᅟ: int¶
 - This property holds This property holds the interval at which regular ping messages are sent to the broker.. - Once a connection to a broker is established, the client needs to send frequent updates to propagate it can still be reached. The interval between those updates is specified by this property. - The interval is specified in seconds. - If the broker does not respond within a grace period the connection will be closed. - Access functions:
 - property passwordᅟ: str¶
 - This property holds This property holds the password for connecting to a broker.. - Access functions:
 - property portᅟ: int¶
 - This property holds This property holds the port to connect to the MQTT broker.. - If no transport is specified via - setTransport(), the client will instantiate a socket connection to a host with this port number.- Access functions:
- Signal - portChanged()
 
 - property protocolVersionᅟ: QMqttClient.ProtocolVersion¶
 - This property holds This property holds the MQTT standard version to use for connections.. - Specifies the version of the standard the client uses for connecting to a broker. Valid values are: - 3: MQTT standard version 3.1. 
- 4: MQTT standard version 3.1.1, often referred to MQTT 4. 
- 5: MQTT Standard 5.0. 
 - Access functions:
 - property stateᅟ: QMqttClient.ClientState¶
 - This property holds This property holds the current state of the client.. - Access functions:
- Signal - stateChanged()
 
 - property usernameᅟ: str¶
 - This property holds This property holds the user name for connecting to a broker.. - Access functions:
 - property willMessageᅟ: QByteArray¶
 - This property holds This property holds the payload of a Will Message.. - Access functions:
 - property willQoSᅟ: int¶
 - This property holds This property holds the level of QoS for sending and storing the Will Message.. - Access functions:
 - property willRetainᅟ: bool¶
 - This property holds This property holds whether the Will Message should be retained on the broker for future subscribers to receive.. - Access functions:
 - property willTopicᅟ: str¶
 - This property holds This property holds the Will Topic.. - Access functions:
 - Creates a new MQTT client instance with the specified - parent.- authenticate(prop)¶
- Parameters:
 
 - Sends an authentication request to the broker. - propspecifies the required information to fulfill the authentication request.- This function should only be called after a - authenticationRequestedsignal has been emitted.- Note - Extended authentication is part of the MQTT 5.0 standard and can only be used when the client specifies - MQTT_5_0as- ProtocolVersion.- authenticationFinished(p)¶
- Parameters:
 
 - This signal is emitted after extended authentication has finished. - pspecifies available details on the authentication process.- After successful authentication - connectedis emitted.- Note - Extended authentication is part of the MQTT 5.0 standard and can only be used when the client specifies - MQTT_5_0as- ProtocolVersion.- See also - authenticationRequested(p)¶
- Parameters:
 
 - This signal is emitted after a client invoked - connectToHostor- connectToHostEncryptedand before the connection is established. In extended authentication, a broker might request additional details which need to be provided by invoking- authenticate.- pspecifies properties provided by the broker.- Note - Extended authentication is part of the MQTT 5.0 standard and can only be used when the client specifies - MQTT_5_0as- ProtocolVersion.- See also - autoKeepAlive()¶
- Return type:
- bool 
 - See also 
 - Getter of property - autoKeepAliveᅟ.- autoKeepAliveChanged(autoKeepAlive)¶
- Parameters:
- autoKeepAlive – bool 
 
 - Notification signal of property - autoKeepAliveᅟ.- brokerSessionRestored()¶
 - This signal is emitted after a client has successfully connected to a broker with the - cleanSessionproperty set to- false, and the broker has restored the session.- Sessions can be restored if a client has connected previously using the same - clientId.- cleanSession()¶
- Return type:
- bool 
 - See also 
 - Getter of property - cleanSessionᅟ.- cleanSessionChanged(cleanSession)¶
- Parameters:
- cleanSession – bool 
 
 - Notification signal of property - cleanSessionᅟ.- clientId()¶
- Return type:
- str 
 - See also 
 - Getter of property - clientIdᅟ.- clientIdChanged(clientId)¶
- Parameters:
- clientId – str 
 
 - Notification signal of property - clientIdᅟ.- connectToHost()¶
 - Initiates a connection to the MQTT broker. - connectToHostEncrypted(conf)¶
- Parameters:
- conf – - QSslConfiguration
 
 - Initiates an encrypted connection to the MQTT broker. - confspecifies the SSL configuration to be used for the connection- connected()¶
 - This signal is emitted when a connection has been established. - connectionProperties()¶
- Return type:
 
 - Returns the connection properties the client requests to the broker. - Note - QMqttConnectionPropertiescan only be used when the client specifies- MQTT_5_0as- ProtocolVersion.- See also - disconnectFromHost()¶
 - Disconnects from the MQTT broker. - disconnected()¶
 - This signal is emitted when a connection has been closed. A connection may be closed when - disconnectFromHost()is called or when the broker disconnects.- error()¶
- Return type:
 - See also 
 - Getter of property - errorᅟ.- errorChanged(error)¶
- Parameters:
- error – - ClientError
 
 - Notification signal of property - errorᅟ.- hostname()¶
- Return type:
- str 
 - See also 
 - Getter of property - hostnameᅟ.- hostnameChanged(hostname)¶
- Parameters:
- hostname – str 
 
 - Notification signal of property - hostnameᅟ.- keepAlive()¶
- Return type:
- int 
 - See also 
 - Getter of property - keepAliveᅟ.- keepAliveChanged(keepAlive)¶
- Parameters:
- keepAlive – int 
 
 - Notification signal of property - keepAliveᅟ.- lastWillProperties()¶
- Return type:
 
 - Returns the last will properties. - Note - QMqttLastWillPropertiescan only be used when the client specifies- MQTT_5_0as- ProtocolVersion.- See also - messageReceived(message[, topic=QMqttTopicName()])¶
- Parameters:
- message – - QByteArray
- topic – - QMqttTopicName
 
 
 - This signal is emitted when a new message has been received. The category of the message is specified by - topicwith the content being- message.- messageSent(id)¶
- Parameters:
- id – int 
 
 - Indicates that a message that was sent via the - publish()function has been received by the broker. The- idis the same as returned by- publish()to help tracking the status of the message.- messageStatusChanged(id, s, properties)¶
- Parameters:
- id – int 
- s – - MessageStatus
- properties – - QMqttMessageStatusProperties
 
 
 - This signal is emitted when the status for the message identified by - idchanges.- sspecifies the new status of the message, and- propertiesspecify additional properties provided by the server.- password()¶
- Return type:
- str 
 - See also 
 - Getter of property - passwordᅟ.- passwordChanged(password)¶
- Parameters:
- password – str 
 
 - Notification signal of property - passwordᅟ.- pingResponseReceived()¶
 - This signal is emitted after the broker responds to a - requestPing()call or a- keepAlive()ping message, and the connection is still valid.- Getter of property - portᅟ.- portChanged(port)¶
- Parameters:
- port – int 
 
 - Notification signal of property - portᅟ.- protocolVersion()¶
- Return type:
 - See also 
 - Getter of property - protocolVersionᅟ.- protocolVersionChanged(protocolVersion)¶
- Parameters:
- protocolVersion – - ProtocolVersion
 
 - Notification signal of property - protocolVersionᅟ.- publish(topic[, message=QByteArray()[, qos=0[, retain=false]]])¶
- Parameters:
- topic – - QMqttTopicName
- message – - QByteArray
- qos – int 
- retain – bool 
 
- Return type:
- int 
 
 - Publishes a - messageto the broker with the specified- topic.- qosspecifies the QoS level required for transferring the message.- If - retainis set to- true, the message will stay on the broker for other clients to connect and receive the message.- Returns an ID that is used internally to identify the message. - publish(topic, properties[, message=QByteArray()[, qos=0[, retain=false]]])
- Parameters:
- topic – - QMqttTopicName
- properties – - QMqttPublishProperties
- message – - QByteArray
- qos – int 
- retain – bool 
 
- Return type:
- int 
 
 - Publishes a - messageto the broker with the specified- propertiesand- topic.- qosspecifies the QoS level required for transferring the message.- If - retainis set to- true, the message will stay on the broker for other clients to connect and receive the message.- Returns an ID that is used internally to identify the message. - Note - propertieswill only be passed to the broker when the client specifies- MQTT_5_0as- ProtocolVersion.- requestPing()¶
- Return type:
- bool 
 
 - Sends a ping message to the broker and expects a reply. - If the connection is active and - autoKeepAliveis- true, then calling this function will fail as the client is responsible for managing this process.- Using - requestPing()manually requires a call every time within the- keepAliveinterval as long as the connection is active.- To check whether the ping is successful, connect to the - pingResponseReceived()signal.- Returns - trueif the ping request could be sent.- serverConnectionProperties()¶
- Return type:
 
 - Returns the - QMqttServerConnectionPropertiesthe broker returned after a connection attempt.- This can be used to verify that client side connection properties set by - setConnectionPropertieshave been accepted by the broker. Also, in case of a failed connection attempt, it can be used for connection diagnostics.- Note - QMqttServerConnectionPropertiescan only be used when the client specifies- MQTT_5_0as- ProtocolVersion.- See also - setAutoKeepAlive(autoKeepAlive)¶
- Parameters:
- autoKeepAlive – bool 
 - See also 
 - Setter of property - autoKeepAliveᅟ.- setCleanSession(cleanSession)¶
- Parameters:
- cleanSession – bool 
 - See also 
 - Setter of property - cleanSessionᅟ.- setClientId(clientId)¶
- Parameters:
- clientId – str 
 - See also 
 - Setter of property - clientIdᅟ.- setConnectionProperties(prop)¶
- Parameters:
- prop – - QMqttConnectionProperties
 
 - Sets the connection properties to - prop.- QMqttConnectionPropertiescan be used to ask the server to use a specific feature set. After a connection request the server response can be obtained by calling- serverConnectionProperties.- Note - The connection properties can only be set if the MQTT client is in the - Disconnectedstate.- Note - QMqttConnectionPropertiescan only be used when the client specifies- MQTT_5_0as- ProtocolVersion.- See also - setError(error)¶
- Parameters:
- error – - ClientError
 - See also 
 - Setter of property - errorᅟ.- setHostname(hostname)¶
- Parameters:
- hostname – str 
 - See also 
 - Setter of property - hostnameᅟ.- setKeepAlive(keepAlive)¶
- Parameters:
- keepAlive – int 
 - See also 
 - Setter of property - keepAliveᅟ.- setLastWillProperties(prop)¶
- Parameters:
- prop – - QMqttLastWillProperties
 
 - Sets the last will properties to - prop.- QMqttLastWillPropertiesallows to set additional features for the last will message stored at the broker.- Note - The connection properties can only be set if the MQTT client is in the - Disconnectedstate.- Note - QMqttLastWillPropertiescan only be used when the client specifies- MQTT_5_0as- ProtocolVersion.- See also - setPassword(password)¶
- Parameters:
- password – str 
 - See also 
 - Setter of property - passwordᅟ.- Setter of property - portᅟ.- setProtocolVersion(protocolVersion)¶
- Parameters:
- protocolVersion – - ProtocolVersion
 - See also 
 - Setter of property - protocolVersionᅟ.- setState(state)¶
- Parameters:
- state – - ClientState
 - See also 
 - Setter of property - stateᅟ.- setTransport(device, transport)¶
- Parameters:
- device – - QIODevice
- transport – - TransportType
 
 
 - Sets the transport to - device. A transport can be either a socket type or derived from QIODevice and is specified by- transport.- Note - The transport can only be exchanged if the MQTT client is in the - Disconnectedstate.- Note - Setting a custom transport for a client does not pass over responsibility on connection management. The transport has to be opened for QIODevice based transports or connected for socket type transports before calling - connectToHost().- See also - setUsername(username)¶
- Parameters:
- username – str 
 - See also 
 - Setter of property - usernameᅟ.- setWillMessage(willMessage)¶
- Parameters:
- willMessage – - QByteArray
 - See also 
 - Setter of property - willMessageᅟ.- Setter of property - willQoSᅟ.- setWillRetain(willRetain)¶
- Parameters:
- willRetain – bool 
 - See also 
 - Setter of property - willRetainᅟ.- setWillTopic(willTopic)¶
- Parameters:
- willTopic – str 
 - See also 
 - Setter of property - willTopicᅟ.- state()¶
- Return type:
 - See also 
 - Getter of property - stateᅟ.- stateChanged(state)¶
- Parameters:
- state – - ClientState
 
 - Notification signal of property - stateᅟ.- subscribe(topic[, qos=0])¶
- Parameters:
- topic – - QMqttTopicFilter
- qos – int 
 
- Return type:
 
 - Adds a new subscription to receive notifications on - topic. The parameter- qosspecifies the level at which security messages are received. For more information about the available QoS levels, see Quality of Service .- This function returns a pointer to a - QMqttSubscription. If the same topic is subscribed twice, the return value points to the same subscription instance. The MQTT client is the owner of the subscription.- subscribe(topic, properties[, qos=0])
- Parameters:
- topic – - QMqttTopicFilter
- properties – - QMqttSubscriptionProperties
- qos – int 
 
- Return type:
 
 - Adds a new subscription to receive notifications on - topic. The parameter- propertiesspecifies additional subscription properties to be validated by the broker. The parameter- qosspecifies the level at which security messages are received. For more information about the available QoS levels, see Quality of Service .- This function returns a pointer to a - QMqttSubscription. If the same topic is subscribed twice, the return value points to the same subscription instance. The MQTT client is the owner of the subscription.- Note - propertieswill only be passed to the broker when the client specifies- MQTT_5_0as- ProtocolVersion.- Returns the transport used for communication with the broker. - See also - unsubscribe(topic)¶
- Parameters:
- topic – - QMqttTopicFilter
 
 - Unsubscribes from - topic. No notifications will be sent to any of the subscriptions made by calling- subscribe().- Note - If a client disconnects from a broker without unsubscribing, the broker will store all messages and publish them on the next reconnect. - unsubscribe(topic, properties)
- Parameters:
- topic – - QMqttTopicFilter
- properties – - QMqttUnsubscriptionProperties
 
 
 - Unsubscribes from - topic. No notifications will be sent to any of the subscriptions made by calling- subscribe().- propertiesspecifies additional user properties to be passed to the broker.- Note - If a client disconnects from a broker without unsubscribing, the broker will store all messages and publish them on the next reconnect. - Note - propertieswill only be passed to the broker when the client specifies- MQTT_5_0as- ProtocolVersion.- username()¶
- Return type:
- str 
 - See also 
 - Getter of property - usernameᅟ.- usernameChanged(username)¶
- Parameters:
- username – str 
 
 - Notification signal of property - usernameᅟ.- willMessage()¶
- Return type:
 - See also 
 - Getter of property - willMessageᅟ.- willMessageChanged(willMessage)¶
- Parameters:
- willMessage – - QByteArray
 
 - Notification signal of property - willMessageᅟ.- willQoS()¶
- Return type:
- int 
 - See also 
 - Getter of property - willQoSᅟ.- willQoSChanged(willQoS)¶
- Parameters:
- willQoS – int 
 
 - Notification signal of property - willQoSᅟ.- willRetain()¶
- Return type:
- bool 
 - See also 
 - Getter of property - willRetainᅟ.- willRetainChanged(willRetain)¶
- Parameters:
- willRetain – bool 
 
 - Notification signal of property - willRetainᅟ.- willTopic()¶
- Return type:
- str 
 - See also 
 - Getter of property - willTopicᅟ.- willTopicChanged(willTopic)¶
- Parameters:
- willTopic – str 
 
 - Notification signal of property - willTopicᅟ.