Meine Beispiele: Maximale Batteriekapazität, Solarproduktion einzelner Tracker und historische Monatsdaten #65
mce2024
started this conversation in
Show and tell
Replies: 1 comment
-
Danke dir für die Beispiele. Habe die Code Beispiele ein wenig schöner formatiert. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hallo allerseits,
als Neuling habe ich mich in den letzten Tagen mit diesem genialen Tool in Kombination mit Homeassistant und Grafana auseinandergesetzt. Mein Ziel war, ein paar Spezialdaten in die Langzeitanalyse zu bekommen. Hiermit möchte ich meine Ergebnisse der Community zur Verfügung stellen. Vielleicht können ja andere von meinen Ergebnissen profitieren und schneller zu ihrem Ziel kommen.
Beispiel 1: Maximale Batteriekapazität
Mein S10X Compact verfügt über 4 Batterien (DCB0-3). Deren max. nutzbare Kapazität wird über die Jahre nachlassen. Um diesen Prozess zu verfolgen, lese ich die Werte wie folgt aus:
Meine Datei "e3dc_dcb0.json" lautet:
Hierbei bezeichnet die "0" als Parameter von BAT_REQ_DCB_INFO die Batterie ID. D.h. für die anderen drei Batterien habe ich jeweils auch so eine JSON-Datei erzeugt, die dann die entsprechende Identifikationsnummer (0-3) beinhaltet.
Da die Kapazitätsinformationen im Ergebnis etwas verschachtelt dargestellt werden, muss ich im Shell.Script mit "[].BAT_DCB_INFO" entsprechend tiefer einsteigen.
Meine Datei "e3dc_dcb0.sh" lautet:
Ich habe auch eine solches Shell-Skript für jede Batterie individuell angelegt, da ich sonst die einzelnen Werte nicht unterschieden bekommen. D.h. im Homeassistant habe ich dann auch pro Batterie einen Command Line Sensor, dessen Wert dann an einen individuellen Sensor pro Batterie übergeben wird.
Meine Datei "e3dc.yaml" lautet für diese Einträge:
Beispiel 2: Solarproduktion einzelner Tracker
Hierbei war es zunächst etwas knifflig, die richtigen Variablen herauszufinden. Da ich über zwei Strings bzw. Tracker verfüge, musste ich ähnlich wie im Beispiel 1 jeweils eine JSON-Datei und ein individuelles Shell-Skript erstellen, um die Werte in Homeassistant unterschiedlich einbinden zu können.
Meine Datei "e3dc_tracker1.json" lautet:
Hier sind es die "0" in jeder "PVI_REQ..."-Zeile, die ich für die entsprechende Datei des zweiten Trackers auf "1" anpassen musste, um dessen Werte zu erhalten. (Die "0" bei "PVI_INDEX" bleibt!)
Mein Shell-Skript "e3dc_tracker1.sh" für den ersten Tracker lautet:
In der Datei "e3dc.yaml" lautet das dann:
Beispiel 3: historische Monatsdaten
Ebenfalls zur Langzeitanalyse möchte ich mir die "offizielle" Monatswerte des E3DC-Geräts darstellen und abspeichern lassen.
Dafür muss ich mir erstmal eine JSON-Datei erzeugen. Meine Datei "historical_lastmonth.jd" reduziert sich dabei auf Folgendes:
Im Shell-Skript erzeuge ich dann erstmal mit dieser .jd-Datei ein JSON-File, das ich dann anschließend mit dem "e2dc"-Kommando einlese.
Meine Datei "e3dc_lastmonth.sh" lautet:
In der "e3dc.yaml" nutze ich das dann wie folgt:
Ich hoffe meine Beispiele sind verständlich und für den Ein oder Anderen hilfreich, wenn er ebenfalls etwas tiefer in die Daten reingreifen möchte. Leider habe ich keinen Weg gefunden, das hier besser zu formatieren. Bin, wie gesagt, noch neu hier. Habe es immer versucht, als "Code" einzufügen.
Viel Spaß und Erfolg mit den Beispielen! "Go-RSCP" ist ein wirklich tolles kleines Projekt!
Beta Was this translation helpful? Give feedback.
All reactions