zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
djuscha
Beiträge: 130
Registriert: 14. Mai 2016 00:12
Answers: 0

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von djuscha »

wäre so richtig wenn ich Bridge und Thing getrennt anlege?
bridge.things

Code: Alles auswählen

Bridge mqtt:broker:myUnsecureBroker "Mein MQTT Broker" @ "MQTT" [ 
    host="192.168.20.65", 
    secure=false 
    ] 
und
xiaomi.things

Code: Alles auswählen

Thing mqtt:topic:myUnsecureBroker:0x00158d0002c0d066 "Keller Türkontakt" (mqtt:broker:myUnsecureBroker) @ "MQTT"  {
      Channels:
          Type string : contact "Kontakt" [ 
            stateTopic="zigbee2mqtt/0x00158d0002c0d066",
            transformationPattern="JSONPATH:$.contact"
          ]
          Type number : battery "Batterie" [ 
            stateTopic="zigbee2mqtt/0x00158d0002c0d066",
            transformationPattern="JSONPATH:$.battery"
          ]
    }

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von udo1toni »

Ja, so aus dem Kopf sollte das passen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

krüml0r

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von krüml0r »

Hallo,

ich habe nun folgende Konfiguration angelegt in der demo.thing:

Code: Alles auswählen

Bridge mqtt:broker:myUnsecureBroker "Mein MQTT Broker" @ "MQTT" [ 
    host="192.168.20.65", 
    secure=false 
    ] 

Thing mqtt:topic:myUnsecureBroker:0x00158d0002fcdde3 "Türe_Garten" (mqtt:broker:myUnsecureBroker) @ "MQTT"  {   
      Channels:
          Type string : contact "Kontakt" [ 
            stateTopic="zigbee2mqtt/0x00158d0002fcdde3",
            transformationPattern="JSONPATH:$.contact"
          ]
}
In der Item hab ich folgendes Item angelegt:

Code: Alles auswählen

//MQTT Zigbee Elemente
String TerassentuerKontakt "Terassentür [%s]" <door> (XioamiAqaraContacts) {channel="mqtt:topic:0x00158d0002fcdde3:contact"}
In der Sitemap habe ich folgendes ergänzt:

Code: Alles auswählen

Text item=TerassentuerKontakt label="Terassentür"
Leider bekomme ich auf der Sitemap keine Statusänderungen angezeigt. Vielleicht sieht ja jemand meinen Fehler.

Gruß
Chris

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von udo1toni »

Du hast in der Item-Definition den Broker unterschlagen.
Allgemein als Tipp: Auch wenn Du ein Thing über eine Textdatei erzeugst, kannst Du über Paper UI nachschauen, wie die UID eines Channels lautet. Du kannst die UID auch in die Zwischenablage einfügen lassen (dazu gibt es das übliche Kopier-Symbol neben der UID)
Dein Item müsste so aussehen:

Code: Alles auswählen

String TerassentuerKontakt "Terassentür [%s]" <door> (XioamiAqaraContacts) {channel="mqtt:topic:myUnsecureBroker:0x00158d0002fcdde3:contact"}
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

krüml0r

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von krüml0r »

Hey,
vielen Dank für die Information. Das hat jetzt zumindest schon eine Ausgabe erzeugt.
Eigentlich möchte ich als Rückgabewert des Sensors nur True oder False haben. Durch meine Konfiguration bekomme ich jetzt folgende Ausgabe auf der sitemap:

Code: Alles auswählen

{"contact":true,"linkquality":170,"battery":97,"voltage":2995}
Wo mache ich den Fehler? Ich dachte mit dem Channel ":Contact" wähle ich direkt die richtige Information aus? Wo ist mein Denkfehler?

mamoel
Beiträge: 137
Registriert: 12. Jan 2019 19:56
Answers: 0

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von mamoel »

Ändere Deine Thing Konfiguration mal auf:

Code: Alles auswählen

Thing mqtt:topic:myUnsecureBroker:0x00158d0002fcdde3 "Türe_Garten" (mqtt:broker:myUnsecureBroker) @ "MQTT"  {   
      Channels:
          Type contact : contact "Kontakt" [ 
            stateTopic="zigbee2mqtt/0x00158d0002fcdde3",
            transformationPattern="JSONPATH:$.contact",
            on="false",
            off="true"
          ]
}
Meine Konfiguration mit zwei Aqara Kontakten sieht so aus:

Code: Alles auswählen

