Modul-Vorstellung: MQTT_GENERIC_BRIDGE

Begonnen von hexenmeister, 31 August 2018, 20:53:56

Vorheriges Thema - Nächstes Thema

hexenmeister

Problem verstanden. Ich lasse mir was einfallen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

SamNitro

Zitat von: hexenmeister am 28 September 2018, 22:08:39
Problem verstanden. Ich lasse mir was einfallen.

Du bist mega ;)
Hatte schon "angst" es nicht gut genug zu erklären :D


Schade ist das ich kein Test-System habe und bei mir gerade alles sehr gut läuft.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

hexenmeister

Habe nicht bedacht, dass zwar an einer Stelle lieber nicht weitergesendet werden soll, an der Aktor-Seite ist jedoch genau das notwendig. Ich überlege nur, wie ich das konfigurierbar machen kann. Automatische Erkennung wird vermutlich nicht einfach.

Testsysteme sind beim Einsatz von Entwicklungsversionen sehr von Vorteil. Ich habe mittlerweile mehrere ;D
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

SamNitro

Zitat von: hexenmeister am 28 September 2018, 22:19:14
Testsysteme sind beim Einsatz von Entwicklungsversionen sehr von Vorteil. Ich habe mittlerweile mehrere ;D

Ja das stimmt, aber wie gesagt momentan habe ich viele andere Sachen im Kopf.. damit das haus FHEM kompatibel ist :D


Kann man hier evtl einen weiteren Topic dafür nehmen? (einer gibt weiter der andere nicht)
atopic
stopic
topic
xytopic
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

hexenmeister

Ja, so in dem Dreh hatte ich schon gedacht. Es gibt sogar schon ein (undokumentiertes) Subscribe-Topic, der weitertriggert, allerdings nur für topic, nicht für stopic. Derzeit überlege ich, ob es mehr Sinn macht, einen zusätzlichen Flag beim publish einzuführen. So was wie 'attr xyz mqttPublish state:topic=whatever *:forward-on-receive=true'.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

SamNitro

Das musst letztendlich du entscheiden was einfacher ist umzusetzen. Ich weiß nur nicht ob ein zusätzliches Flag zu unübersichtlich wird.

ftopic wäre noch frei  ;D
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

choetzu

Darf man sich kurz einmischen? ;) ich habe mit Mqtt noch keine Berührungspunkte gehabt. Hab mich heute aber eingelesen. Nun möchte ich meine 2 Fhem Instanzen mit deinem Modul nutzen. Ich habe auf meinen beiden Raspi3 bereits mosquitto installiert. In deinem Wiki finde ich zur Verbindung zweier Instanzen kkeine Beschreibung. Hier in deinem thread hast du dies aber erwähnt.


  • muss auf beiden instanzen dein Modul laufen?
  • wenn ja, dann kann nur eine von den beiden das IoDev sein, oder

Danke.
Raspi3, EnOcean, Zwave, Homematic

hexenmeister

Zitat von: SamNitro am 28 September 2018, 22:44:51
Das musst letztendlich du entscheiden was einfacher ist umzusetzen. Ich weiß nur nicht ob ein zusätzliches Flag zu unübersichtlich wird.

ftopic wäre noch frei  ;D

Ich denke, ich weiß mittlerweile, wie ich das machen werde, muss natürlich noch umgesetzt werden. Bis dahin habe ich einen kleinen QuickFix, damit die selbe Version bei Dir und auch für mich funktioniert. :)

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: choetzu am 30 September 2018, 22:38:53
Darf man sich kurz einmischen? ;) ich habe mit Mqtt noch keine Berührungspunkte gehabt. Hab mich heute aber eingelesen. Nun möchte ich meine 2 Fhem Instanzen mit deinem Modul nutzen. Ich habe auf meinen beiden Raspi3 bereits mosquitto installiert. In deinem Wiki finde ich zur Verbindung zweier Instanzen kkeine Beschreibung. Hier in deinem thread hast du dies aber erwähnt.


  • muss auf beiden instanzen dein Modul laufen?
  • wenn ja, dann kann nur eine von den beiden das IoDev sein, oder

Danke.

