Lidl Zigbee Klingel mit ZigBee2Tasmota in Openhab einbinden

  • Ivh dachte ja es ist ganz easy und ich finde irgendwo etwas zu Copy&Paste für die Lidl Zigbee Klingel.
    Bisher leider aber nicht.

    Vielleicht mag @horschte ja wieder sein Wissen teilen?

    Ich kriege es nicht hin, denn der Klingelknopf haut jedee menge Meldungen raus. Ich dachte da gäbe es nur on........

    Gepaired habe ich das Ding und es heißt völlig überraschend auch "klingel"

    Code
    13:57:42.261 CMD: ZbInfo klingel
    13:57:42.263 SRC: WebConsole from 192.168.178.48
    13:57:42.264 CMD: Group 0, Index 1, Command "ZBINFO", Data "klingel"
    13:57:42.272 MQT: tele/bridge/klingel/SENSOR = {"ZbInfo":{"klingel":{"Device":"0xB146","Name":"klingel","IEEEAddr":"0xBC33ACFFFE049878","ModelId":"TS0211","Manufacturer":"_TZ1800_ladpngdx","Endpoints":[1],"Config":["A01.2"],"ZoneType":21,"ZoneStatus":0,"Reachable":true,"BatteryPercentage":42,"LastSeen":1030,"LastSeenEpoch":1639744832,"LinkQuality":110}}}
    13:57:42.276 MQT: stat/bridge/RESULT = {"ZbInfo":"Done"}

    Beim Klingeln passiert in der Konsole folgendes:


  • Der erste Versuch wenigstens den Batteriestans auszulesen

    Code
    Thing topic klingel "Klingel"  @ "ZigBee Test" {
        Channels:
            Type string : bell_battery       "Batterie Kingel"     [ stateTopic = "tele/klingel/SENSOR" , transformationPattern="REGEX:(.*\"BatteryPercentage\".*)∩JSONPATH:$.ZbReceived.klingel.BatteryPercentage"]
    
    
        }


    klappt nicht :(


    Das thing habe ich übrigens aus dem Aqara Bewegungsmelder thing umgestrickt.
    Aber da läuft es auch nicht. Triggert der Batteriestand überhaupt bei einer Meldung ? Der scheint nur bei zbinfo mitzukommen


    Code
    Thing topic Motion_Sensor1 "Motion_Sensor1"  @ "ZigBee Test" {Channels:Type string : Motion_Sensor1_Occupancy       "Motion Sensor 1 Occupancy"     [ stateTopic = "tele/bridge/SENSOR", transformationPattern="REGEX:(.*\"Occupancy\".*)∩JSONPATH:$.ZbReceived.Motion_Sensor1.Occupancy"]
            Type number : Motion_Sensor1_Illuminance       "Motion Sensor 1 Illuminance"     [ stateTopic = "tele/bridge/SENSOR" , transformationPattern="REGEX:(.*\"Illuminance\".*)∩JSONPATH:$.ZbReceived.Motion_Sensor1.Illuminance"]
            Type number : Motion_Sensor1_Battery      "Motion Sensor 1 Battery"     [ stateTopic = "tele/bridge/SENSOR" , transformationPattern="REGEX:(.*\"BatteryPercentage\".*)∩JSONPATH:$.ZbReceived.Motion_Sensor1.BatteryPercentage"]
    
    
    }
  • also ich komme erst morgen nachmittag mir das genauer anzuschauen.
    drückst du beim 2. [definition='1','0']log[/definition] mehrfach auf die klingel? falls ja, bitte nur einmal kurz drücken, nichts mehr machen und dann das ergebniss von 45sek [definition='1','0']log[/definition] (inkl dem zeitpunkt des drückens) hier posten.

  • Ich habe nur einmal gedrückt und mich auch gewundert, daß da soviel kommt.
    Kann man die Tasmota konsole auch leeren oder filtern?

    Einmal gedrückt........

  • folgendes in die things im mqtt bereich

    Code
    Thing topic klingel "Klingel"  @ "ZigBee Test" {
        Channels:
            Type switch : klingel_knopf     "Klingelknopf"  [ stateTopic = "tele/bridge/klingel/SENSOR" , transformationPattern="REGEX:(.*Contact.*)∩JSONPATH:$.ZbReceived.klingel.Contact", on = "1", off = "0"]
    }


    items:
    Switch Klingel "Klingel" {channel="mqtt:topic:embedded-mqtt-broker:klingel:klingel_knopf"}  

    alles abspeichern, nen moment warten, openhab [definition='1','0']log[/definition] (frontail) aufrufen, nach "Klingel" filtern, dann klingelknopf drücken und schauen ob das item "klingel" im openhab [definition='1','0']log[/definition] sich zu ON ändert. den OFF status bekommt das item offenbar 10sek nach dem klingeln.

    Das thing habe ich übrigens aus dem Aqara Bewegungsmelder thing umgestrickt.
    Aber da läuft es auch nicht. Triggert der Batteriestand überhaupt bei einer Meldung ? Der scheint nur bei zbinfo mitzukommen

    bei zigbee2tasmota wird batterie nicht jedesmal abgefragt um die batterie des gerätes zu schonen. die statusänderung für batterie kann einige stunden dauern. wenn du batterie nicht via persistence speicherst, wird der status nach editierem am system natürlich nicht wiederhergestellt und es dauert bis zur nächsten aktualisierung.

  • Cool - Du bist mein Held!

    Code
    2021-12-18 14:14:45.546 [hingStatusInfoChangedEvent] - 'mqtt:topic:embedded-mqtt-broker:klingel' changed from UNINITIALIZED to INITIALIZING
    
    
    2021-12-18 14:14:45.582 [hingStatusInfoChangedEvent] - 'mqtt:topic:embedded-mqtt-broker:klingel' changed from INITIALIZING to ONLINE
    
    
    2021-12-18 14:16:08.063 [vent.ItemStateChangedEvent] - Klingel changed from NULL to ON
    
    
    2021-12-18 14:16:17.071 [vent.ItemStateChangedEvent] - Klingel changed from ON to OFF


    Jetz muß ich nur noch sehen, wie ich das ding hardwareseitig einbaue - dann klingelt demnächst die Alexa !


    Code
    rule klingel
    
    
    when Item Klingel changed to ON
    then Echo_Kitchen_TTS.sendCommand('<speak>Klingeling es ist jemand an der Tür</speak>')
    end


    BTW die Befehle für die Batterie sind richtig?

    Dann mache ich noch einen Thread für die LED "Birnen" auf??

  • when Item Klingel changed to ON

    changed from OFF to ON

    then Echo_Kitchen_TTS.sendCommand('<speak>Klingeling es ist jemand an der Tür</speak>')

    then Echo_Kitchen_TTS.sendCommand("Klingeling. Es ist jemand an der Tür") wäre richtig....oder halt wirklich nen klingelton abspielen oder announcement (ton + text) dafür nutzen.....geht alles was du möchtest.

    Dann mache ich noch einen Thread für die LED "Birnen" auf??

    ja, kann aber erst ab morgen was antworten.

    BTW die Befehle für die Batterie sind richtig?

    schau ich ebenso morgen drüber

  • Der erste Versuch wenigstens den Batteriestans auszulesen

    thing inkl batterie

    Code
    Thing topic klingel "Klingel"  @ "ZigBee Test" {
        Channels:
            Type switch : klingel_knopf     "Klingelknopf"  [ stateTopic = "tele/bridge/klingel/SENSOR" , transformationPattern="REGEX:(.*Contact.*)∩JSONPATH:$.ZbReceived.klingel.Contact", on = "1", off = "0"]
            Type number : klingel_batterie     "Klingel Batterie"  [ stateTopic = "tele/bridge/klingel/SENSOR" , transformationPattern="REGEX:(.*BatteryPercentage.*)∩JSONPATH:$.ZbReceived.klingel.BatteryPercentage"]
    }

    wie schon gesagt, batterie aktualisierung kann einige stunden dauern.

  • Jetzt habe ich zufällig mal einen Batterie Status erwischt:


    Code
    tele/bridge/klingel/SENSOR = {"ZbReceived":{"klingel":{"Device":"0xB146","Name":"klingel","BatteryVoltage":2.9,"BatteryPercentage":42,"Endpoint":1,"LinkQuality":126}}}
    10:54:36.462 HTP: Console

    Nur in OH sehe ich den nicht.

  • Code
    2021-12-23 11:06:16.439 [WARN ] [t.generic.ChannelStateTransformation] - Executing the JSONPATH-transformation failed: Invalid path '$.ZbReceived.klingel.BatteryPercentage' in '{"ZbInfo":{"klingel":{"Device":"0xB146","Name":"klingel","IEEEAddr":"0xBC33ACFFFE049878","ModelId":"TS0211","Manufacturer":"_TZ1800_ladpngdx","Endpoints":[1],"Config":["A01.2"],"ZoneType":21,"ZoneStatus":0,"Reachable":true,"BatteryPercentage":42,"LastSeen":731,"LastSeenEpoch":1640253245,"LinkQuality":126}}}'

    Item sieht so aus

    Code
    Number klingel_batterie  "Klingel Batterie" {channel="mqtt:topic:embedded-mqtt-broker:klingel:klingel_batterie"}

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!