Seite 1 von 1

Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 29. Sep 2025 18:01
von rbeudel
Hallo,
ich habe einen neuen Zähler bekommen. Über das Tasmota Menü bekomme ich schon mal den Verbrauch angezeigt, nur nach OH bekomme ich nichts.
Der MQTT String ist:

Code: Alles auswählen

{
  "Time": "2025-09-29T16:34:18",
  "E320": {
    "E_in": 1,
    "E_out": 0,
    "Power": 0,
    "Meter_Number": "0a014c475a00044100f4"
  }
}
Der MQTT State Topic ist tele/tasmota_25E93C/SENSOR und unter Incomming ... habe ich REGEX:(.*_kwh.*)∩JSONPATH:$.E320.E_in
Aber ich bekomme immer nur 0 angezeigt. Ich sehe hier aber keinen Fehler. Habe ich ein Komma vergessen :?:

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 29. Sep 2025 18:26
von Harka
Moin,
aus der Fragestellung geht nicht hervor wofür REGEX:(.*_kwh.*) gut ist. Bekommst Du mit JSONPATH:$.E320.E_in einen Wert?

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 29. Sep 2025 19:47
von rbeudel
Bei einem anderen Zähler funktioniert das so. Im gleichen subtopic oder wie das heisst werden mehrere Werte nach einander übertragen. Bezugstrom und Bezogene Energie. Es müsste zur Zeit eine 1 für 1 KWh erscheinen, aber es gibt in OH eine null.

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 29. Sep 2025 20:10
von Harka
ja aber bei diesem Zähler und diesem Json-Wert kommt doch kein ->kwh<- vor. Daher führt der Filter zu keinem Treffer. Ggf. musst Du statt dessen nach einem Wert suchen der nur hier vor kommt.

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 29. Sep 2025 20:22
von rbeudel
Stimmt, das habe ich ganz ausser acht gelassen. Wahrscheinlich muss ich schon in Tasmota was ändern um eine Unterscheidung hinzubekommen. Alles noch mal auf Anfang. Das ist aber etwas für morgen, vielen Dank erst einmal.

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 29. Sep 2025 20:57
von peter-pan
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 ?

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 30. Sep 2025 11:04
von rbeudel
Den REGEX verstehe ich nicht ganz? Suchst du da nach "kwh"?
Vollkommen richtig. Ich war wieder zu ungeduldig und habe nicht gewartet bis alle Daten übertragen wurden. RegEx ist nicht nötig. Zudem muss ich den Zähler noch freischalten, der liefert nur die KWh ohne Nachkommastellen und die Leistung überhaupt nicht. Die KWh habe ich nach Deinem Konzept schon mal in OH. Jetzt muss noch die Taschenlampe tätig werden um weitere Daten zu bekommen. Vielen Dank für die Tips.
Bei meinem anderen Zähler ging es nicht ohne regEx.

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 30. Sep 2025 15:21
von peter-pan
Also ich musste meinen Smartmeter nicht beim E-Werk freischalten, das ging auch so.

Wie sieht denn dein MQTT-String aus der Web-UI aus ? Sind da auch keine Nachkomma-Stellen drin ?

Wenn ich das Smartmeter-Script für den E320 anschaue, dann müssten da eigentlich 3 Nachkomma-Stellen angezeigt werden !

E320 Script:

Code: Alles auswählen

>D
>B
=>sensor53 r
>M 1
+1,3,s,20,9600,E320
1,77070100020800ff@1000,Total Delivered,kWh,Total_out,3
1,77070100010800ff@1000,Total Consumed,kWh,Total_in,3
1,77070100100700ff@1,Current power,W,Power_in,3
1,77070100600100ff@#,Server-ID,,Meter_Number,0    
#
Bei mir sind es sogar 4 Nachkommastellen, standardmäßig bzw. 0 Nachkommastellen.

Re: Neuer Zähler aber ich bekomme die Daten nicht in OH

Verfasst: 30. Sep 2025 17:36
von udo1toni
Es kommt auf den Zählertyp an, ob die optische Schnittstelle Daten liefert, und wenn ja, in welcher Form.
Mein erster Zähler lieferte nur wenige Datensätze pro Minute, der aktuelle Zähler kann viele Daten liefern, aber erst nach Freischaltung werden diese in voller Auflösung und Menge ausgegeben (ca. ein kompletter Datensatz pro Sekunde). Datenschutz ist wichtig...

Die Eingabe der PIN erfolgt entweder über einen Taster am Zähler oder auch gerne per Blinksignal, wobei man pro Ziffer entsprechend oft das Licht blinken lässt.
Ob der Zähler die Daten reduziert ausgibt hängt vom Modell ab, die PIN ist individuell (pro Gerät, pro Kunde) und das EVU (bzw. der Messstellenbetreiber) muss diese auf Verlangen unentgeltlich mitteilen. Die PIN muss nur einmal erfolgreich eingegeben werden (die Freischaltung überlebt auch einen Stromausfall).