Sonoff SNZB-01 Switch / zigbee2mqtt "There is no profile available for the selected item"
Moderatoren: Cyrelian, udo1toni
- udo1toni
- Beiträge: 14033
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sonoff SNZB-01 Switch / zigbee2mqtt "There is no profile available for the selected item"
Kannst Du bitte mal ein konkretes Beispiel zeigen? "Geht nicht" gibt's nicht.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 90
- Registriert: 18. Apr 2021 11:30
- Wohnort: Berlin
HABuserJM
Der "normale" Aktivitäts JSON-Konstrukt ist : wenn der Türkontakt auslöst. Gerade wurde aber ein Device-Status Konstrukt gesendet, der so aussieht:
Mein transformationpattern sieht also so aus :, da ich auf Contact reagiere. Das führt zu folgender Warnmeldung :
Sorry für die Einzeilencodeausgabe, aber ich weiss nicht, wie ich JSON formatiert posten kann, falls es überhaupt geht.
Code: Alles auswählen
{"ZbReceived":{"0x1D40":{"Device":"0x1D40","Name":" door_contact","0500?00":"010000010000","ZoneStatusChange":1,"ZoneStatusChangeZone":1,"Contact":1,"Endpoint":1,"LinkQuality":84}}}
Code: Alles auswählen
{"ZbReceived":{"0x1D40":{"Device":"0x1D40","Name":" door_contact","BatteryPercentage":100,"Endpoint":1,"LinkQuality":71}}}
Code: Alles auswählen
REGEX:(.*0x1D40.*)∩JSONPATH:$.ZbReceived.0x1D40.Contact
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}}}'
- udo1toni
- Beiträge: 14033
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sonoff SNZB-01 Switch / zigbee2mqtt "There is no profile available for the selected item"
Kein Problem
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:
Also im Ojekt muss zuerst der eine und danach der andere Ausdruck vorkommen.
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
}
}
}
Ja, das ist natürlich doof... allerdings ginge sowas:
Code: Alles auswählen
REGEX:(.*0x1D40.*Contact.*)∩JSONPATH:$.ZbReceived.0x1D40.Contact
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 90
- Registriert: 18. Apr 2021 11:30
- Wohnort: Berlin
HABuserJM
Klasse, danke, hat soweit funktioniert.
Dann könnte ich also für einen weiteren Channel, welcher den Batteriestatus enthält, folgendes verwenden:, um die normalen Werte abzufangen.
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
- udo1toni
- Beiträge: 14033
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Sonoff SNZB-01 Switch / zigbee2mqtt "There is no profile available for the selected item"
Genau
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet