Seite 1 von 5

zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 3. Jan 2019 21:33
von netZr0t
Hallo zusammen,

nachdem ich mein System, was größtenteils auf MQTT (Tasmota Sonoff), ein zwei TPLink Plugs (TP Link Binding) und zahlreiche Fritz DECT Thermostate (Fritzbox Binding) komplett über Config-Dateien auf Openhab 2.4 migriert habe moechte ich jetzt ein paar Tuerkontakte installieren.

ich habe hierzu einen CC2531 ZigBee USB-Stick gekauft, auf dem bereits die zigbee2mqtt Firmware installiert ist (CC2531ZNP-Prod.hex)

anschliessend habe ich entsprechend dieser Anleitung den zigbee2mqtt Dienst installiert. Der Dienst laueft auch einwandfrei. Ich habe anschliessend einen Xioami Aqara gepairt, was auch wunderbar funktionierte.

MQTTfx liefert auch Ergebnisse wenn ich das Topic zigbee2mqtt/# subscribe unbd schaltet auch brav von false auf true und umgekehrt.
zigbee2mqtt1.JPG
Ich gehe hierbei davon aus, dass ich das Zigbee 2.4 Binding von Openhab2 nicht benötige, da ich ja ueber den MQTT gehe, richtig ?
jetzt bin ich im Topic Sumpf versunken. Ich blicks gerade nicht mehr. Wie muss ich das Thing nach neuer MQTT 2.4 Logik aufbauen ?
ausspucken tut er ja das hier:

Code: Alles auswählen

{"battery":100,"voltage":3055,"linkquality":0,"contact":true}
Das Ergebnis von Interesse ist also true oder false ... demnach also ein String ?

Ich habe das Thing, welches im gleichen things file unter der mosquitto bridge haengt dann so aufgebaut:

Code: Alles auswählen

Thing mqtt:topic:0x00158d0002c0d066 "Keller Türkontakt" @ "MQTT"  {
      Channels:
          Type string : contact "Kontakt" [ 
            stateTopic="zigbee2mqtt/0x00158d0002c0d066",
            transformationPattern="JSONPATH:$.contact"
          ]
          Type number : battery "Batterie" [ 
            stateTopic="zigbee2mqtt/0x00158d0002c0d066",
            transformationPattern="JSONPATH:$.battery"
          ]
    }
das Item habe ich so erstellt:

Code: Alles auswählen

String KellertuerKontakt "Kellertür [%s]" <door> (XioamiAqaraContacts) { channel="mqtt:topic:0x00158d0002c0d066:contact" }
Number KellertuerBatterie "Batterie [%d]" <battery> (XioamiAqaraContacts) { channel="mqtt:topic:0x00158d0002c0d066:battery" }
Und bisher hat das einfach nicht funktioniert .... als ich aber eben den Code hier reinkopiert habe ist mir aufgefallen, dass ich die beiden [%s] [%d] im item vergessen hatte ... und siehe da es geht !

Ich lass das trotzdem mal stehen, vielleicht hilft es ja jemanden :-)

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 4. Jan 2019 01:34
von seka
Hi, ich versuche auch gerade das zigbee2mqtt Binding einzurichten.
Installiert hab ich soweit alles. Das pairen eines Osram Plugs hat soweit ich das beurteilen kann auch geklappt.
Anbei ein Auszug aus dem log

Code: Alles auswählen

2019-1-4 00:14:20 - info: Device incoming...
2019-1-4 00:14:20 - info: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"device incoming"}'
2019-1-4 00:14:20 - info: New device with address 0x7cb03eaa00ad1229 connected!
2019-1-4 00:14:20 - info: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0x7cb03eaa00ad1229"}'
2019-1-4 00:14:21 - info: Succesfully configured 0x7cb03eaa00ad1229 0x7cb03eaa00ad1229
leider weiß ich jetzt nicht weiter.
Meine mqtt.things schaut momentan so aus.

Code: Alles auswählen

mqtt:broker:mqtt [ host="192.168.2.104",secure=false ]

Thing mqtt:topic:osramPlug1  (mqtt:broker:mqtt){
    Channels:
	    Type switch : plug "Test" [
		    stateTopic="zigbee2mqtt/0x7cb03eaa00ad1229",
		    transformationPattern="JSONPATH:$.state",
		    commandTopic="zigbee2mqtt/0x7cb03eaa00ad1229/set",
		    on="ON", off="OFF" ]
    }
was müsste ich denn nun tun damit ich den Plug auch steuern kann.
Vielen Dank

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 4. Jan 2019 06:34
von netZr0t
Wie schaut denn dein Logfile mit der Thing Definition aus? Benutzt du Mosquitto?
Ist der Broker und dein Thing im PaperUI Online?
Ich habe die Things der Bridge anders zurgeordnet. In deiner Definition schreibst du :

Thing mqtt:topic:osramPlug1 (mqtt:broker:mqtt) ist das der Link zur Bridge?

Da ganze wurde hier schon mal diskutiert:

