MQTT in SmartHomeNG ab v1.7

Bisher war in SmartHomeNG das eigentliche MQTT Protokoll im mqtt Plugin implementiert.

In SmartHomeNG v1.7 wurde die Unterstützung des eigentlichen MQTT Protokolls in den Core verlagert. Die Implementierung erfolgte als ein ladbares Modul. Es gibt nun ein neues mqtt Plugin, welches die Protokoll Unterstützung des Core nutzt.

Diese Änderung bringt neue Funktionalitäten mit sich:

  • Logiken können das MQTT Protokoll nutzen. Wie das genau geht, ist in der Anwender Dokumentation zu SmartHomeNG beschrieben.
  • Weitere Plugins können das MQTT Protokoll nutzen und darauf aufbauend Payload-Protokolle zu verschiedenen Devices implementieren, ohne das eigentliche MQTT Protokoll selbst implementieren zu müssen. Ein Beispiel hierfür ist das shelly Plugin, welches mit SmartHomeNG v1.7 hinzugekommen ist und die einfache Ansteuerung verschiedener Shelly Devices über MQTT ermöglicht. Details zu diesem Plugin sind in der Anwender Dokumentation zu SmartHomeNG beschrieben.

Konfiguration des MQTT Moduls

Durch die Verlagerung in den Core, ist auch die Konfiguration des MQTT Protokolls an eine andere Stelle gewandert. Die Konfiguration kann über die graphische Oberfläche oder direkt in der entsprechenden Konfigurationsdatei erfolgen:

In der GUI finden sich die Einstellungen unter System/Konfiguration im Tab MQTT Modul:

MQTT Konfiguration

 

Damit die Konfiguration wirksam wird und das MQTT Modul beim Restart von SmartHomeNG geladen wird, muss der Parameter enabled auf true gesetzt werden.

Alternativ kann die Konfiguration direkt in der Datei ../etc/module.yaml erfolgen. In der Datei muss ein Abschnitt mqtt: angelegt werden, der einen Eintrag module_name: mqtt enthält. In diesem Abschnitt können dann die Parameter konfiguriert werden.

Beispiel:


mqtt:
    module_name: mqtt
    # broker_host: smarthomeng.local
    broker_monitoring: true
    # qos: 1
    # acl: ''
    last_will_topic: devices/shng-module/$online
    last_will_payload: 'False'
    birth_topic: devices/shng-module/$online
    birth_payload: 'True'
    # bool_values: ['Falsch', 'Wahr']
    # user: user
    # password: geheim

 

Konfiguration des MQTT Plugins

Die Funktionalität, die das MQTT Plugin zur Verfügung stellte, gibt es weiterhin. Das MQTT Plugin ist entsprechend angepasst worden und nutzt zur Kommunikation jetzt die MQTT Unterstützung des Core. Das Plugin hat jedoch keine Parameter mehr, die konfiguriert werden müssten. Die Item Attribute (mqtt_topic, mqtt_topic_in, mqtt_topic_out, etc.) sind unverändert erhalten geblieben.

Eine Konfiguration des mqtt Plugins in der Plugin Konfigurationsdatei ../etc/plugin.yaml sieht folgendermaßen aus:


mqtt:
    plugin_name: mqtt

Kategorien: Plugins

0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.