Autor Thema: Modul-Konzeption: Generic MQTT Bridge  (Gelesen 8859 mal)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3881
    • tech_LogBuch
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #120 am: 01 Mai 2018, 20:47:39 »
Prima!
Danke fürs Testen :)
So werden wir das nach und nach fertigstellen ;D
Cubietruck, RPI3, HM, EnOcean, 1wire, Firmata, MySensors, ESP8266, ESPEasy, MQTT, NodeRED, Alexa, Telegram
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 550
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #121 am: 01 Mai 2018, 21:02:46 »
Find ich mega!

Vielen vielen Dank für deine Zeit und Arbeit!
Ich schätze diese Bridge sehr!
RasPi 3 mit nanoCUL (a-culfw) | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem 0.3.0 | WOL | NFC | Harmony UltimateHub | Homestate | Roomba | 10" Touch mit Node-Red | SonOff S20

Offline SamNitro

  • Full Member
  • ***
  • Beiträge: 442
  • Kölner Wimpelbeauftragter
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #122 am: 01 Mai 2018, 21:04:08 »
kann ich auf 2 topics lauschen frei nach dem motto
state:stopic={"/input/$device/state"}; pct:stopic={"/input/$device/pct"}
Gruß Patrick
------------------------
(Rpi 3, Stretch) (HM-LGW) (CUL868) (CUL433) (Homematic Komponenten) (FS20) (SONOFF) (ESP8266) (EchoDot)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3881
    • tech_LogBuch
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #123 am: 01 Mai 2018, 21:11:18 »
Klar, beliebig viele. Aber leerzeichengetrennt, also ohne ';'
Cubietruck, RPI3, HM, EnOcean, 1wire, Firmata, MySensors, ESP8266, ESPEasy, MQTT, NodeRED, Alexa, Telegram

Offline SamNitro

  • Full Member
  • ***
  • Beiträge: 442
  • Kölner Wimpelbeauftragter
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #124 am: 01 Mai 2018, 21:14:12 »
Klar, beliebig viele. Aber leerzeichengetrennt, also ohne ';'

Ja Mega :)


Mobil unterwegs!
Gruß Patrick
------------------------
(Rpi 3, Stretch) (HM-LGW) (CUL868) (CUL433) (Homematic Komponenten) (FS20) (SONOFF) (ESP8266) (EchoDot)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3881
    • tech_LogBuch
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #125 am: 01 Mai 2018, 23:22:18 »
Neue Version mit halbwegs funbktionierenden Wildcards.

Also so wie das hier: *:topic={"/TEST/$reading/set"}

Was an der Stelle ($reading) im Topic gefunden wird, wird als Reading-Name verwendet. Nicht vorhandenen Readings werden ggf. angelegt.
Cubietruck, RPI3, HM, EnOcean, 1wire, Firmata, MySensors, ESP8266, ESPEasy, MQTT, NodeRED, Alexa, Telegram
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline cpramhofer

  • New Member
  • *
  • Beiträge: 28
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #126 am: 12 Mai 2018, 18:52:24 »
WOW!!! Genau das was ich suche!
So kann ich endlich FHEM und ZWay "paaren"

Ich möchte nicht auf ZWay verzichten und gleichzeitig die Flexibilität von FHEM nutzen.
Habe daher zwei Raspberry 3B+ am laufen. Auf einem läuft ein Mosquitto den ich hauptsächlich für die Kommunikation mit ESP Devices nutze (auch über mehrere Immobilien hinweg).
Ich bin absolut überzeugt von MQTT umso besser wenn es jetzt auch generisch läuft!

Offline cpramhofer

  • New Member
  • *
  • Beiträge: 28
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #127 am: 13 Mai 2018, 10:56:47 »
Endlosschleife:

Liebe Community, hat jemand eine Idee zu folgendem Problem.
Wenn ich Publish allein verwende kann ich den Status setzen,
Wenn ich Subscribe allein verwende kann ich den Status lesen.
Wenn ich beides Verwende komme ich in eine Endlosschleife:
mqttPublish state:topic=pramNet/vorzimmerOG/galerie/set
mqttSubscribe state:topic=pramNet/vorzimmerOG/galerie

Ich verwende verschiedene Topics aber leider löst das Publish eine Message auch wieder ein Subscribe Event aus was wiederum zu einer Stateänderung (zumindest im Timestamp) führt und damit wieder ein Publish Event auslöst - eine klassische Endlosschleife. Gibt es eine Möglichkeit das Publish nur auszulösen wenn es eine Änderung der State-Value gibt?

Offline SamNitro

  • Full Member
  • ***
  • Beiträge: 442
  • Kölner Wimpelbeauftragter
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #128 am: 13 Mai 2018, 11:02:05 »
Ein und Ausgang dürfen nicht gleich heißen,
ich habe bei mir ein input und ein output hinzugefügt

z.B.
mqttPublish state:topic=out/pramNet/vorzimmerOG/galerie/set
mqttSubscribe state:topic=in/pramNet/vorzimmerOG/galerie
Gruß Patrick
------------------------
(Rpi 3, Stretch) (HM-LGW) (CUL868) (CUL433) (Homematic Komponenten) (FS20) (SONOFF) (ESP8266) (EchoDot)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3881
    • tech_LogBuch
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #129 am: 13 Mai 2018, 11:13:04 »
Die Parameter sind schon unterschiedlich. Aber eine Schleife kann ich nicht nachstellen.
Beim publishen auf pramNet/vorzimmerOG/galerie wird natürlich im Device state entsprechend gesetzt un gleih postwendent auf pramNet/vorzimmerOG/galerie/set gepublisht. Wenn bei DIr dabei eine Endlosschleife entsteht, dann hast Du noch weitere Teilnehmer im Netzt die dabei beteiligt sind.
Cubietruck, RPI3, HM, EnOcean, 1wire, Firmata, MySensors, ESP8266, ESPEasy, MQTT, NodeRED, Alexa, Telegram

