Seite 1 von 3

Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 21. Feb 2020 14:51
von Andy089
Hallo zusammen,

nach dem ich das Openhab Zigbee Binding getestet habe und nur Probleme mit dem Plugin hatte, habe ich mich entschlossen Zigbee2MQTT zu verwenden.

Die Aktuelle Version von Zigbee2MQTT habe ich auf meinen Raspberry erfolgreich installiert, die Verbindung zum MQTT-Broker steht auch.
Als Testgeräte habe ich ein Aqara OPPLE Schalter verbunden, diese wurde auch erkannt und es werden alle möglichen Klicks erkannt.

In Openhab2 habe ich das Binding MQTT installiert und die Verbindung eingerichtet, scheint auch zu funktionieren da es als ONLINE angezeigt wird.

Aber wie bekomme ich jetzt die Geräte von Zigbee2MQTT in Openhab eingebunden?

hatte mir dazu folgendes Video angeschaut, leider blicke ich da nicht ganz durch.
https://www.youtube.com/watch?v=8u9jMRod5XI

Also, ich habe ein Items namens Aqara_OPPLE.items angelegt:
Inhalt:

Code: Alles auswählen

String button_2_single "Aqara Button [%s]" <Button>
{mqtt="<[zigbee2mqtt/Aqara-OPPLE:command:JS(getZigbeeClick.js)]"}
Ist der Inhalt soweit richtig?

über MQTTfx bekomme ich folgende Information beim klicken des Schalters:

Code: Alles auswählen

zigbee2mqtt/Aqara-OPPLE --> {"linkquality":65,"action":"button_2_single"} 
Ich hoffe mir kann jemand weiterhelfen :/

Re: Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 21. Feb 2020 17:09
von udo1toni
Ja und nein.

Typischer Fehler.
Du mischst mqtt1 und mqtt2.
openHAB2 ab Version 2.3 bringt mqtt2 mit. Damit ist mqtt1ein Legacy Binding, welches also nicht zur Installation angeboten wird (man könnte aber einstellen, dass auch Legacy Bindings zur Verfügung stehen).

Du musst für mqtt2 folgende Schritte gehen:
1. Eine Bridge anlegen. Dort wird der Broker eingetragen, der auch in den anderen Clients eingerichtet ist.
2. Ein generic Thing anlegen und der Bridge zuordnen (das geht per DropDown Liste)
3. Im Thing für jedes Topic Channel anlegen (bzw. für jede Funktion)
4. Die Channel jeweils mit einem Item verbinden.
Channel und Items müssen zueinander passen.
Da die gelieferten Daten ein JSON Objekt darstellen, brauchst Du noch die JSONPATH Transformation.

Gesendet von meinem SM-G973F mit Tapatalk


Re: Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 21. Feb 2020 19:00
von Andy089
Hallo udo1toni,

danke für deine Antwort.

Den JSONPATH Transformation habe ich schon installiert.

bis punkt 3 habe ich alles gemacht und da bin ich mir nicht sicher alles richtig gemacht zu haben.
Zumindest funktioniert es so nicht :/

hab mal Bilder angehangen von der Thing Konfiguration und MQTT.fx:

Bild

Re: Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 21. Feb 2020 19:41
von Darkwin101
Dein Topic muss anders heissen nämlich zigbee2mqtt/Aqara-Opple
Also du musst einen Channel Anlegen Typ Text
als Topic dann zigbee2mqtt/Aqara-OPPLE
dann auf show More gehen bei Incoming Value Transformations
JSONPATH:$.action Schreiben
dann speicherst du das ganze und legst ein Text Item an und verlinkst es mit dem Kanal
In diesem Text Item wird dann z.b. wie von dir ausgelesen stehen: button_2_single, auf diese Werte kannst du dann in Rules reagieren

Re: Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 22. Feb 2020 12:39
von Andy089
Super, vielen Dank.