Wie schaut denn dein Item aus? selbst wenn das Thing mit der Bridge Definitiuon so auch geht musst du ja noch ein Item erstellen, was den Link auf den Channel plug erzeugt.

Code: Alles auswählen

Switch Osram01 "Meine Lampe"" (OsramLampen) <light> { channel="mqtt:topic:osramPlug1:plug" }

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 4. Jan 2019 12:02
von seka
Guten Morgen,
Habe es nun soweit am laufen. Hast du zufällig auch einen Temperatursensor von Xiaomi und hast da ein Beispiel für mich. Das bekomme ich iwie noch nicht so ganz hin.
Danke

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 4. Jan 2019 12:09
von netZr0t
was spuckt der denn als state aus ? (einfach mal mit MQTTfx guggen)

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 4. Jan 2019 12:49
von seka
Da kommt das dabei raus:

Code: Alles auswählen

{"temperature":21.57,"linkquality":18,"humidity":41.14,"battery":99,"voltage":3005}
Leider hab ich noch keine Ahnung was ich damit nun machen kann.

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 4. Jan 2019 14:00
von mcdandrew
Da kommt das dabei raus:

Code: Alles auswählen
{"temperature":21.57,"linkquality":18,"humidity":41.14,"battery":99,"voltage":3005}
Mal ne blöde Frage meine Xiaomi Sensoren geben mir folgendes aus

Code: Alles auswählen

{"temperature":21.57,"pressure":18,"humidity":41.14,"linkquality":70}
Kann es daran liegen, dass ich kein MQTT2 sondern noch die alte Version nutze?
Gerade der Batteriestatus wäre interessant


Jetzt zu Deiner Frage
Da kommt das dabei raus:

Code: Alles auswählen
{"temperature":21.57,"linkquality":18,"humidity":41.14,"battery":99,"voltage":3005}
Leider hab ich noch keine Ahnung was ich damit nun machen kann.
Du kannst damit nun entsprechende ITEMS für die einzelnen "Messwerte" erstellen und diese dann bspw. in der Sitemap darstellten.
Da ich MQTT in der alten Version nutze nutzen meine Beispiele dir nicht viel...bei MQTT2 sieht es ein wenig anders aus.

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 4. Jan 2019 16:13
von netZr0t
seka hat geschrieben: 4. Jan 2019 12:49 Da kommt das dabei raus:

Code: Alles auswählen

{"temperature":21.57,"linkquality":18,"humidity":41.14,"battery":99,"voltage":3005}
Leider hab ich noch keine Ahnung was ich damit nun machen kann.
also thing anlegen

Code: Alles auswählen

Thing mqtt:topic:XioamiSensor01 "Xiaomi Temp und Humi Sensor" @ "MQTT" 
{
      Channels:
          Type string : temp "Temperatur" [    //hier erzeugen wir unter dem topic XioamiSensor01 den channel temp
            stateTopic="zigbee2mqtt/0x00xxxxxxxxxxxxx",   // hier muss natuerlich deine Xioami zigbee ID eingetragen werden
            transformationPattern="JSONPATH:$.temperature"// hier muss exakt der String aus dem Json verwendet werden (Case Sensitive)
          ]
          Type string : batt "Batterie" [          //hier erzeugen wir unter dem topic XioamiSensor01 den channel batt
            stateTopic="zigbee2mqtt/0x00xxxxxxxxxxxxx",    // hier muss natuerlich deine Xioami zigbee ID eingetragen werden
            transformationPattern="JSONPATH:$.battery"     // hier muss exakt der String aus dem Json verwendet werden (Case Sensitive)
          ]
} 
items anlegen:

Code: Alles auswählen

String TemperaturRaum1 "Raum1 Temperatur [%s]" <temperature> (XioamiSensoren) { channel="mqtt:topic:mqtt:topic:XioamiSensor01:temp" }
Number BatterieRaum1 "Raum1 Batterie [%d]" <battery> (XioamiSensoren) { channel="mqtt:topic:XioamiSensor01:batt" }
in der Sitemap:

Code: Alles auswählen

Text item=TemperaturRaum1
Text item=BatterieRaum1 

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 5. Jan 2019 21:35
von mcdandrew
Nachdem ich nun Zigbee2mqtt konfiguriert habe und auch einige Kontaktsensoren und Temperaturfühler eingebunden habe, scheitere ich an den Xiaomi Rauchmeldern.

Beim Zigbee Binding konnte ich sie problemlos einbinden. Habe hier bei den Sensoren und Fühlern allerdings nicht die die Vielzahl an Items (bspw. Linkquality) weshalb ich gerne bei Zigbee2Mqtt bleiben würde.

Parallelbetrieb funktioniert auch nicht...muss das Zigbee Binding deinstallieren, ansonsten startet Zigbee2Mqtt nicht.

Hat jemand eine Lösung?

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 6. Jan 2019 13:12
von netZr0t
was liefern die denn wenn du im MGTTfx oder in der Statusmeldung vom zigbee2mqtt guggst ?