A list of API calls and information specific to the MQTT plugin.
To create apps based on just the MQTT API, use some code like the following:
import mqttapi as mqtt
class MyApp(mqtt.Mqtt):
def initialize(self):The MQTT Plugin uses the inherited call_service() helper function the AppDaemon API,
to carry out service calls from within an AppDaemon app. See the documentation of this
function here
for a detailed description.
The function call_service() allows the app to carry out one of the following services:
mqtt/publishmqtt/subscribemqtt/unsubscribe
By simply specifying within the function what is to be done. It uses configuration specified
in the plugin configuration which simplifies the call within the app significantly. Different
brokers can be accessed within an App, as long as they are all declared when the plugins are
configured, and using the namespace parameter. See the section on namespaces
for a detailed description.
# if wanting to publish data to a broker
self.call_service("mqtt/publish", topic = "homeassistant/bedroom/light", payload = "ON")
# if wanting to unsubscribe a topic from a broker in a different namespace
self.call_service("mqtt/unsubscribe", topic = "homeassistant/bedroom/light", namespace = "mqtt2")The MQTT API also provides 3 convenience functions to make calling of specific functions easier and more readable. These are documented in the following section.
.. autofunction:: appdaemon.plugins.mqtt.mqttapi.Mqtt.mqtt_subscribe
.. autofunction:: appdaemon.plugins.mqtt.mqttapi.Mqtt.mqtt_unsubscribe
.. autofunction:: appdaemon.plugins.mqtt.mqttapi.Mqtt.mqtt_publish
.. autofunction:: appdaemon.plugins.mqtt.mqttapi.Mqtt.is_client_connected
.. autofunction:: appdaemon.plugins.mqtt.mqttapi.Mqtt.listen_event
Developers can get the MQTT configuration data (i.e., client_id or username) using the
helper function get_plugin_config() inherited from the AppDaemon API. See the
documentation of this function here
for a detailed description.
Read the AppDaemon API Reference to learn other inherited helper functions that can be used by Hass applications.