Re: Hichi IR Wifi mqtt Werte auslesen
Verfasst: 2. Aug 2023 19:32
Hi zusammen habe ein ähnliches Problem habe mich an dem Beispiel oben orientiert jedoch wird nur das Thing z1_Power_curr aktualisiertudo1toni hat geschrieben: ↑15. Jan 2023 18:01 Ah. Du nutzt drei Leseköpfe mit jeweils eingebautem WLAN?
Das Problem ist, dass auf dem identischen Topic völlig unterschiedliche JSON Objekte ausgeliefert werden.
Da hilft eine Verkettung von JSONPATH mit REGEX:Das ∩ bekommst Du bequem über den Hilfstext zum transformationPattern, oder halt von hier...Code: Alles auswählen
Thing topic 1EMH12345678 "Z1 Hauptzähler" @ "MQTT" { Channels: Type string : z1_Power_curr "Z1 Power Current" [ stateTopic="tele/tasmota_F9A39A/SENSOR" transformationPattern="REGEX:(.*_curr.*)∩JSONPATH:$[0].Power_curr" ] Type number : z1_180 "Z1 Zählwerk 1.8.0 (in)" [ stateTopic="tele/tasmota_F9A39A/SENSOR", transformationPattern="REGEX:(.*_in.*)∩JSONPATH:$[0].Total_in" ] Type number : z1_280 "Z1 Zählwerk 2.8.0 (out)" [ stateTopic="tele/tasmota_F9A39A/SENSOR", transformationPattern="REGEX:(.*_out.*)∩JSONPATH:$[0].Total_out" ] }
REGEX liefert eine leere Zeichenkette, wenn der String nicht matcht, woraufhin JSONPATH keinen Versuch unternimmt, den Channel upzudaten.
in z1_total_in und z1_total_out steht Null
hier mein Code
Code: Alles auswählen
Thing topic hitchi "Hauptzähler" @ "Network"
{
Channels:
Type string : z1_Power_curr "Power Current" [stateTopic="tele/tasmota_107FA7/SENSOR", transformationPattern="REGEX:(.*_curr.*)∩JSONPATH:$.SML.Power_curr"]
Type string : z1_total_in "Energie Verbrauch" [stateTopic="tele/tasmota_107FA7/SENSOR", transformationPattern="REGEX:(.*_in.*)∩JSONPATH:$.SML.Total_in"]
Type string : z1_total_out "Energie Einspeisung" [stateTopic="tele/tasmota_107FA7/SENSOR", transformationPattern="REGEX:(.*_out.*)∩JSONPATH:$.SML.Total_out"]
}
Code: Alles auswählen
Number hitchi_power "Netz Leistung [%.1f W]" <energy> (OpenDTU) {channel="mqtt:topic:Mosquitto:hitchi:z1_Power_curr"}
Number hitchi_in "Energie Bezug [%.3f kWh]" <energy> (OpenDTU) {channel="mqtt:topic:3448a27a:hitchi:z1_total_in"}
Number hitchi_out "Energie Einspeisung [%.3f kWh]" <energy> (OpenDTU) {channel="mqtt:topic:3448a27a:hitchi:z1_total_out"}
Code: Alles auswählen
{
"Time" : "2023-08-02T18:29:10",
"SML" : {
"Power_curr" : 479
}
}
Code: Alles auswählen
{
"Time" : "2023-08-02T18:29:30",
"SML" : {
"Total_out" : 40
}
}
Code: Alles auswählen
{
"Time" : "2023-08-02T18:29:41",
"SML" : {
"Total_in" : 381
}
}