Kannst benennen wie du willst. Ich mach das nach der Hierarchie der Items, zB duw/status/temperatur
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues MQTT Plugin
Einklappen
X
-
Zur shng Steuerung vom esp32 nutze ich das mqtt plugin. Bei items mit dem Datentyp: num und bool funktioniert das auch sehr gut.
Verwende ich es f. Szenen, werden alle integer Werte als false interpretiert. Offensichtlich wird der Datentyp f. Szenen nicht richtig interpretiert.
Jetzt habe ich gesehen, dass für Szenen das
Code:subscribe_topic()
1. muss ich das dafür nutzen?
2. kann ich das auch in item Definitionen nutzen?
Oder was mache ich falsch?
item mit Scenen Definition
Code:# Wohnung.OG.Hobby.PCRGBWScene Hobby: PCRGBWScene: name: PC RGBW type: scene knx_dpt: 5 knx_listen: 11/0/6 knx_send: 11/0/6 mqtt_topic_in: Hobby/RGBPC mqtt_topic_out: Hobby/RGBPC
Andreas
Kommentar
-
Ich habe den Zugriff auf die KNX Szenen mit einem Hilfs-item umgesetzt.
Code:# Wohnung.OG.Hobby.PCRGBWScene Hobby: PCRGBWScene: name: PC RGBW type: scene knx_dpt: 5 knx_listen: 11/0/6 knx_send: 11/0/6 mqtt_in: type: num mqtt_topic_in: Hobby/RGBPC/in on_change: .. = value mqtt_out: type: num mqtt_topic_out: Hobby/RGBPC/out eval_trigger: .. eval: sh...()
Kommentar
-
Zitat von Onkelandy Beitrag anzeigenIst das der richtige Thread?
Kannst Du es in den Tasmota Support Thread verschieben?
DANKE
Kommentar
-
Hallo,
ich bin gerade dabei mein System von 1.6.1 auf die 1.8.1 umzubauen.
Zur Zeit nutze ich zwei MQTT Broker. Einen lokalen und den von TTN für Loran.
Beim MQTT plugin habe ich das mit verschiedenen Instanzen gemacht.
mqtt_topic_in@ttn: '/...'
mqtt_topic_in@local: '/...'
Wie ist das beim MQTT Modul? Gibt es da noch eine Multiinstanz Möglichkeit?
Im Quelltext des Moduls habe ich nur diesen. Hinweis gefunden:
PHP-Code:
# ONLY used for multiinstance handling of plugins?
# # needed because self.set_attr_value() can only set but not add attributes
# self.at_instance_name = self.get_instance_name()
# if self.at_instance_name != '':
# self.at_instance_name = '@' + self.at_instance_name
Kommentar
-
Das Modul ersetzt ja nicht das Plugin, sondern zentralisiert nur das MQTT Handling, damit mehrere Plugins (mqtt, shelly, tasmota) das eigentliche MQTT Protokoll nutzen können. Da MQTT Devices normalerweise nur mit einem MQTT Broker sprechen (können), ist das auch im MQTT Modul entsprechende implementiert. Normalerweise konfiguriert man bei Einsatz mehrerer Broker die Broker so, dass sie sich miteinander verbinden und bei Bedarf die MQTT Messages an den anderen Broker weiter geben.
Wenn Du bisher mehrere Instanzen des mqtt Plugins konfiguriert hast und die Broker nicht so konfigurieren willst, dass sie sich miteinander unterhalten, kannst Du auch wie bisher die alte Version des mqtt Plugins (die als 'deprecated' gekennzeichnet ist) mit mehreren Instanzen nutzen, und auf den Einsatz des MMQTT Moduls verzichten. Das alte mqtt Plugin wird jedoch nicht mehr weiter entwickelt. Es wird dort also auch in Zukunft keine Unterstützung für die MQTT Protokoll Version 5 geben.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
Ich nutze das sehr häufig: zigbee2mqtt, vlx2mqtt, octoprint, Loran, EMS-ESP, Miflora, etc.
Wenn ich das richtig verstehe, bräuchte man jetzt jeweils eigene Plugins die dann das MQTT Modul nutzen....
Die Zentralisierung des MQTT Handlings kann ich verstehen. Es ist nur schade das das sehr generische und flexible MQTT Plugin entfallen soll.
Kommentar
-
Nein wieso?
Du bräuchtest nur mehrere Instanzen wenn Du mehrere Broker einsetzt, was nur in extrem umfangreichen Installationen (hunderte bis tausende von MQTT Devices, Verteilung über WAN Verbindungen, …) sinnvoll ist. Wozu willst Du denn mehrer Broker nutzen? Für die von Dir beschriebenen Komponenten brauchst Du erstmal nur einem Broker.Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
Habe ich wohl ungeschickt zu viele Informationen verwurschtelt. Sind zwei getrennte Topics...
- Anzahl der Broker ist (jetzt) klar. Ich nutze einen externen Broker (eu.thethings.network) für LoraWAN. War schnell mit Multiinstanz eingerichtet und die Doku für die MQTT Bridge war vor 2-3 Jahren nicht so ergiebig. Habe eine Beispiel für die mosquitto.conf gefunden und muss es nur mal testen. --> geklärt
- Mir war/ist nicht ganz klar was Du mit " ... alte Version des mqtt Plugins (die als 'deprecated' gekennzeichnet ist) ..." meinst.
Ich nutze gerade die Version 1.8.2. Wenn ich das richtige verstehe oder die Fehlermeldung richtig deute nutzt das MQTT Plugin das neue MQTT Modul.
Zumindest startet das Plugin ohne das aktive Modul nicht. Meine Config habe ich mal angehängt.
Um die MQTT Topics IN/OUT mit einem Item zu verknüpfen braucht es eine eigenes Plugin (Tasmota, etc.) oder das MQTT plugin.
Ich nutze zur Zeit nur das MQTT Plugin. Wenn das wegfallen würde (weil 'deprecated') müsste ich mr dafür was einfallen lassen.
HTML-Code:SmartHomeNG Version: 1.8.2.master (0f462a1e) in /usr/local/smarthome (heads/master) SmartHomeNG Plugins Version: 1.8.2.master (9afce4cd) in /usr/local/smarthome/plugins (tags/v1.8.2)
HTML-Code:%YAML 1.1 --- # etc/module.yaml http: module_name: http starturl: admin admin: module_name: admin websocket: module_name: websocket # ip: 0.0.0.0 # port: 2424 # tls_port: 2425 # use_tls: True # tls_cert: shng.cer # tls_key: shng.key mqtt: module_name: mqtt broker_monitoring: true
HTML-Code:... mqtt_local: plugin_name: mqtt broker_monitoring: true ...
HTML-Code:Mqtt: miflora: Schlafzimmer: type: dict mqtt_topic_in: 'miflora/Schlafzimmer' visu_acl: ro webservices_set: - miflora - knxweb webservices_data: full on_change: - .moisture = value['moisture'] - .light = value['light'] - .temperatur = value['temperature'] - .battery = value['battery'] - .conductivity = value['conductivity'] moisture: type: num database@mysqldb: init enforce_updates : true ....
Kommentar
-
Zitat von jaykay Beitrag anzeigenMir war/ist nicht ganz klar was Du mit " ... alte Version des mqtt Plugins (die als 'deprecated' gekennzeichnet ist) ..
Es reicht, wenn Du das das MQTT Modul konfigurierst und das aktuelle mqtt Plugin nimmst und (wie bei Dir in v1.6) davon mehrere Instances konfigurierst.Zuletzt geändert von Msinn; 29.06.2021, 20:59.Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
Kommentar