MyPV ELWA und AC Thor: API Chaos und Codebasis evcc #23708
Replies: 4 comments 2 replies
-
|
Danke @docolli für den Einsatz und Deine Unterstützung!
|
Beta Was this translation helpful? Give feedback.
-
|
Kurze Zwischeninfo: Wir sind mit versch. Supportmitarbeitern von MyPV in Kontakt. Leider ist das Grundproblem des nicht skalierten Schwellwertes fürs Relais noch nicht richtig verstanden worden, wenn am geregelten Ausgang eine Last von <9kW angeschlossen ist. Interessanterweise lässt sich in meinem AC Thor 9s ein Wert von 8000 als Schaltschwelle hier eintragen, während der AC Thor vom @mikeharris2017 hier max. 6000 (W) zulässt. Erklärung von MyPV ist, dass der AC Thor die Last am geregelten Ausgang misst und man verhindern will, dass am Relaisausgang eine größere Last angeschlossen ist, als am geregelten Ausgang. Verständlich, sonst wäre theoretisch keine kontinuierliche Lastaufnahme möglich. Hat der geregelte Ausgang z.B. nur 4kW und am Relais stehen fix 6kW zur Verfügung, kann man nur stetig bis 4kW hochlaufen und muss dann auf 6kW springen, um dann wieder stetig von 6 bis 10kW aufnehmen zu können.
Für mich stellt sich schon die Frage: Wenn der AC Thor doch die tatsächliche Last am geregelten Ausgang durch eigene Messung kennt (also hier ~6000W ermittelt), warum nutzt die Firmware dann diese Info nicht für eine eigene Skalierung des Vorgabewertes? Wie gesagt, wird vermutlich intern ein Wert von 9000 benötigt, damit am geregelten Ausgang 100% Leistung ausgegeben wird. Der ermittelte Faktor muss aber auch intern auf den Relais-Schwellwert angewendet werden, damit das System sich in so einen Fall konsistent, also 1:1 Umsetzung des Vorgabewertes übers Register 1000, verhält. |
Beta Was this translation helpful? Give feedback.
-
|
Endlich gibt es von MyPV eine neue Firmwareversion (Version Steuerung a0022200), welche das Schwellwert-Problem adressiert! @mikeharris2017 hat diese auf seinem ACThor remote aufgespielt bekommen und wir hoffen dass diese Version bald allgemein als Update ausgerollt wird. Mit dieser Version ist es erlaubt, eine höhere Schaltschwelle einzutragen, als am Regelausgang angeschlossen ist, um den notwendigen Skalierungsfaktor für die Ansteuerung zu berücksichtigen. Es gibt dann auch keine Fehlermeldung mehr für "Fehler 106 Regelbare Leistung < Last an Relais". Firmware wird demnächst getestet. Spannend ist die Frage, ob beim Einschalten des Relais die zurückgebene Leistung übers Modbus Register 1000 wieder bei 0 beginnt, oder die tatsächlich aufgenommene Gesamtleistung zurückgibt. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.