Hab jetzt ein paar Schalter und Steckdose so einbinden können.
Aber zum Schalter hat man ja auch meist eine oder zwei LED-Birnen. Und zwar habe ich eine OSRAM Smart+ LED.
Sie ist mit Zigbee2MQTT gekoppelt, nur über MQTT.fx bekomme ich jetzt natürlich keine Werte von der Osram Lampe.

Wie bekomme ich die jetzt über Openhab geschaltet? :)

Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 22. Feb 2020 13:55
von Darkwin101
Da legst du halt als item ein Switch item an und gibst bei Channel ebenfalls on off Switch an dann das State topic und zum schalten gibt es Rechts das command topic in der Art cnmd/zigbee2mqtt/led



Gesendet von iPhone mit Tapatalk

Re: Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 22. Feb 2020 20:56
von Andy089
Danke für die Antwort, hab ich so gemacht..
Hab jetzt jedoch das Problem das ich jetzt mit dem Aqara OPPLE Schalter jedes gebundenes Gerät Ein und Ausschalte… Obwohl ich bisher der Meinung war das ich von dem Aqara OPPLE Schalter denbutton_2_single eingerichtet habe.. eigentlich sollte der Aqara OPPLE Schalter zum Testen erstmal die Osram Steckdose einschalten… und der Philips Dimmer die Osram LED Birne.. aber da reagiert das System nicht drauf…

Die Steckdose, LED Birne sowie den Schalter und Dimmer habe ich wie oben erklärt eingebunden. was läuft da falsch, jemand vielleicht eine Idee? :roll:

Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 22. Feb 2020 21:01
von Darkwin101
Dazu müsste Mann deine eingerichteten Regeln kennen und alle items mit den eingerichtet Channel also die topics
die du wie eingerichtet hast



Gesendet von iPhone mit Tapatalk

Re: Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 22. Feb 2020 21:50
von Andy089
Also ich habe:
Ein Thing MQTT Broker

dann

Aqara-OPPLE
Generic MQTT Thing -> Text value -> MQTT state topic = zigbee2mqtt/Aqara-OPPLE -> Incoming value transformations = JSONPATH:$.action --> diese mit einem Switch Items verknüpft..

Und

Osram-Ste-Büro
Generic MQTT Thing -> Text value -> MQTT state topic = zigbee2mqtt/Osram_Steck_Büro -> Incoming value transformations = JSONPATH:$.action --> diese mit einem Switch Items verknüpft..

Und

Osram_Lampe
Generic MQTT Thing -> ON / OFF switch -> MQTT state topic = zigbee2mqtt/Osram_Lampe -> Incoming value transformations = JSONPATH:$.action --> diese mit einem Switch Items verknüpft..

Und

Philips Dimmer
Generic MQTT Thing -> Text value -> MQTT state topic = zigbee2mqtt/Philips_Dimmer -> Incoming value transformations = JSONPATH:$.action --> diese mit einem Switch Items verknüpft..

Rules:

Lampe an
When= an item state is updated -> Philips-switch = on-press -> send a command = Osram LAMPE Switch -> ON

Und

Steckdose AN
When= an item state is updated -> Aqara-OPPLE = ON -> send a command = Osram steckdose Switch -> ON

Also so habe ich es.
Wobei ich gerade gemerkt habe das die Rules keinen Einfluss haben, ich hatte sie eben deaktiviert ändert hat sich an der Schaltung nichts.. also beim Aqara-OPPLE Taste drücken Steckdose und Lampe An und andere Taste drücken wieder Aus

Re: Zigbee2MQTT verbundene Geräte in Openhab verwenden

Verfasst: 22. Feb 2020 21:58
von udo1toni
Um Befehle zu senden, musst Du das commandTopic verwenden. JSON ist da eher nicht direkt möglich. Grundsätzlich unterscheiden sich stateTopic und commandTopic.

Gesendet von meinem SM-G973F mit Tapatalk