Mosquitto benötigst Du nur einmal. Als IODev brauchst du MQTT an beiden Seiten, jeweils (die gleiche!) IP des mosquitto-Server anzugeben.
Die GenericBridge brauchst Du natürlich auch auf beien Seiten, mit der MQTT-Instanz als IODev.

Jetzt ist die große Frage, was Du unter 'zwei Instanzen verbinden' vorstellst. Automatisch wird da nichts synchrinisiert, Du musst entscheiden, was geschehen soll und entsprechend definieren.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

choetzu

guten Morgen, herzlichen Dank für deine Antwort.

Mein Vorhaben. Genau so wie du will ich meine zwei Instanzen insofern von einander trennen, dass auf dem einen die Aktoren, Sensoren und zu schaltenden Devices sind und auf dem anderem der Rest sowie die Logik. Zudem will ich einige Reading via notify vom einen zum anderen übertragen

Ich will also Befehle und Reading hin und her "schiessen". Für das ist doch MQTT geeignet, oder?

lg c
Raspi3, EnOcean, Zwave, Homematic

Billy

Zitat von: choetzu am 01 Oktober 2018, 06:37:17
Mein Vorhaben. Genau so wie du will ich meine zwei Instanzen insofern von einander trennen, dass auf dem einen die Aktoren, Sensoren und zu schaltenden Devices sind und auf dem anderem der Rest sowie die Logik. Zudem will ich einige Reading via notify vom einen zum anderen übertragen

Ich will also Befehle und Reading hin und her "schiessen". Für das ist doch MQTT geeignet, oder?
lg c

Um Readings oder Befehle via mqtt zu übertragen brauchst du beim Einsatz der MQTT_GENERIC_BRIDGE kein notify!
Und ja 
ZitatIch will also Befehle und Reading hin und her "schiessen".
Dafür ist MQTT geeignet.

Zitat;) ich habe mit Mqtt noch keine Berührungspunkte gehabt.

Ich würde dir empfehlen mit z.B. dem Tool mqtt-spy zu-plotten was da zum Brooker ge-published  wird.

Du kannst z.B auf einer Instanz einen Sensor mit der Bridge verbinden, die gewünschen zu übertragenden Readings (Befehle)
auswählen und erst mal mit mqtt-spy schauen was am Brooker ankommt.
Dann kannst du auf der 2ten Instanz z.B. ein Dummy-Device oder ein bestehendes Device an die Bridge der 2ten Instanz hängen und per subscribe Attribute die Readingswerte (Befehle) dem Device zuordnen.

Steht zwar alles in der commandref aber Versuch macht kluch. ;)

Gruß Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

hexenmeister

Ich denke, es wird langsam Zeit, häufige Anwendungsfälle und dazugehötige Config an einer Stelle zu sammeln. Kann später vlt. ins Wiki.
Ich habe schon mal einen neuen Thread angelegt und werde im Laufe des Tages ein Paar Konfigurationsbeispiele dort anlegen: https://forum.fhem.de/index.php/topic,91642.msg841367.html#msg841367
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Master_Nick

Moin mal ne Frage zu de HowTo aus der ersten Seite zum Punkte Subscribe und QOS:

attr <dev> mqttSubscribe temperature:topic=/TEST/temperature test:qos=0 *:topic={"/TEST/$reading/value"}
attr <dev> mqttSubscribe desired-temperature:stopic={"/TEST/temperature/set"
}


Ich habe exakt das Beispiel aus der 2. Zeile ;-)
Würde ich nun mit:  desired-temperature:qos=2 das auf QOS 2 setzen?

Beim Beispiel aus der ersten Zeile mit "test:qos=0" ist mir irgendwie unklar woher das "test" kommt.
In der Sammlung konnte ich dazu kein Beispiel finden. :-)
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

hexenmeister

Ja, damit würdest Du QOS für desired-temperature auf 2 setzen.
Beispiel aus der Zeitle 1 ist leicht irreführend. QOS wird hier auf 0 für Reading namens 'test' gesetzt. Dieser kann per Topic '/TEST/test/value' gesetzt werden, dies ist implizit durch *:topic={"/TEST/$reading/value"} definiert.

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Master_Nick

Ah okay  Danke! :-)

Cool dann hab ich es ja bereits korrekt.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)