Hitchi ESP32 Stromzähler Dashboard Neustart

So… hab es mal versucht… geht sogar alles… ein Problem hatte ich aber nicht bedacht und noch nicht verstanden…

Kopf bestellt, Script gesucht, gebaut und läuft auf einem:
eBZ DD3 2R06 DTA SMZ1

In HomeAssistant herein geschoben, Werte gewandelt… alles TOP!

image

zu

image

Alles fein… aber dann startet das Dingen neu oder ich irgendwas dann:

image
oder

Code dazu zb.:


name: "Strom-EG-Bezug"
        unique_id: "Strom-EG-Bezug"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
          {{ float(states('sensor.bitshake_smartmeterreader_sml_1_8_0')) | round(3) }}

Hat jemand den Befehl um das zu verhindern?
Vielleicht auch noch wie ich meine Zähler wieder geheilt bekomme???

Würde der gehen?

{% if states('sensor.bitshake_smartmeterreader_sml_1_8_0') | float == 0 %}
           {{ states('sensor.strom_eg_bezug') }}
          {% else %}
           {{ states('sensor.bitshake_smartmeterreader_sml_1_8_0') | round(4) }}
          {% endif %}

Falls es einer brauchen kann…

>D
>B
;TelePeriod 10
=>sensor53 r
>M 1
; Device: eBZ DD3 2R06 DTA SMZ1
; protocol is D0 SML HEX
; 9600@7E1 for OD-type devices, 9600@8N1 for SM-type devices
+1,5,s,0,9600,SML
; Zählerstand zu +A, tariflos, 
; Auflösung 10 µW*h (6 Vorkomma- und 8 Nachkommastellen)
1,77070100010800FF@100000000,Energie Bezug,kWh,1_8_0,8
; Zählerstand zu -A, tariflos
; Auflösung 10 µW*h (6 Vorkomma- und 8 Nachkommastellen)
1,77070100020800FF@100000000,Einspeisung,kWh,2_8_0,8
; Summe der Momentan-Leistungen in allen Phasen, Auflösung 0,01W (5 Vorkomma- und 2 Nachkommastellen)
1,77070100100700FF@1,Leistung,W,16_7_0,18
; Momentane Leistung in Phase Lx, Auflösung 0,01W (5 Vorkomma- und 2 Nachkommastellen)
1,77070100240700FF@1,Leistung L1,W,36_7_0,18
1,77070100380700FF@1,Leistung L2,W,56_7_0,18
1,770701004C0700FF@1,Leistung L3,W,76_7_0,18
; Spannung in Phase Lx, Auflösung 0,1V (nur über MSB)
1,77070100200700FF@1,Spannung L1,V,32_7_0,1
1,77070100340700FF@1,Spannung L2,V,52_7_0,1
1,77070100480700FF@1,Spannung L3,V,72_7_0,1
; Statuswort, 4 Byte Information über den Betriebszustand, HEX string
; tasmota can decode one string per device only!
;1,1-0:96.5.0*255@#),Status1,,96_5_0,0
;1,1-0:96.8.0*255@#),Status2,,96_8_0,0
; Hersteller-Identifikation, Hersteller-Kennung und Typ mit Software Version
1,77078181C78203FF@#),Herstellerkennung,,Typ,0
; Eigentumsnummer nach Kundenwunsch, sonst nach DIN 43863-5
1,77070100000000FF@#),Eigentumsnummer,,0_0_0,0
; Geräte-Identifikation, Nach DIN 43863-5 
1,77070100000009FF@#),Identifikation,,96_1_0,0
#

Hallo Marcvons,
Ich hatte ein ähnliches Problem. Es werden zeitweise extrem hohe Werte übermittelt und das verhagelt dir dann deine Statistik.
Habe im Internet dann eine Lösung gefunden:

