Hi Leute,
ich habe mir die letzten Tage die Mühe gemacht und meinen Flow komplett neu gebaut.
Zugegeben, als ich letztes Jahr damit angefangen habe, hatte ich selber relativ wenig Plan was ich da tue, geschweige denn wo es mal endet 😉 Da ich selbst, im letzten Jahr durch das basteln viel gelernt habe über Smarthome Programmierung und speziell die Möglichkeiten in NodeRed, hätte ich vieles mit dem Wissen von heute komplett anders gemacht. Durch die vielen Erweiterungen meines alten Flows, war mir das alles selbst teils viel zu verwurstet.
Nun ist es soweit und die erste Version ist ready. Habe das selbst eben erst zum testen auf produktiv geschaltet aber sollte soweit alles klappen. Im Grunde macht der Flow das gleiche wie mein Alter, der Unterschied ist aber, dass er diesmal extrem modular gebaut ist und sich mit wenigen Handgriffen skalieren und verändern lässt.
Aktuell macht er folgendes, er beginnt morgens bei Sonnenaufgang mit dem Laden also schaltet mein Solarflow auf Netzeingang und läd dynamisch den Überschuss meiner Aufdach-PV plus das was der HUB liefert. Sollte der Akku am Tag auf 100% kommen, schaltet er auf entladen und ist durch meine OpenDTUonBattery abgeregelt. Bedeutet, es fließt erst Saft, wenn die openDTU dies zulässt. Sollte der Akku nicht voll werden, wird zum Sonnenuntergang freigegeben und das entladen was halt da ist. Abschaltung unten ist auf minVol gesetzt und dazu noch das vorher schon vorhandene Notladen. Dies ist aber nun nicht mehr in den Flow integriert, sondern arbeitet autark als Sideact in einem Subflow. Bedeutet, selbst wenn ich das System mit manuellen Einstellungen an den Rand des Absturzes bringe, springt es an und lädt den Akku mit dem ACE wieder auf eine Schwelle X auf, aktuell 3,3V minVol.
On top habe ich noch einfache Filter Nodes vor den Ausgängen. Unlängst kam im ioBroker Forum die Diskussion auf, wie die Zendure Geräte gesendete Befehle intern verarbeiten. Dabei war die Angst groß, dass diese im Flash gespeichert werden, was natürlich bei Dauerfeuer suboptimal wäre ... Damit das, wenn es überhaupt so ist, nicht sinnlos passiert, habe ich diese Filter dahin gemacht. Die lassen Kommandos nur durch, wenn sie einen veränderten Wert enthalten. Also es wird am Ende das Minimum verarbeitet was nötig ist.
Wer Bock drauf hat, schaut gerne mal rein und gebt mir gerne Feedback. Auch ich lerne gerne und immer dazu 😃
https://github.com/Felliglanz/Zendure

LG
Sven