Uh oh!
There was an error while loading. Please reload this page.
-
Ich möchte in diesem Thread mal grundsätzlich über die Fortführung des Codes für MyPV Heizstäbe diskutieren. Aktuell läuft das über den Code in mypv.go (https://github.com/evcc-io/evcc/blob/master/charger/mypv.go). Es zeigen sich aber immer mehr Unterschiede / Spezialitäten, die nur best. Heizstäbe unterstützen (z.B. ext. Relais) oder nicht unterstütze Statusregister. So langsam wird es schwierig, das zu handeln, ohne dass sich bei anderen Heizstabtypen von MyPV Probleme ergeben.
Ich muss mir den PR hier (#23358) noch mal genauer anschauen, ob man damit den Heizstabtyp ermitteln und dann im Code typspezifische Dinge tun kann. Ist eventuell ein Ansatz, ein anderer wäre den Code in mehrere Dateien aufzusplitten, damit man bei Änderungen nicht aus Versehen die Funktionalität der anderen Heizstäbe kaputt macht. Wie es jetzt leider passiert ist.
Hier mal eine Übersicht über die MyPV Heizstäbe und deren Features:
@mikeharris2017 nutzt den AC Thor zusammen mit einem weiteren Heizstab und hat auch am fein geregelten Ausgang keinen 9kW, sondern nur einen 6kW Heizstab. Das macht ordentlich Probleme, weil die API von MyPV hier echt Mist ist. Ich versuche das Problem zu erklären:
Da der AC Thor intern wohl immer mit einem 9kW Heizstab rechnet und seine 100% Heizleistung darauf bezieht, muss man, um die 100% Leistung seines Heizstabs zu bekommen, über Register 1000 den Wert 9000 schreiben, auch wenn man z.B. nur einen 6kW Heizstab angeschlossen hat. Dazu wurde der

scaleFaktor eingeführt, sodas (z.B. bei einem Faktor 1,5) evcc einen Wert von 4500 (W) schreibt, damit der Heizstab real 3000 W aufnimmt.Das ist schon mal "doof", dass hier der AC Thor nicht selbst umrechnet, sondern, dass dies die externe Ansteuerung erledigen muss. Das klappt aber soweit, wenn man nur einen geregelten Heizstab hat (Modus M1). Geht man aber in Modus M3 wird es "komisch", was der AC Thor tut und was er an Werten zurück gibt.
Es lässt sich über die Konfigurationsoberfläche des AC Thor ein Wert vorgeben, der die am Relais angeschlossenen Last angeben soll.

Dies ist dann der Schwellwert, ab der das Relais einschaltet. Hat man aber am geregelten Ausgang keinen 9kW Heizstab, sondern z.B. einen 6kW, muss man (wie oben angeführt) den Vorgabewert ins Register 1000 mit 1,5 multiplizieren. Leider schaltet die Relaisschwelle aber am eingestellten Wert und mehr als 6000 lässt sich nicht vorgeben (max. Relaislast). Das bedeutet das Relais schaltet bereits bei einen Wert von 6000 im Register 1000, was im Beispiel nur 4000 W realer Heizleistung entspricht. Das passt erstmal schon, da evcc ja 4000W anfordert, es mit 1,5 skaliert und 6000 schreibt. ABER: Wenn das Relais anzieht, wird der 6000W Heizstab aktiv und zieht damit 2000 W zuviel !
Anschließend wird die Leistung >6000W über den geregelten Heizstab weiter genutzt. Der Regelausgang beginnt also wieder bei 0W, dummerweise ist das dann auch der Wert, den man übers Register 1000 zurückliest. Also Vorgabe von 7000 übers Register 1000 führt zu 6000W Verbrauch (Heizstab am Relais) und theoretisch 1000 W geregelt. Da die 1000 W aber vom AC Thor nicht skaliert werden, ergibt das eine relative Heizleistung von 1000 / 9000W = 11,1%. Hat man eben nur einen 6kW Heizstab angeschlossen sind das real nur 666W. Also bei 7000W Vorgabe zieht der AC Thor real nur 6666W.
Eine Kennlinie für PV Überschuss zu realer AC Thor Heizleistung sieht so aus (Register 1000 skaliert mit 1,5):

Hier die Werte dazu (jeweils 6kW Heizstab am geregelten und Relais-Ausgang, damit scale=1,5):
@mikeharris2017 und ich sind aktuell mit MyPV in Kontakt, weil das ja nicht sein kann, dass der AC Thor nicht in allen Betriebsarten und erlaubten Heizstabkonfigurationen (man darf Heizstäbe <9kW anschließen) eine 1:1 Relation von Vorgabewert zu tatsächlichem Verbrauch hat.
Ein temporärer Fix für das Problem, dass Register 1000 den Wert der Schaltschwelle wohl subtrahiert und wieder bei 0 anfängt, war von mir einen weiteren Konfig-Wert in evcc einzuführen, der die Last am Relais angibt. Den Relais-Status kann man per Modbus abfragen und wenn Relais=1 kann man den hinterlegten Wert zum gelesenen Wert von Register 1000 addieren.
Das löst aber nicht das Problem, dass die Schaltschwelle ebenfalls skaliert werden sollte ! Man müsste im obigen Fall einen Schwelle von 9000 (W) setzen, das geht aber nicht, da max. 6000 (W) erlaubt sind.
Es gibt leider kein anderes Modbus Register, was uns die Gesamtleistung des AC Thor (inkl. Relaisleistung) ausgibt. Wir haben schon intensiv gesucht.
Wir hoffen, dass MyPV erkennt, dass ihr FW-Code nicht mehr richtig funktioniert, wenn man keinen 9kW Heizstab am geregelten Ausgang hat und ein Relais über eine Schaltschwelle einschalten möchte. Idealerweise könnte man dem AC Thor die Leistung des Heizstabs am geregelten Ausgang und am Relais konfigurieren und die AC Thor FW rechnet damit korrekt um, damit man zwischn Register 1000 Vorgabe und realer Leistungsaufnahme einen stetigen 1:1 Zusammenhang bekommt.
@andig
@premultiply
@naltatis
Beta Was this translation helpful? Give feedback.
All reactions