nischram / E3dcGui

E3DC S10 / HomeMatic Daten abfragen, darstellen oder senden
38 stars 14 forks source link

Schreibzugriffe aus Homematic antriggern #53

Closed bs0001 closed 3 years ago

bs0001 commented 3 years ago

Hallo Nico,

ich würde gerne das Projekt etwas erweitern, um aus der Homematic verschiedene Sachen antriggern zu können.

Sperrzeit definieren Hier würde es mir reichen, für den aktuellen Tag eine Sperrzeit setzen zu können, da ich mit der SmartCharge Wetterprognose von E3DC nicht so wirklich zufrieden bin. Ich habe in meiner Homematic sowohl Wetterforecast-Daten als auch die Daten aus dem E3DC-Hauskraftwerk vorliegen und würde gerne täglich selbst (automatisiert) festlegen, ob und wann eine Sperrzeit erfolgen soll.

SmartPower - Maximale Ladeleistung Auch würde ich gerne anhand von mir definierter Parameter täglich festlegen, mit welcher maximalen Ladeleistung geladen werden soll.

Check auf Software Update Manuell oder auch automatisch würde ich gerne über die Homematic antriggern, dass geprüft wird, ob es eine neue Software gibt.

Was die Datenpunkte angeht, finde ich die entsprechenden TAGs in der RSCP-Übersicht. Es geht mir eher darum, wie ich z.B. durch Kopie "RscpMain.cpp" hingehen kann, dass ich diese aus einem Homematic Script aufrufe, um die gewünschte Aktion anzustoßen. Ich denke, so in etwa müsste das ja gehen, oder? Wäre prima, wenn Du mir hier ein paar Tipps geben könntest. Ich lass Dir auch gerne meine Erfahrungen anschließend zukommen. Ich nutze piVCCU3 auf einem Raspi 3B+ unter Raspbian, falls das wichtig ist.

Was mir auch noch fehlt, hat aber nichts mit diesem Thema hier zu tun ist, dass ich gerne den Tagesertrag je MPP-Tracker auslesen möchte. In der "RscpReader.cpp" aus dem "S10history"-Verzeichnis wird ja "TAG_DB_DC_POWER" ausgelesen. Darin befindet sich der Tagesertrag. Ich hätte aber auch noch gerne den jeweiligen Ertrag des Tracker 1 und 2. Ich dachte zuerst, dass hierfür die Variablen TAG_DB_PM_0_POWER und TAG_DB_PM_1_POWER zuständig sind. Diese sind bei mir aber immer 0. In den RSCP-Tags konnte ich hierzu nichts finden. Vielleicht hast Du hier ja auch noch eine Idee.

Viele Grüße Bernd

nischram commented 3 years ago

Hallo Bernd,

da meine Anlage genau das macht was sie soll, habe ich mir um die Steuerung der Sperrzeiten und der Lade-/Endladeleistung keine Gedanken gemacht. Ich habe aber bei der Suche im Netz folgendes gefunden: E3DC-Control Ich denke hiermit kannst du womöglich schneller das umsetzen was du möchtest. Der Beitrag ist wohl aus dem gleichen Anspruch entstanden. Nur liegt die Intelligenz dann in der Software selber und nicht in der Homematic, aber dafür kann man ja eine Abfrage zur HM machen, um dann einen Trigger als Auslöser für das Programm zu setzen. Hierfür könntest du dann aus meiner Software die Funktion "readHM" nutzen. Vielleicht kannst du auch meine neue Datei "Rscp/RscpWb.cpp" nutzen. Diese ist bei mir für die Wallbox. Ich habe in dem Programm Übergabeparameter eingebaut und kann somit das gleiche Programm mit unterschiedlichen Werten starten, die dann zum S10 gesendet werden. Vielleicht bekommst du diesen Programmteil für dich umgebaut. Wenn es klappt kannst du ein Zweites Programm schreiben welches dauerhaft durchläuft und in regelmäßigen abständen Variablen in der HM abfragt und sollte eine Variable sich ändern wird das RSCP-Programm gestartet.
Ich mache dies in der "screnSave.h" ich frage das Display ab und je nach Touch werden dann andere Parameter zum S10 gesendet.

Das mit den Updates kannst du dir sparen, das macht da System von alleine, der Button im System ist wohl eher für Installateure. Sobald E3DC ein Update für deine Anlage freigibt, wird es auch von alleine installiert.

Mit er Funktion "S10history" werden im System gespeicherte Daten ausgelesen, aber es werden nicht spezielle TAG abgefragt sonder nur einer und hier bekommt man entsprechend des Abfragezeitraums die Antwortdaten als CSV zurückgegeben. In den CSV-Daten sind keine werte für die Tracker enthalten. Ob nun das System bei einer Änderung der S10history vielleicht auch Tracker-Daten bekommen kann, weiß ich nicht. Die Software S10history ist, auch nicht von mir, dies habe ich hier gefunden: HistoryValues vom S10 abfragen. PM0 oder PM1 steht für die Leistungsmesser und nicht für die Tracker der PV-Anlage.

Diesen Issue schließe ich direkt, weil es ja nur eine Frage "Off-Topic" war, du kannst aber trotzdem weiter schreiben. Im Moment sehe ich keine Verwendung in meiner Software dafür.

Viele Grüße Nico