Bridge mqtt:broker:localMQTTBroker [ host="xxx.xxx.xxx.xx", secure=false]
{
    Thing topic zigbeeMQTT "Zigbee2mqtt" {
    Channels:
        Type switch : permitJoin         [ stateTopic="zigbee2mqtt/bridge/config/permit_join", commandTopic="zigbee2mqtt/bridge/config/permit_join", on="true", off="false" ]
        Type string : state              [ stateTopic="zigbee2mqtt/bridge/state" ]        
    }

    Thing topic zigbeeAqaraContact01 "Aqara Contact 01" {
        Channels:
            Type contact : contact  
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.contact", on="false", off="true" ]            
            Type number : voltage 
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.voltage" ]
            Type number : battery 
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.battery" ]
            Type number : linkquality 
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.linkquality" ]
    }

    Thing topic zigbeeAqaraContact02 "Aqara Contact 02" {
        Channels:
            Type contact : contact  
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.contact", on="false", off="true" ]            
            Type number : voltage 
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.voltage" ]
            Type number : battery 
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.battery" ]
            Type number : linkquality 
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.linkquality" ]
    }
}
openHAB 2.5 (M1) in Docker auf NAS: Synology DS418play
mit Homematic, Hue, TP-Link, AVM Fritz!, FritzboxTR064, Nuki, Amazon Echo, Sonos, Harmony, zigbee2mqtt, Denon/Marantz, ...

krüml0r

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von krüml0r »

Hallo,
leider führt das auch nicht zum Erfolg. So bekomme ich keine Änderungen auf meiner Sitemap angezeigt. Komischerweise reagiert das System ab und an nicht mehr auf die Veränderungen der Things. Dazu muss ich das System einmal Rebooten. Ist das normal?

Gruß
Chris

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von sihui »

krüml0r hat geschrieben: 20. Mär 2019 09:27 Komischerweise reagiert das System ab und an nicht mehr auf die Veränderungen der Things.
Manuelle Things Dateien werden nur nach einem Binding Restart oder openHAB Restart gelesen, nicht während der Laufzeit. Alternativ kann man natürlich auch den kompletten Server neu starten.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

krüml0r

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von krüml0r »

mamoel hat geschrieben: 19. Mär 2019 20:18 Ändere Deine Thing Konfiguration mal auf:

Code: Alles auswählen

Thing mqtt:topic:myUnsecureBroker:0x00158d0002fcdde3 "Türe_Garten" (mqtt:broker:myUnsecureBroker) @ "MQTT"  {   
      Channels:
          Type contact : contact "Kontakt" [ 
            stateTopic="zigbee2mqtt/0x00158d0002fcdde3",
            transformationPattern="JSONPATH:$.contact",
            on="false",
            off="true"
          ]
}
Meine Konfiguration mit zwei Aqara Kontakten sieht so aus:

Code: Alles auswählen

Bridge mqtt:broker:localMQTTBroker [ host="xxx.xxx.xxx.xx", secure=false]
{
    Thing topic zigbeeMQTT "Zigbee2mqtt" {
    Channels:
        Type switch : permitJoin         [ stateTopic="zigbee2mqtt/bridge/config/permit_join", commandTopic="zigbee2mqtt/bridge/config/permit_join", on="true", off="false" ]
        Type string : state              [ stateTopic="zigbee2mqtt/bridge/state" ]        
    }

    Thing topic zigbeeAqaraContact01 "Aqara Contact 01" {
        Channels:
            Type contact : contact  
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.contact", on="false", off="true" ]            
            Type number : voltage 
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.voltage" ]
            Type number : battery 
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.battery" ]
            Type number : linkquality 
                [ stateTopic="zigbee2mqtt/xiaomiaqara01", transformationPattern="JSONPATH:$.linkquality" ]
    }

    Thing topic zigbeeAqaraContact02 "Aqara Contact 02" {
        Channels:
            Type contact : contact  
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.contact", on="false", off="true" ]            
            Type number : voltage 
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.voltage" ]
            Type number : battery 
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.battery" ]
            Type number : linkquality 
                [ stateTopic="zigbee2mqtt/xiaomiaqara02", transformationPattern="JSONPATH:$.linkquality" ]
    }
}
Danke für die Hinweise, kannst du mir deine zugehörigen Items und Sitemap Definitionen nochmal hier posten?
Mit contact Type bekomme ich keine Ausgabe auf der Sitemap.

mamoel
Beiträge: 137
Registriert: 12. Jan 2019 19:56
Answers: 0

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Beitrag von mamoel »

Die Items kannst Du mit VSCode erzeugen. Das ist so ziemlich die zuverlässigste Methode.
Mit einer Sitemap kann ich leider nicht dienen, da ich nur auf HABpanel setze.
Falls Du das mit den Items nicht hinbekommst, melde Dich nochmal. Ich bin derzeit nicht am Rechner, deshalb kann ich Dir meine Item-Definition nicht hier reinkopieren.
openHAB 2.5 (M1) in Docker auf NAS: Synology DS418play
mit Homematic, Hue, TP-Link, AVM Fritz!, FritzboxTR064, Nuki, Amazon Echo, Sonos, Harmony, zigbee2mqtt, Denon/Marantz, ...

Antworten