Ich weiss nicht was das für ein Zähler ist, den du hast und ich gehe mal davon aus, dass es sich um eine Custom-Version vom Tasmota handelt.
Was für ein Chip? ESP32 oder ESP8266
Bei mir sieht der JSON-String in der Web-UI so aus:
Code: Alles auswählen
20:23:43.469 MQT: tele/smartmeter/SENSOR = {"Time":"2025-09-29T20:23:43","Strom":{"Meter_Number":"0a01495452000350652c","Total_in":9296.0000,"Power_curr":0,"Total_out":0.0000},"ESP32":{"Temperature":37.3},"TempUnit":"C"}
bzw. als JSON aufbereitet:
Code: Alles auswählen
{
"Time": "2025-09-29T20:23:43",
"Strom": {
"Meter_Number": "0a01495452000350652c",
"Total_in": 9296,
"Power_curr": 0,
"Total_out": 0
},
"ESP32": {
"Temperature": 37.3
},
"TempUnit": "C"
Das dazugehörige Thing sieht so aus:
Code: Alles auswählen
Thing mqtt:topic:danny:smame01 "Hichi Smartmeter 01" (mqtt:broker:danny ) @ "MQTT2" [
availabilityTopic="tele/smartmeter/LWT",
payloadNotAvailable="Offline",
payloadAvailable= "Online"
]
{
Channels:
Type number : rssi "WiFi Signal Strength" [ stateTopic="tele/smartmeter/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
Type string : version "Firmware Version" [ stateTopic="stat/smartmeter/STATUS2", transformationPattern="JSONPATH:$.StatusFWR.Version"]
Type switch: reachable "Reachable" [ stateTopic="tele/smartmeter/LWT", on="Online", off="Offline" ]
Type string : hardware "Chip Set " [ stateTopic="stat/smartmeter/STATUS2", transformationPattern="JSONPATH:$.StatusFWR.Hardware"]
Type string : ipaddress "IP Address " [ stateTopic="stat/smartmeter/STATUS5", transformationPattern="JSONPATH:$.StatusNET.IPAddress"]
Type string : ssid "WiFi" [ stateTopic="tele/smartmeter/STATE", transformationPattern="JSONPATH:$.Wifi.SSId"]
Type string : grouptop "Group Topic" [ stateTopic="stat/smartmeter/STATUS1", transformationPattern="JSONPATH:$.StatusPRM.GroupTopic"]
Type string : serviceid "Zähler Nr" [ stateTopic="tele/smartmeter/SENSOR", transformationPattern="JSONPATH:$.Strom.Meter_Number"]
Type number : total_in "Gesamtverbrauch" [ stateTopic="tele/smartmeter/SENSOR", transformationPattern="JSONPATH:$.Strom.Total_in", unit="kWh"]
Type number : power_curr "Leistung" [ stateTopic="tele/smartmeter/SENSOR", transformationPattern="JSONPATH:$.Strom.Power_curr", unit="W"]
Type number : total_out "Erzeugung" [ stateTopic="tele/smartmeter/SENSOR", transformationPattern="JSONPATH:$.Strom.Total_out", unit="kWh"]
Type datetime : time "Zeit" [ stateTopic="tele/smartmeter/STATE", transformationPattern="JSONPATH:$.Time"]
}
und die Items-Beschreibung:
Code: Alles auswählen
//192.168.178.104 ESP32C3
Group gESP32C3_01 "Hichi ESP32C3-01 Hichi Smartmeter" <hichi> (gUG_Treppe) ["ElectricMeter"]
Switch esp32c3_01_Unreach "Hichi ESP32C3-01 LWT-Erreichbarkeit [%s]" <hichi> (gESP32C3_01,gLWT) ["Point"] { channel="mqtt:topic:danny:smame01:reachable" }
String esp32c3_01_Version "Hichi ESP32C3-01 Version [%s]" <hichi> (gESP32C3_01,gVer) ["Point"] { channel="mqtt:topic:danny:smame01:version" }
String esp32c3_01_Hardware "Hichi ESP32C3-01 Hardware [%s]" <hichi> (gESP32C3_01,gHard) ["Point"] { channel="mqtt:topic:danny:smame01:hardware" }
String esp32c3_01_IPAddress "Hichi ESP32C3-01 IP-Address [%s]" <hichi> (gESP32C3_01,gIpAd) ["Point_Control"] { channel="mqtt:topic:danny:smame01:ipaddress" }
String esp32c3_01_SSID "Hichi ESP32C3-01 Wlan-Netz[%s]" <hichi> (gESP32C3_01,gSSId) ["Status"] { channel="mqtt:topic:danny:smame01:ssid" }
Number esp32c3_01_RSSI "Hichi ESP32C3-01 RSSI [%.1f]" <hichi> (gESP32C3_01,gRSSI) ["Status"] { channel="mqtt:topic:danny:smame01:rssi" }
String esp32c3_01_GroupTopic "Hichi ESP32C3-01 Group Topic [%s]" <hichi> (gESP32C3_01,gGrTop) ["Point"] { channel="mqtt:topic:danny:smame01:grouptop" }
String esp32c3_01_serviceid "Hichi ESP32C3-01 Zähler Nr [%s]" <hichi> (gESP32C3_01) ["Point"] { channel="mqtt:topic:danny:smame01:serviceid" }
DateTime esp32c3_01_Date "Hichi ESP32C3-01 Refresh [%1$tH:%1$tM]" <hichi> (gESP32C3_01) ["Status","Timestamp"] { channel="mqtt:topic:danny:smame01:time" }
Number:Energy esp32c3_01_total_in "Hichi ESP32C3-01 Verbrauch total [%.0f %unit%]" <hichi> (gESP32C3_01) ["Status"] { channel="mqtt:topic:danny:smame01:total_in" }
Number:Power esp32c3_01_power_curr "Hichi ESP32C3-01 Leistung [%.0f %unit%]" <hichi> (gESP32C3_01) ["Status"] { channel="mqtt:topic:danny:smame01:power_curr" }
Number:Energy esp32c3_01_total_out "Hichi ESP32C3-01 Erzeugung [%.0f %unit%]" <hichi> (gESP32C3_01) ["Status"] { channel="mqtt:topic:danny:smame01:total_out" }
Number:Energy esp32c3_01_carryforwardini "Hichi ESP32C3-01 Saldovortrag 15.5.25 [%.0f %unit%]" <hichi> (gESP32C3_01) ["Status"]
Number:Energy esp32c3_01_MTD "Hichi Verbrauch lfd.Monat[%.0f kWh]" <hichi> (gESP32C3_01) ["Power"] //Rule - Opening Balance
Number:Energy esp32c3_01_YTD "Hichi Verbrauch lfd.Jahr[%.0f kWh]" <hichi> (gESP32C3_01) ["Power"] //Rule - Month To Day
Number:Energy esp32c3_01_curr "Hichi Heute [%.0f kWh]" <hichi> (gESP32C3_01) ["Power"] //Rule - Year To Date
Number:Energy esp32c3_01_PY "Hichi Verbrauch Vorjahr[%.0f kWh]" <hichi> (gESP32C3_01) ["Power"] //Rule - current Day
Number:Energy esp32c3_01_cfPY "Hichi SV per 15.5.24 [%.0f kWh]" <hichi> (gESP32C3_01) ["Power"] //Rule - Prior Year
Number:Energy esp32c3_01_yd "Hichi SM Vortag [%.0f kWh]" <hichi> (gESP32C3_01) ["Power"] //Rule - yesterday
Number:Energy esp32c3_01_pM "Hichi Verbrauch Vormonat [%.0f kWh]" <hichi> (gESP32C3_01) ["Power"] //Rule - previous Month
Den REGEX verstehe ich nicht ganz? Suchst du da nach "kwh"?
Für mich ist das ein ganz normaler JSON-String. Als YAML-Code sieht der Channel so aus:
Code: Alles auswählen
- id: total_in
channelTypeUID: mqtt:number
label: Gesamtverbrauch
configuration:
retained: false
postCommand: false
unit: kWh
formatBeforePublish: "%s"
step: 1
stateTopic: tele/smartmeter/SENSOR
transformationPattern:
- JSONPATH:$.Strom.Total_in
Also mein "Strom.Total_in" sollte dein "E320.E_in" sein.
Ist dein Channel-Type im Thing und dein Item-Type auch numerisch ?