Moin zusammen,
Ich habe kürzlich meine beiden HM-ES-TX-WM Verbrauchszähler gegen 2 bitShake Wifi (Tasmota) getauscht. Statistiksätze etc. alles Übernommen und sämtliche Helfer und Sensoren angepasst.
Leider habe ich alle paar Tage im Energie Dashboard hohe Ausschläge. Wenn ich mir die Statistiksätze anschaue, ist dort bei den „Helfer“ Sensoren immer der Zählerstand eingetragen. Also z.b. mal eben 15000Kwh oder beim Einspeisen mal -3000Kwh.
Hat noch jemand diese Problem mit den Tasmota Leseköpfen? Sie sitzen gerade und richtig auf dem Zähler.
Beobachtet habe ich auch, wenn man die Tasmota neu startet, machen die das auch?!
Gruß Mirko
Schau mal unter tasmota, ob das mit der Laufzeit des esp32 korreliert. \Laufzeit 1T01:10:26
Falls ja resettet er. Kenn ich das Problem.
Während bei mir der bitshake zunächst mind. 1/2 Jahr problemlos fehlerfrei funktionierte hatte ich trotz unveränderter Rahmenbedingungen plötzlich Probleme.
Hab’s dann auf schlechten WLAN Empfang geschoben - seitdem hab ich aber auch immer tageweise einen Fehler in der Statistik.
Moin, ich werde das nächste Mal drauf achten.
Schon mal gut zu wissen, das ich nicht alleine mit dem Problem bin
Gibts noch weitere da draußen?
Gruß Mirko
Hey Mirko,
Damit hatte ich auch anfangs Probleme. Das ding ist: Wenn der Bitshake einen Fehler hat empfängt Home Assistant den Zählerstand “0”. Sobald er wieder Online geht, hast du dann wieder deinen Zählerstand… durch die Hohe Differenz von 0 → Zählerstand, denkt Home assistant, dass du gerade auf einen Schlag den ganzen Strom verbraucht hast.
Die Lösung:
Erstelle dir einen template Sensor und binde Ihn ein anstatt den Bitshake direkt im Energiedashboard zu verwenden:
{% if states(‘sensor.bitshake_smartmeterreader_ehz_e_in’) == ‘unavailable’ or states(‘sensor.bitshake_smartmeterreader_ehz_e_in’) < ‘1’ %}
{{ states(‘sensor.template_bitshake_verbrauch’) }}
{% else %}
{{ states(‘sensor.bitshake_smartmeterreader_ehz_e_in’) }}
{% endif %}
Dieser code stellt sicher, dass valide werte übermittelt werden. Wenn der Wert nicht verfügbar oder “0” ist, wird der letzte valide Wert benutzt anstatt einen “0”- Eintrag ins Dashboard zu schreiben.
Grüße, René
Moin René,
das werd ich mal testen. Vielen Dank für den Tip.
Ich habe bereits Template Sensoren für Verbrauch und Einspeisung für den Haus Stromzähler und Verbrauch HT und NT für die Wärmepumpe angelegt.
Jetzt stehe ich auf dem Schlauch

Gruß Mirko
Du musst einfach nur den Code aus “Zustandstemplate” aus deinem screenshot gegen den Code in meinem post austauschen (und natürlich die Entitäten anpassen)
Für dich sollte der code dann so aussehen:
{% if states(‘sensor.bitshake_haus_dtz_e_in’) == ‘unavailable’ or states(‘sensor.bitshake_haus_dtz_e_in’) < ‘1’ %}
{{ states(‘HIER DIE ID DEINES TEMPLATE SENSORS’) }}
{% else %}
{{ states(‘sensor.bitshake_haus_dtz_e_in’) }}
{% endif %}
Der Code macht folgendes: Wenn die Ausgabe von deinem Bitshake = 0 oder nicht verfügbar (also wenn Bitshake aus irgendeinem Grund offline / Störung hat) Dann behalte den letzten bekannten wert.
Sonst: übernehme neuen wert von Bitshake
Coole Lösung, vielen Dank dafür!
Werde ich mir auch einbauen.
Das ist ja Super, ich trage das mal so ein und ziehe mal den Stecker zum testen.
Vielen Dank
Sag mal bescheid ob´s klappt.
Und Falls ja: die Anpassung musst du dann natürlich auch noch für den template sensor der einspeisung machen. sonst gibt es da das selbe Problem.
Moin moin, ich habe gestern Abend mal den Stecker gezogen und hatte anschließend keine hohen Statistiksätze. Scheint also zu funktionieren
Vielen Dank für den Tipp
Gruß Mirko
Hallo zusammen, ich hab das gleiche Problem und bekomme es irgendwie nicht in den Griff. Die Anpassung im Template-Helfer hab ich schon vorgenommen…
Beim aktuellen Verbrauch bekomme ich irre hohe Werte im Milliarden(?) Bereich, im Gesamtverbrauch kommt ab und zu eine null.
{% if states('sensor.tasmota_norax_power') | float(0) > 100000 or states('sensor.tasmota_norax_power') | float(0) == 'unavailable' %}
{{ states("sensor.stromverbrauch_aktuell") | float(0) }}
{% else %}
{{ states("sensor.tasmota_norax_power") | float(0) }}
{% endif %}'

by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
Hm. Hat keiner eine Idee? Irgendwie scheint es mir, als wenn das Template nicht funktioniert. Der Originalwert sensor.tasmota_norax_power hat genau die gleich Peaks wie das Template sensor.stromverbrauch_aktuell. Sie werden also nicht rausgefiltert, obwohl doch Werte größer 100000 durch die if-Abfrage betroffen sein sollten.
Ich habe auch mal die Diagnose Entitäten RSSI und Signal aktiviert. RSSI ist konstant bei 100 % und Signal ist konstant zwischen -40 und -42. Hatte die Vermutung, dass es einen Fehler gibt wenn es einen Verbindungsfehler gibt. Macht aber eigentlich keinen Sinn, da ja der fasche Wert auch im Originalsensor steht?!
Mir gehen die Ideen aus…
Mir ist gerade etwas aufgefallen. Ich habe das Script mal umgedreht:
{% if states('sensor.tasmota_norax_power') | int < 1 %}
{{ states('sensor.tasmota_norax_power') | int }}
{% else %}
{{ states('sensor.stromverbrauch_aktuell') | int }}
{% endif %}
Jetzt müsste er doch auf dem alten Wert stehen bleiben, oder? Tut er aber nicht. Der ausgegebene Wert ist sensor.tasmota_norax_power und der Wert beträgt um die 300 W
Edit:
Ok, er gibt 0 W aus, wenn ich es wie folgt ändere:
{% if states('sensor.tasmota_norax_power') | int < 1 %}
{{ states('sensor.tasmota_norax_power') | int }}
{% else %}
0
{% endif %}
Man kann also nicht auf das Template selbst verweisen, da hab ich also was falsches aus einem Forenbeitrag übernommen.
Die Frage ist also: wie komme ich an den zuletzt gespeicherten Wert?
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)