Home Assistant Integration über InfluxDB Sensor #3221
-
Hallo zusammen, ich war mir nicht sicher, ob ich meine Frage in die Discussion "iobroker" integrieren soll, oder ein neues Topic erstellen soll. Habe mich jetzt für letzters entschieden. Ich möchte gerne die Daten aus SOLECTRUS in Home Assistant integrieren. Es geht mir vor allem um den Wert "PV Erzeugung Gesamt". Hintergrund ist dabei, dass ich diesen Wert benötige, um ihn dann mittels MQTT an einen ESP Easy zu übertragen. Ich habe mir nämlich eine kleine PV Anzeige mittels Lasercutter und eben dem ESP Easy samt Displays gebastelt (siehe Bild unten). Bislang hole ich mir die Werte für den Gesamtertrag mit der SENEC Integration aus der SENEC API. Ich würde nun gerne aber auf eine rein lokale Lösung setzen und diesen Weg über die API vermeiden. Ich habe versucht folgenden Sensor in meine configuration.yaml zu schreiben. Er zeigt mir auch den richtigen Wert an, nur habe ich den verdacht, dass der Sensor die InfluxDB "überfordert", d.h. die RAM Auslastung steigt sehr stark an. Vielleicht habe ich die Query nicht richtig geschrieben und jemand kann mir einen Tipp oder Hilfe hierbei geben. Ist ja evtl. auch für den einen oder anderen Interessant die Werte für das Home Assistant integrierte Energy Dashboard zu nutzen.
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Tolle Bastelei, bin beeindruckt :)
Ja, genau so ist es leider. Mit deiner Abfrage summierst du alles von Tag 0 an auf - und das kann sehr aufwändig sein. In InfluxDB liegen die Messwerte in 5-Sekunden-Auflösung vor. Je länger der Zeitraum ist, den du betrachten willst, desto länger dauert es. SOLECTRUS macht deshalb einige Verrenkungen, um die Performance zu optimieren. Es wird sehr viel gecached, das ist auch der Grund für die Existenz des Redis-Containers. Grundidee: Lange Zeiträume unterteilen in kürzere, die einzeln berechnet und dann addiert werden. Jedes Abfrage-Ergebnis im Cache speichern. Und Zeiträume, die komplett in der Vergangenheit liegen, nur noch aus dem Cache lesen. SOLECTRUS zu umgehen und direkt auf InfluxDB zuzugreifen, ist für große Zeiträume daher keine so gute Idee. Ein denkbares Zukunftsszenario wäre, dass SOLECTRUS eine API anbietet, mit der man bestimmte Werte maschinell herausholen kann (unter Nutzung des Caches). Das würde es dann auch ermöglichen, z.B. die Gesamtersparnis (in EUR) abzuholen, die SOLECTRUS aufwändig berechnet (nicht nur über InfluxDB). Eine solche API gibt es aber nicht und ist (bislang) auch nicht geplant. Falls du nicht selbst auch so ein Caching hinbekommst (ich weiß nicht, was mit HomeAssistant alles möglich ist), bleibt für die Ermittlung von "Gesamtertrag seit Installation" sinnvollerweise nur der Weg, die SENEC-Cloud-API abzufragen. Ich vermute, dass dieser Wert von SENEC angeboten wird, habe das aber nicht geprüft. |
Beta Was this translation helpful? Give feedback.
Tolle Bastelei, bin beeindruckt :)
Ja, genau so ist es leider. Mit deiner Abfrage summierst du alles von Tag 0 an auf - und das kann sehr aufwändig sein. In InfluxDB liegen die Messwerte in 5-Sekunden-Auflösung vor. Je länger der Zeitraum ist, den du betrachten willst, desto länger dauert es. SOLECTRUS macht deshalb einige Verrenkungen, um die Performance zu optimieren. Es wird sehr viel gecached, das ist auch der Grund für die Existenz des Redis-Containers. Grundidee: Lange Zeiträume unterteilen in kürzere, die einzeln berechnet und dann addiert werden. Jedes Abfrage-Erg…