Hallo zusammen,
Hier mal wieder ein kurzer Beitrag aus meinem Home Assistant Gefrickel.
Ausgangspunkt: 2xSF2400, Steuerung über Zendure Manager aus der Z-HA Integration im Home Assistant
Problem: Mir gefällt die Z-HA Steuerung nicht 100%ig, da sie jede kleine Schwankung am P1 Sensor (bei mir Shelly) sofort regelt. Ist mE nach nicht nötig und belastet die Technik.
Ich habe in der Vergangenheit schon mit eigenen Steuerung experimentiert und bin dabei bei einer eventbasierten Steuerung hängen geblieben, die für mich auch hervorragend funktioniert hat. Ich hatte das Thema zugunsten der Z-HA Steuerung aber wieder verworfen, da ich die sinnvolle Aufteilung auf 2xSF2400 nicht hinbekommen hatte.
Da mir, wie gesagt, die Z-HA Steuerung nicht so ganz gefallen hat, war die Idee die Z-HA Steuerung durch meine eigene auszutauschen, dabei aber die Systematik der Aufteilung auf die Speicher von Z-HA beizubehalten.
Also habe ich im Quellcode der Z-HA Integration rumgepopelt, mit dem Ergebnis, dass die Z-HA Integration natürlich nicht mehr funktioniert hat…😅
Da ich das zum einen nicht in den Griff bekommen habe und ich zum anderen wusste, dass beim nächsten Z-HA Update meine Änderungen sowieso überschrieben werden würden, musste eine andere Lösung her, die den Quellcode von Z-HA so lässt wie er ist.
Ich habe lange überlegt, bis mir eingefallen ist, was wäre eigentlich, wenn ich den P1 Sensor so manipuliere, dass ich Z-HA etwas anderes vorgaukel und so mein Ziel erreiche?
Also hab ich ChatGPT meine alte eventbasierte Steuerung an die Hand gegeben, und ihn daraus einen virtuellen P1 Sensor erstellen lassen. Diesen habe ich dann in der Z-HA Integration als P1 Sensor hinterlegt und was soll ich sagen, es funktioniert sogar…🤗
Was macht meine Steuerung nun anders, als die Z-HA Steuerung?
Z-HA regelt im Prinzip jede Änderung am P1 Sensor auf 0.
Meine Steuerung definiert ein Ziel (bei mir 10W Einspeisung) und legt eine Deathzone um das Ziel (bei mir +-30W). Ausserdem definiere ich Events, nur wenn diese auslösen, wird geregelt. Die Events sind definiert als Differenz Aktueller Shelly Wert - Shelly Wert vom letzten Event, bzw das Verlassen der Deathzone. Erst wenn dieser Fehler größer 30W ist, oder die Desthzone verlassen wird, wird ein Event und damit eine Regelung ausgelöst. Das heißt im Umkehrschluss, solange der Shelly Wert in der Deathzone ist und der Fehler