Offline cpramhofer

  • New Member
  • *
  • Beiträge: 28
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #130 am: 13 Mai 2018, 16:37:12 »
Ja bei mir ist noch ein ZWay Client im Einsatz der auf PREFIX/%RoomName%/%Device%/set reagiert und auf PREFIX/%RoomName%/%Device%/ postet.
Also genau Vice Versa.
Resultat ist dass nach einem Set der ZWay Client auch wiederum ein Publish aufgrund des veränderten Status macht.

Lösen könnte man den ganzen Loop indem die FHEM Bridge das Publish nur dann ausführt wenn sich STATE ändert.
Ich denke dieses Problem könnten mehr haben die die Bridge als Schnittstelle zwischen zwei Frontends verwenden.

Liebe Grüsse und einen schönen Sonntag!

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3881
    • tech_LogBuch
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #131 am: 13 Mai 2018, 22:20:50 »
Ich halte so eine 'über-Kreuz'-Verschränkung für ein Design-Problem. Warum muss denn das genau so sein?
Dennoch kannst Du natürlich Dein Vorschlag umsetzen, dafür ist jedoch nicht die Bridge zuständig, die verhält sich völlig korrekt und FHEM-konform. Schau Dir mal das Attribut 'event-on-change-reading' an.
Cubietruck, RPI3, HM, EnOcean, 1wire, Firmata, MySensors, ESP8266, ESPEasy, MQTT, NodeRED, Alexa, Telegram

Offline cpramhofer

  • New Member
  • *
  • Beiträge: 28
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #132 am: 14 Mai 2018, 19:25:42 »
Hallo,

du hast natürlich recht! Die Bridge und MQTT sollte völlig "rein" implementiert sein.
Wollte dich da nicht in negativer weise beeinflussen ;)
Mit event-on-change funktioniert es des Loop zu durchbrechen, ich weiss nur noch nicht ob das nicht noch weitere Nebenwirkungen hat aber bisher schaut es gut aus.

Nochmal ein herzliches Danke für die Arbeit die du hier als Entwickler aber auch in der Community leistest!

Liebe Grüsse
Christoph

Offline Billy

  • Sr. Member
  • ****
  • Beiträge: 957
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #133 am: 15 Mai 2018, 16:04:11 »
@hexenmeister
Da ich mehr und mehr auf mqtt umsteige beobachte ich schon länger diesen Thread.
Im Zusammenhang mit der Android APP "MQTT Dash" habe ich gestern das Modul "Generic MQTT Bridge" aktiviert
und bin begeistert. :) :) :)
Es hat zwar ein Weilchen gedauert, aber ich möchte mich ganz offiziell für deine tolle Arbeit bedanken.

Gruß Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink 13x PCA 301;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 1x KFM100, 3x HM-LC-SW1-PL2, ESP8266, Sonoff
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 550
Antw:Modul-Konzeption: Generic MQTT Bridge
« Antwort #134 am: 15 Mai 2018, 21:37:19 »
Moin Hexenmeister :-)

Ich hab nun noch NICHT die Version vom 01.05. bei mir  - sehe die gerade erst.

Habe aber mit der davor was entdecken können.
Starte ich FHEM neu spammt FHEM einmal mit den Devices den Broker zu wo die MQTTBridge arbeitet - aber nicht einfach einmal jeder Wert sondern x fach.
Und es handelt sich nicht um eine Schleife da ich es gemäß MQTT Standart mache:
Status selber wird nur von FHEM befüllt: homeland/haushalt/heizung/Heizungssteuerung/state
Schaltbefehle Node-Red und wer weiß was: homeland/haushalt/heizung/Heizungssteuerung/state/set

homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/heizung/Heizungssteuerung/state on
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Streifen/state off
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Spot/state off
homeland/haushalt/elektrik/wohnzimmer/Spot/state off

Das war mir aufgefallen, weil "Spot" nach einem Reboot einfach immer mal an ging (oder nach Stromverlust).
Mittlerweile macht er es nun auf off - schon mal angenehmer - aber generell sollte ja gar nichts gemacht werden da ich QOS 2 und Retain 1 nutze.
Somit sollte es schweigen beim Reboot wäre mein Gedanke :-) FHEM intern darf es gern was es will - aber nicht auf MQTT :-D Oder  8) ;D :D

Beste Grüße und ich teste es nun direkt mit der neusten Version erneut.


Die besten Fehler, sind die, die mit der Version die man beim Reporten eines Fehlers vorfindet, gefixed sind :-D GEIL!
Kann es nicht mehr nachstellen.
« Letzte Änderung: 15 Mai 2018, 21:55:08 von Master_Nick »
RasPi 3 mit nanoCUL (a-culfw) | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem 0.3.0 | WOL | NFC | Harmony UltimateHub | Homestate | Roomba | 10" Touch mit Node-Red | SonOff S20

 

decade-submarginal