# Wertebereiche und Sensornamen entsprechend anpassen. Sensorwerte werden nur zugelassen, wenn diese der IF-Bedingung entsprechen. Ansonsten wird der aktuelle Wert des Template Sensors beibehalten.
#https://technikauswahl.de/2023/01/stromzaehler-mit-ir-lesekopf-tasmota-und-home-assistant-auslesen/

    - name: "SmartMeter Leistung"
      unique_id: "smartmeter_power_filtered"
      device_class: energy
      unit_of_measurement: "W"
      state_class: measurement
      state: >-
        {%- if states('sensor.stromzaehler_lk13be_power_curr')|float(0) >= -600 and states('sensor.stromzaehler_lk13be_power_curr')|float(0) <= 30000 and states('sensor.stromzaehler_lk13be_power_curr')|float(0) != 0 -%}
        {{(states('sensor.stromzaehler_lk13be_power_curr'))}}
        {%- else -%}
        {{(states('sensor.smartmeter_leistung'))}}
        {%- endif -%}

    - name: "SmartMeter Verbrauch"
      unique_id: "smartmeter_verbrauch_filtered"
      device_class: energy
      unit_of_measurement: "kWh"
      state_class: total_increasing
      state: >-
        {%- if states.sensor.stromzaehler_lk13be_power_total_in.state|float(0) >= states.sensor.smartmeter_verbrauch.state|float(0) and states.sensor.stromzaehler_lk13be_power_total_in.state|float(0) <= states.sensor.smartmeter_verbrauch.state|float(0) + 1 and states.sensor.stromzaehler_lk13be_power_total_in.state|float(0) < 10000 and states.sensor.stromzaehler_lk13be_power_total_in.state|float(0) != 0 or states('sensor.smartmeter_verbrauch') in ['unavailable', 'unknown', 'none'] -%}
        {{(states.sensor.stromzaehler_lk13be_power_total_in.state)}}
        {%- else -%}
        {{(states('sensor.smartmeter_verbrauch'))}}
        {%- endif -%}

    - name: "SmartMeter Einspeisung"
      unique_id: "smartmeter_einspeisung_filtered"
      device_class: energy
      unit_of_measurement: "kWh"
      state_class: total_increasing
      state: >-
        {%- if states.sensor.stromzaehler_lk13be_power_total_out.state|float(0) >= states.sensor.smartmeter_einspeisung.state|float(0) and states.sensor.stromzaehler_lk13be_power_total_out.state|float(0) <= states.sensor.smartmeter_einspeisung.state|float(0) + 1 and states.sensor.stromzaehler_lk13be_power_total_out.state|float(0) < 5000 and states.sensor.stromzaehler_lk13be_power_total_out.state|float(0) != 0 or states('sensor.smartmeter_einspeisung') in ['unavailable', 'unknown', 'none'] -%}
        {{(states.sensor.stromzaehler_lk13be_power_total_out.state)}}
        {%- else -%}
        {{(states('sensor.smartmeter_einspeisung'))}}
        {%- endif -%}

Es werden die Werte nur gespeichert, wenn die Bedingungen passen. Bei mir scheint das bisher gut zu funktionieren.
Hoffe das hilft dir weiter.

Hey super, werde es testen …

Für alle, die nach dem Script suchen, was der Hichi Lesekopf braucht für den Zähler

eBZ DD3 2R06 DTA SMZ1

und hier landen, denen sei gesagt, dass der TITEL mit HITCHI ESP32 irreführend sein kann, denn der Screenshot zeigt einen “Bitshake Smartreader” und die gezeigte Config hat hier bei Hitchi V2 so nicht geklappt, zumindest nicht bei einem eBZ: DD3 2R06 ETA - SMZ1

Zumindest die hier genannte DTA Version des Zählers muss ggf. anders adressiert werden als meine ETA Version, die ich hier habe oder Bitshake und Hitchi V2 sind anders beim gpio

>D
>B
;TelePeriod 10
=>sensor53 r
>M 1
; Device: eBZ DD3 2R06 DTA SMZ1
; protocol is D0 SML HEX
; 9600@7E1 for OD-type devices, 9600@8N1 for SM-type devices
+1,5,s,0,9600,SML

Nochmals: device ist nur eine Kommentarzeile, aber ich würde die ändern, wenn ich einen ETA und keinen DTA habe.

Denn zumindest der Hichi V2, der mehrere Leseköpfe auslesen kann, braucht was anderes.

Wer den Lesekopf aber einem ersten Test unterziehen will (der V2 hat keine Betriebs LED und man sieht rein gar nix, ob das Ding läuft, außer über diesen Trick hier) testen will, der nimmt eine Android Kamera und macht ein Foto vom Lesekopf, bei dem aus dem rechten Loch die LED im Foto sichtbar hell leuchten sollte.

iphones filtern diese IR Anteile bei einigen Modellen aus, aber ein altes Android Tablet / Smartphone zeigt den hellen Punkt.

Das folgende 2. Skript für den eBZ von der Tasmota Page hier
soll den Hichi V2 Lesekopf auf das Smartmeter eBZ: DD3 2R06 ETA - SMZ1 anpassen und dabei auch die besagte LED ausschalten, weil die nicht benötigt wird, von daher besser den Test mit der Kamera App vorher machen.

ABER: DAS SKRIPT MUSS GEÄNDERT WERDEN.

In dem Script folgende Zeile ändern von “13 in 3” und “,1” anhängen

+1,13,s,0,9600,SML
in
+1,3,s,0,9600,SML,1

Dann ist der KOPF auf das Smartmeter eingestellt und die Sende LED auch aus, sie geht von da an nur noch auf Anforderung an.
So läuft es hier jedenfall seit ein paar Stunden.