Seite 2 von 2

Re: Sonoff SNZB-01 Switch / zigbee2mqtt "There is no profile available for the selected item"

Verfasst: 26. Okt 2022 18:29
von udo1toni
Kannst Du bitte mal ein konkretes Beispiel zeigen? "Geht nicht" gibt's nicht.

HABuserJM

Verfasst: 27. Okt 2022 16:38
von HABuserJM
Der "normale" Aktivitäts JSON-Konstrukt ist :

Code: Alles auswählen

{"ZbReceived":{"0x1D40":{"Device":"0x1D40","Name":" door_contact","0500?00":"010000010000","ZoneStatusChange":1,"ZoneStatusChangeZone":1,"Contact":1,"Endpoint":1,"LinkQuality":84}}}
wenn der Türkontakt auslöst. Gerade wurde aber ein Device-Status Konstrukt gesendet, der so aussieht:

Code: Alles auswählen

{"ZbReceived":{"0x1D40":{"Device":"0x1D40","Name":" door_contact","BatteryPercentage":100,"Endpoint":1,"LinkQuality":71}}}
Mein transformationpattern sieht also so aus :

Code: Alles auswählen

REGEX:(.*0x1D40.*)∩JSONPATH:$.ZbReceived.0x1D40.Contact
, da ich auf Contact reagiere. Das führt zu folgender Warnmeldung :

Code: Alles auswählen

Executing the JSONPATH-transformation failed: Invalid path '$.ZbReceived.0x1D40.Contact' in '{"ZbReceived":{"0x1D40":{"Device":"0x1D40","Name":" door_contact","BatteryPercentage":100,"Endpoint":1,"LinkQuality":71}}}'
Sorry für die Einzeilencodeausgabe, aber ich weiss nicht, wie ich JSON formatiert posten kann, falls es überhaupt geht.

Re: Sonoff SNZB-01 Switch / zigbee2mqtt "There is no profile available for the selected item"

Verfasst: 27. Okt 2022 19:39
von udo1toni
Kein Problem :)

Code: Alles auswählen

// JSON 1
{
    "ZbReceived": {
        "0x1D40": {
            "Device": "0x1D40",
            "Name": " door_contact",
            "0500?00": "010000010000",
            "ZoneStatusChange": 1,
            "ZoneStatusChangeZone": 1,
            "Contact": 1,
            "Endpoint": 1,
            "LinkQuality": 84
        }
    }
}
// JSON 2
{
    "ZbReceived": {
        "0x1D40": {
            "Device": "0x1D40",
            "Name": " door_contact",
            "BatteryPercentage": 100,
            "Endpoint": 1,
            "LinkQuality": 71
        }
    }
}
Zum Aufhübschen verwende ich ein Plugin, welches JSON automatisch formatiert, das sind dann tatsächlich nur zwei Klicks.

Ja, das ist natürlich doof... allerdings ginge sowas:

Code: Alles auswählen

REGEX:(.*0x1D40.*Contact.*)∩JSONPATH:$.ZbReceived.0x1D40.Contact
Also im Ojekt muss zuerst der eine und danach der andere Ausdruck vorkommen.

HABuserJM

Verfasst: 29. Okt 2022 12:58
von HABuserJM
Klasse, danke, hat soweit funktioniert.
Dann könnte ich also für einen weiteren Channel, welcher den Batteriestatus enthält, folgendes verwenden:

Code: Alles auswählen

REGEX:(.*0x78AD.*BatteryPercentage.*)∩JSONPATH:$.ZbReceived.0x78AD.BatteryPercentage
, um die normalen Werte abzufangen.

Re: Sonoff SNZB-01 Switch / zigbee2mqtt "There is no profile available for the selected item"

Verfasst: 30. Okt 2022 02:01
von udo1toni
Genau :)

HABuserJM

Verfasst: 30. Okt 2022 09:21
von HABuserJM
Hier ist das Ergebnis und ich habe keine Warnmeldungen mehr.
batterielevel.png