Momentan bin ich noch am Rumspielen und ausprobieren, aber wenn ich mir die Fragen des Energiedashboards ansehe und die Sensoren die ich grade auslese, sehe ich hier einige offene Punkte die zu lösen sind bevor das Ganze mit weiteren Komponenten aktiv wird.
Momentan In Verwendung: 1x ESPLesekopf mit Tasmota EZB DD3 mit 2 Richtungs-Doppeltarif-Zähler
T1,T2, Verbrauch Gesamt,jew in KWH und den momentanen Leistungskurven in Watt für 3 Phasen
Kurzfristig Geplant: ESPHome für die Viessmann Gasheizung, AI on the Edge für Wasser und Gaszähler.
Was mache ich mit Anfangswerten die aus dem Zähler kommen und die Statistik verunstalten wie 2,4kwh Export die ich nich erzeugt habe nach meinem Wissensstand? Die müssen ja irgendwie abgezogen werden
Wie lange speichert das Dashboard Verbräuche , Preise und Teilsummen einzelner Verbraucher und Erzeuger. Ich finde die doppelte Buchhaltung mit Grafana und InfluxDB irgendwie abschreckend.
Würde dazu noch Klimadaten wie Wind, Wetter,Temperatur , Luft- und Bodenfeuchtigkeit abspeichern damit wir uns das Gartentagebuch etwas sparen wo wir sowas bisher händisch notiert haben.
Wieso hat das Dashboard keine Anzeige für momentan Vebrauch?
Hier liegen schwankende Werte von wenigen dutzend bis mehreren hundert Watt an den 3 Phasen des Zählers an. Das sollte doch standardmäßig mit angezeigt werden
Wie geht man die Amortisierung am besten an? Man hat ja in den Angeboten der Solarteure eine Beispielrechnung und man hat Prognosen in HA und es gibt statistische Werte die man bisher gemessen hat bzw die man gemessen hat und hochrechnen kann.
Die Einzelnen Werte gegeneinander zu stellen wäre interessant so dass man am Ende sieht was gestimmt hat und wie weit man sich vertan hat zu seinen Gunsten oder Ungunsten.
Wie macht man das Ganze robust gegenüber Veränderungen wie Wechsel des Stromanbieters zwischendurch der womöglich dynamische Preise hat und die Rechnung ändert oder eine Preissenkung die die Amortisierung verlängert? Wie würde ich die Sache ansetzen wenn ich damit rechne dass ich eine Solaranlage in klein jetzt kaufe und dann auf den Geschmack komme und noch mal erweitern möchte ?
Das EnergieDashboard kennt auch keine Momentanverbräuche in Watt, sondern erwartet immer Wh oder kWh-Stunden oder vergleichbares. Momentanverbräuche musst Du Dir anderswo anzeigen lassen.
In der Regel Speicher HA seine Einzelwerte 10Tage. Die Daten aus dem EnergieDashboard werden länger gespeichert und dann auch intern irgendwie in Wochen-, Monats-, Jahreswerten abgespeichert. Alle anderen Werte sind nach 10Tagen weg.
Du kannst nun alles was du länger behalten möchtest in die influxDB auslagern, aber nur das was du wirklich benötigst um die influxDB nicht auch unnötig voll laufen zu lassen oder du erhöhst die Speicherdauer in der HA Datenbank, was dann aber wieder auf die Performance schlagen könnte.
Für Amortisation muss Dir jemand anderes weiter helfen. Darum habe ich mich nie gekümmert, aber Du kannst ja Deine Bezugskosten und Deine Einspeisekosten hinterlegen. Dann siehst Du was Du verdient und was Du ausgegeben hast und in Kombination mit Deinem Gesamtverbrauch kannst Du Dir dann auch errechnet, wieviel Geld du gespart hat, weil Du Deinen eigenen erzeugten Strom verbraucht hast und mit den 3 Werten dann Deine Amortisation rechnen.
Viel Erfolg
Claudius
Kleine Ergänzung noch. Wegen der Anfangswerte. Wenn diese wirklich im EnergieDashboard falsch angezeigt werden sollte, kannst du sie auch hinterher über Entwicklerwerkzeuge - Statistiken bearbeiten.
Es ist ziemlich mühsam den Zeitpunkt des falschen Wertes zu finden.
Vor allem ist es schwierig wenn man zwar den Verbrauch repariert hat, aber dann die Kosten weiterhin verkehrt sind
Noch dazu kommen diese Geisterwerte des öfteren wieder. Gerne in der Nacht und 2-3 mal.
Keine Ahnung warum dann nochmal der Gesamtverbrauch des Zählers 2mal eingespielt wird.
Auf die Dauer macht einen das Reparieren mürbe.
Hast du ein Helfer dafür erstellt der den aktuellen Wert mit loggt? Manchmal gehen die Geräte, besonders ESP offline und dann nimmt der den gesamt Wert weil das Energie dashboard nicht damit um kann wenn der Wert ‚nicht Verfügbar‘ ist. Hatte das auch am ersten Tag.
Stromverbrauch und Erzeugung sind dann im Energie-Dashboard ausgewählt mit einem statischen Preis in Cent.
Ob der Lesekopf offline geht, kann ich jetzt nicht mit Sicherheit sagen. USB-Kabel und Netzteil sind bisher aber solide gelaufen und WLAN reicht dank Mesh Netzwerk deutlich über die Grundstücksgrenze hinaus, Empfangsprobleme sollte es also in dem Abstellraum nicht geben.
Ok Weiss nicht wie sich das in Verbindung mit mqtt verhält. Bei Esphome kann man es auch beobachten das er manchmal auf offline geht. Hat auch nichts mit dem Empfang oder so zu tun warum aber das so ist kann ich auch nicht erklären dafür Steck ich noch nicht so tief in der esp Materie drin ist aber auch bekannt daher soll man einen Helfer nutzen als fallback der das verhindert das der Wert auf 0/unavailable geht und somit der Gesamtwert geloggt wird. Vielleicht kannst ja was damit anfangen:
‘sensor.gaszaehler_gasverbrauch’ Ist der originalwert und
‘sensor.gasincubicmeter’ ist in dem Fall der Template Sensor der an das Energie Dashboard weitergegeben wird.
gemacht hab. Das wäre ein neuer Zwischensensor nicht der alte der schon ins Dashboard linkt oder?
Heisst ich hab Tasmota Erzeugung, Erzeugung-Puffer-, Erzeugung-Dashboard und nochmal 3 für den Gesamtverbrauch? Momentan-Verbrauch muss man ja ned Puffern.
template:
- sensor:
# Stromzähler Abstellkammer Verbrauch
- name: "Stromzähler Verbrauch EG"
unique_id: "StromzEGVerbrauch"
unit_of_measurement: 'Wh'
device_class: "energy"
state_class: "total_increasing"
state: >-
{% if states('sensor.tasmota_sm_1_8_0') == 'unavailable' or states('sensor.tasmota_sm_1_8_0') == 0 %}
{{ states('sensor.stromzezverbrauch') }} #Verweis auf sich selbst. Das geht definitiv
{% else %}
{{ states('sensor.tasmota_sm_1_8_0') }}
{% endif %}
ich benutze letzteres.
Viel Erfolg
Claudius
P.S. meines Wissens werden unique_ids in HA immer klein geschrieben gespeichert. Dann wäre es vielleicht sinnvoll diese auch in der Definition so zu schreiben, wie sie später in HA verwendet werden. Dann ist das nicht so verwirrend und man kann leichter mit Copy&Paste arbeiten.
Das allein war es aber nicht.
Angeblich laut Englischer Seite braucht es availability templates und nen Default wert.
Laut Protokoll fällt der Sensor hier und da auf “0” was aber nicht immer einen falschen Wert in der Statistik zur Folge hat.
Hast Du jetzt eine funktionierende Lösung gefunden?
Ich habe das mit den
availability template
nicht hinbekommen und, wie oben schon einmal als Beispiel aufgeführt, mit folgendem Code bei mir reparieren können.
template:
- sensor:
# Stromzähler Abstellkammer Verbrauch
- name: "Stromzähler Verbrauch EG"
unique_id: "StromzEGVerbrauch"
unit_of_measurement: 'Wh'
device_class: "energy"
state_class: "total_increasing"
state: >-
{% if states('sensor.tasmota_sm_1_8_0') == 'unavailable' or states('sensor.tasmota_sm_1_8_0') == 0 %}
{{ states('sensor.stromzegverbrauch') }} #Verweis auf sich selbst. Das geht definitiv
{% else %}
{{ states('sensor.tasmota_sm_1_8_0') }}
{% endif %}
Eventuell muss Du es für Deine Bedürfnisse anpassen und eben 0-Werte auch zulassen. Prüfe einfach welche Werte so im Problemfall vorkommen. Bei einigen heisst es unavailable oder none. Dann wäre der Code wie folgt und in folgendem Code würde 0 als valider Wert ebenfalls ausgewertet. Deine Rahmenbedingungen musst du leider selber ermitteln und dann die Bedingungen drum herum bauen. Blöd zum Testen, weil man die Fehlerwerte eben nicht provozieren/simulieren kann.
template:
- sensor:
# Stromzähler Abstellkammer Verbrauch
- name: "Stromzähler Verbrauch EG"
unique_id: "StromzEGVerbrauch"
unit_of_measurement: 'Wh'
device_class: "energy"
state_class: "total_increasing"
state: >-
{% if states('sensor.tasmota_sm_1_8_0') == 'unavailable' or states('sensor.tasmota_sm_1_8_0') == 'none' %}
{{ states('sensor.stromzegverbrauch') }} #Verweis auf sich selbst. Das geht definitiv
{% else %}
{{ states('sensor.tasmota_sm_1_8_0') }}
{% endif %}
Also hier ist das Sensor Log von heute Nacht für Erzeugung und Verbrauch:
Verbrauch:
3-4 Uhr
03:07:00 - Vor 12 Stunden wechselte zu 17671225.01659
03:06:59 - Vor 12 Stunden wechselte zu 17671201.8228
03:01:51 - Vor 12 Stunden nicht mehr verfügbar
03:01:02 - Vor 12 Stunden wechselte zu 17671201.8228
12-13 Uhr
12:20:27 - Vor 3 Stunden wechselte zu 17675441.10757
12:20:17 - Vor 3 Stunden wechselte zu 0.0
12:20:07 - Vor 3 Stunden wechselte zu 17675439.32147
Erzeugung:
0-12 Uhr
11:20:46 - Vor 4 Stunden wechselte zu 2477.0
11:20:46 - Vor 4 Stunden nicht mehr verfügbar
10:07:03 - Vor 5 Stunden wechselte zu 2477.0
10:04:42 - Vor 5 Stunden nicht mehr verfügbar
07:52:43 - Vor 7 Stunden wechselte zu 2477.0
07:52:43 - Vor 7 Stunden nicht mehr verfügbar
03:06:59 - Vor 12 Stunden wechselte zu 2477.0
03:01:51 - Vor 12 Stunden nicht mehr verfügbar
02:00:08 - Vor 13 Stunden wechselte zu 2477.0
02:00:08 - Vor 13 Stunden nicht mehr verfügbar
00:46:57 - Vor 14 Stunden wechselte zu 2477.0
00:42:13 - Vor 14 Stunden nicht mehr verfügbar
00:41:26 - Vor 14 Stunden wechselte zu 2477.0
00:41:25 - Vor 14 Stunden nicht mehr verfügbar
00:40:37 - Vor 14 Stunden wechselte zu 2477.0
00:39:02 - Vor 14 Stunden nicht mehr verfügbar
00:28:45 - Vor 15 Stunden wechselte zu 2477.0
00:28:35 - Vor 15 Stunden wechselte zu 0.0
00:21:15 - Vor 15 Stunden wechselte zu 2477.0
00:21:05 - Vor 15 Stunden wechselte zu 0.0
00:07:05 - Vor 15 Stunden wechselte zu 2477.0
00:06:55 - Vor 15 Stunden wechselte zu 0.0
Wie man sieht haben wir sowohl Availability Fehler als auch Fälle wo man trotz “increasing total” mal den gleichen Wert bzw “0” hat.
die 0er und „nicht verfügbar“ müssen komplett verschwinden. Anonsten laufen dir die Werte nur so davon.
Von 0 auf Wert, sieht und interpretiert HA meiner Meinung nach immer als Anstieg und rechnet den mit ein.
Leg dir einfach einen Alternativ-Sensor an und spiele dort mit den Wenn-Dann-Bedingungen bis die „nicht verfügbar“ und 0er Werte weg sind. So habe ich das damals gemacht und bin zu meiner obigen Funktion/Sensor gekommen.
Viel Erfolg
Claudius
werd ich machen.
Ideen wieso diese Werte aus Tasmota so komisch rauskommen würde mich auch interessieren. Andere Ideen ausser der Sensor hat zu schlechtes WLAN an seinem Bestimmungsort? Das Handy hat dort null Probleme da das Haus mit 3 Verstärkern relativ gut ausgeleuchtet ist.
Mal gucken.
MQTT Loglevel hab ich hoch gesetzt, jetzt muss ich nur noch die DebugDaten irgendwo wegschreiben und wieder finden um etwas Licht reinzubringen.
Unavailable könnte wlan sein, aber die null werte sind sehr komisch.