Seite 1 von 1

Xiaomi Aqara wireless switch (with gyroscope) MQTT2

Verfasst: 10. Jan 2020 20:40
von djuscha
heute sind meine Xiaomi Aqara wireless switch aus China gekommen einmal gyroscope einmal ohne hab versucht die beiden inBetrieb zu nehmen und der mit gyroscope macht mir Probleme .Neustart und Cache hab ich schon gelöscht trotzdem ist irgentwie verdreht.
obere ist mit untere ohne gyroscope

Code: Alles auswählen

  
          Thing mqtt:topic:mosquitto:0x00158d00042720fe  "Xiaomi TasterSH" (mqtt:broker:mosquitto) @ "MQTT"  {
        Channels:
           Type string : action "TasterSH" 
             [ stateTopic="zigbee2mqtt/0x00158d00042720fe", transformationPattern="JSONPATH:$.action" ]

           Type string : click "TasterSHack" 
            [ stateTopic="zigbee2mqtt/0x00158d00042720fe", transformationPattern="JSONPATH:$.click" ] 

            Type number : linkquality "RSSISH" 
                [ stateTopic="zigbee2mqtt/0x00158d00042720fe", transformationPattern="JSONPATH:$.linkquality" ]
                
            Type number : battery "BatterieSH" 
                [ stateTopic="zigbee2mqtt/0x00158d00042720fe", transformationPattern="JSONPATH:$.battery" ]
            Type number : voltage "VoltageSH" 
                [ stateTopic="zigbee2mqtt/0x00158d00042720fe", transformationPattern="JSONPATH:$.voltage" ]


} 

  Thing mqtt:topic:mosquitto:0x00158d000205a1c8  "Xiaomi TasterSH" (mqtt:broker:mosquitto) @ "MQTT"  {
        Channels:
            Type string : click "Taster"             
               [ stateTopic="zigbee2mqtt/0x00158d000205a1c8", transformationPattern="JSONPATH:$.click" ]

            Type number : linkquality "RSSI" 
                [ stateTopic="zigbee2mqtt/0x00158d000205a1c8", transformationPattern="JSONPATH:$.linkquality" ]                    
            Type number : battery "Batterie" 
                [ stateTopic="zigbee2mqtt/0x00158d000205a1c8", transformationPattern="JSONPATH:$.battery" ]
            Type number : voltage "Voltage" 
                [ stateTopic="zigbee2mqtt/0x00158d000205a1c8", transformationPattern="JSONPATH:$.voltage" ]
} 

Code: Alles auswählen

  //Aqara Taster shake

String AqaraTastSH        "Click [%s]"       <action>                 {channel="mqtt:topic:mosquitto:0x00158d00042720fe:click"}
String AqaraTastShacke        "Shake [%s]"       <action>             {channel="mqtt:topic:mosquitto:0x00158d00042720fe:action"}
Number AqaraTastSH_RSSI    "Linkquality [%d] " <network>  {channel="mqtt:topic:mosquitto:0x00158d00042720fe:linkquality"}
Number AqaraTastSH_Batt        "Batterie " <battery>                               {channel="mqtt:topic:mosquitto:0x00158d00042720fe:battery"}



//Aqara Taster 

String AqaraTast        "Click [%s]"     <action>                   {channel="mqtt:topic:mosquitto:0x00158d000205a1c8:click"}
Number AqaraTast_RSSI     "Linkquality [%d] " <network>                     {channel="mqtt:topic:mosquitto:0x00158d000205a1c8:linkquality"}
Number AqaraTast_Batt     "Batterie " <battery>                               {channel="mqtt:topic:mosquitto:0x00158d000205a1c8:battery"}
wie so hab ich denn warn im log? ist doch nichts verdreht . in der Sitemap wird alles richtig angezeigt.

Code: Alles auswählen

  [WARN ] [t.generic.ChannelStateTransformation] - Executing the JSONPATH-transformation failed: Invalid path '$.action' in '{"battery":100,"voltage":3095,"linkquality":18,"click":"single"}'
 
 [WARN ] [t.generic.ChannelStateTransformation] - Executing the JSONPATH-transformation failed: Invalid path '$.click' in '{"battery":100,"voltage":3095,"linkquality":28,"action":"shake"}'

Re: Xiaomi Aqara wireless switch (with gyroscope) MQTT2

Verfasst: 13. Jan 2020 14:32
von udo1toni
Wenn Du Dir das JSON Objekt anguckst (wird ja mit ausgegeben) kannst Du sehen, dass das angefragte Element jeweils nicht im JSON Objekt enthalten ist. Du kannst über REGEX prüfen, ob der Ausdruck im JSON Objekt vorhanden ist (kompliziert; ich hab nur mal eine entsprechende Anleitung im englischen Forum überflogen) oder pragmatisch vorgehen, nämlich nur einen Channel mit dem gesamten JSON Objekt als String anlegen und diesen in einer Rule in unterschiedliche Items schreiben. In der Rule kannst Du besser auf nicht vorhandene Ausdrücke prüfen und die entsprechenden Items überspringen.

Re: Xiaomi Aqara wireless switch (with gyroscope) MQTT2

Verfasst: 13. Jan 2020 22:48
von djuscha
es wird ja so ausgegeben wie in der Warnung steht
"battery":100,"voltage":3095,"linkquality":18,"click":"single" wenn ich klicke kommt nur 'click' ,'action' kommt ja nicht und anders rum ..es geht ja auch alles nur die Warnung stört mich :(

Re: Xiaomi Aqara wireless switch (with gyroscope) MQTT2

Verfasst: 14. Jan 2020 02:50
von udo1toni
Wie gesagt, die Warnung wirst Du los, indem Du die Items nicht direkt mit channels versiehst, sondern eine Rule verwendest.