[phpBB Debug] PHP Warning: in file [ROOT]/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers"
[phpBB Debug] PHP Warning: in file [ROOT]/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers"
[phpBB Debug] PHP Warning: in file [ROOT]/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers"
[phpBB Debug] PHP Warning: in file [ROOT]/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers"
openhabforum.de • zigbee2mqtt Openhab2 Xioami Aqara Kontakte - Seite 3
Seite 3 von 5

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 18. Mär 2019 19:24
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"
          ]
    }

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 19. Mär 2019 09:03
von udo1toni
Ja, so aus dem Kopf sollte das passen.

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 19. Mär 2019 17:22
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

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 19. Mär 2019 17:50
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"}

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 19. Mär 2019 18:01
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?

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 19. Mär 2019 20:18
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" ]
    }
}

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 20. Mär 2019 09:27
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

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 20. Mär 2019 10:03
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.

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 21. Mär 2019 20:36
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.

Re: zigbee2mqtt Openhab2 Xioami Aqara Kontakte

Verfasst: 21. Mär 2019 20:42
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.