-
-
Notifications
You must be signed in to change notification settings - Fork 720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Neuer Charger 'AC Thor 9S' #18020
Comments
Ich finde in der Doku leider nichts zu Modbus Registern- die bräuchte es. |
Dann macht es wahrscheinlich eher Sinn einen POST mit 'generiertem Body' abzusetzen mit dem HTTP Plugin? Geht das Plugin denn auch für chargers? Ansonsten geht Ansteuerung via Modbus RTU/TCP schon, aber dann halt mit den jewieligen Protokollen? |
Nein. evcc ist master muss den Thor steuern. Dafür brauchts Modbus Register. Bisher fehlen die... |
Da ist Thor der master. Das ist nicht was wir brauchen. Ausserdem scheint ja das Elwa Template fast zu laufen- also muss Modbus Slave möglich sein. |
Aber wenn die AC-THOR Nummer >1 ist, wäre er doch als Slave einstellbar? |
Es braucht eine Doku der Modbusregister. Ich mache zu bis die vorliegt. |
Diese reichen nicht? |
Das hilft. Der einzige Unterschied zur Elwa scheint das Leistungsregister zu sein- 1060 statt 1074? |
Mit der Version 1. AC Thor: Steuerungs-Einstellungen
2. Einstellungen EVCC
Hier ein Beispiel mit einem 6kW Heizstab, der bisher nie mehr als 5kW geschafft hat ... ;-) Ein Punkt, der nicht geht: Er liefert auch bei 'Off'/'Solar', wenn keine Sonnenenergie zur Verfügung steht die minimal mögliche Leistung. Das müsste egtl. '0' sein @andig ? |
Ich verstehe die Frage nicht. Falsche minCurrent am Ladepunkt? |
Also, wenn der Toggle auf 'Off' steht bzw. auf 'Solar' und KEIN Überschuss besteht, müsste bei Power eigentlich '0.0 kW' stehen, er lädt aber mit 28-30Watt permanent. |
Schau bitte ins Logfile. Für "aus" wird Register 1000 auf 0 gesetzt. Der Rest ist vmtl. Eigenverbrauch des Gerätes. |
Habe folgendes in den Logs:
|
Hättest Du nochmal mehr Log vorher? Ich frage mich schon, woher das
kommt? |
Ich melde mich heute Abend nochmals. Eventuell hilft aber das hier generell weiter: Ich habe übrigens den ACThor 9s. Und ein E3DC System, das den ACThor automatisch gefunden (und konfiguriert ?) hat und ich kann den dort nicht entfernen. Aber der ACThor sollte nur noch vom evcc System Modbus Befehle entgegen nehmen, das ist auf 192.168.1.50. |
Es kann nur einer steuern! |
Schon klar! Im E3DC habe ich dazu wenigstens den Haken bei "aktiviert" rausgenommen, aber komplett entfernen kann ich dort den ACThor nicht. Daher denke ich schon, dass nur evcc den ACThor steuert. |
evcc behandelt Status 2 als "laden". Sonst verbunden. Scheint als würde Thor ein anderes Mapping als die Elwa erfordern? Welches?
Gut möglich.
Register 1000 wird alle 30s geschrieben solange der Ladepunkt enabled ist. Fazit: wir brauchen wohl doch nochmal eine Doku der Register! |
Bin dran... Habe in Register 1000 eine Last von 8000W gesetzt und dann die Register 1000 bis 1079 ausgelesen. Der ACTHOR 9s hat 3 Ausgänge á 3000W. Das von Dir aktuell genutzte Register 1074 gibt nur den Wert für einen dieser Ausgänge zurück! Edit: Und den Wert von Register 1060 kann ich auch nicht richtig mit der von mir gesetzten Leistung korrellieren... Register 1000 gibt nach dem Schreiben lesend die Gesamtleistung zurück. Solange bis der Wert in "Zeitablauf Ansteuerung" abgelaufen ist, dann fällt die Leistung auf 0W ab. Standardmäßig sind das 10s, dieser Wert muss mindestens auf die 30s gesetzt werden, in der evcc die Werte neu schreibt. Am besten 60s nehmen, dann ist man auf der sicheren Seite. Die Register 1074/1075/1076 geben die Leistungswerte der einzelnen Ausgänge (Phasen) zurück. Also entweder alle 3 auslesen, oder warum nicht zyklisch Register 1000 lesen und die aktuelle Gesamtleistung bekommen? Das sollte, wenn ich die Doku richtig verstehe, mit allen MyPV Komponenten funktionieren, egal ob 1p oder 3p Geräte. Hast du schon Zeit gehabt dir dieses Dokument anzusehen? Dort ist eine gute Doku der Modbus Register der MyPV Serie. |
Die Elwa Doku nutzt nichts- der funktioniert ja. Und deckt z.B. 1074/75/76 auch nicht ab.
Das war das Register das mir genannt wurde. Ansonsten sieht du in mypv.go ja welche Register verwendet werden. Einfach anpassen bis es passt. Ich kann hier mangels Testobjekt nur nach Vorgabe arbeiten. |
Hier ist die Liste der Modbus Register, die der AC Thor und AC Thor 9s nutzt. Beim Status haben die Thors folgende Bedeutungen: Weiterhin kann man beim AC Thor 9s 1-3 Heizstäbe anschliessen mit 1-3 Temperaturfühlern. Die Anzahl der Temp-Fühler muss nicht gleich der Anzahl der Heizstäbe sein. |
Danke! Danach is 1060 die aktuelle Leistung, 1000 scheint weiterhin die VORGABEleistung zu sein.
Kann man ermitteln, welche der 3 jeweils relevant sind? Andererseits: auch der Mittelwert ist ja eher falsch. Theoretisch könnten das sogar 3 einzelne Speicher sein??? Status: bei der Elwa ist 2==Heat. Was bedeutet die 9==Operation beim Thor? Operation = Heizbetrieb? Falls nein: woran erkennen wir Heizbetrieb (Status C)? |
Offtopic: Aber wie kann ich denn auf den Modbus einen Registerwert setzen und explizit auslesen? :) |
irgendwie funktioniert das Laden mit dem AC Thor 9s noch nicht korrekt. Ich habe mal einen Film gedreht, bei dem ich parallel die Anzeige im AC Thor 9s, die evcc Oberfläche und die Inhalte der Register (in Home Assistant) aufgezeichnet habe. Aufzeichnung.2025-01-12.120747.kompr.mp4Ich habe in evcc den AC Thor vom Status "Aus" auf "Schnell" geändert. Meine Erwartung war nun, dass das Laden mit voller Leistung durchgeführt wird. Nach Beendigung des Videos habe ich in evcc den AC Thor wieder auf "Aus" gestellt. Nun hat das Laden jedoch nicht gestoppt, sondern hat weiterhin zwischen Max-Leistung und 5W alterniert. Ich musste den Heizstab in der MyPV Oberfläche deaktivieren. Erst dann hat evcc erkannt, dass der Heizstab aus ist. Anscheinend sendet evcc keine Leistungsvorgabe 0W an den AC Thor... |
Du siehst im trace log, welche Register geschrieben werden. Ich denke das Problem hier ist wiefolgt: der Thor (anscheinend entgegen der Elwa) zeigt auf 1000 die echte Leistung an- das inkludiert auch den Standbyverbrauch. Die 1000 nutzen wir aber auch um zu schauen ob der Thor "enabled" ist, dafür wird mit 0 verglichen. Wenn da aber keine 0 kommt obwohl evcc eine rein geschrieben hat wirds schwierig... Das kann man dann im Logfile nachlesen... Long story short: an welchem Register kann man ablesen, ob der Thor eine Ladefreigabe hat? Bei der Elwa scheint 1000=0 zu kommen und damit ist klar "keine Ladefreigabe". Wo sehen wir das beim Thor? |
was meinst Du mit Ladefreigabe? |
Die "Ladefreigabe" müsste beim AC Thor9s das Register 1081 sein Documentation-Controls_AC-THOR_AC-THOR 9s_EN231009.pdf Die echte Leistung kommt von 1000 |
Bitte testen. Ich hab keine Lust mehr, dass noch 40 mal in beliebige Richtungen zu ändern, tut mir leid... Wenn ihr euch auf die richtigen Register geeinigt habt mache ich noch einen letzten Versuch. |
hab's gerade getestet. |
Bei mir ist das Register 1081 aber auch auf "1", wenn die Leistung im Register 1000 auf "0" ist. Das ist nicht das was wir hier suchen! Es geht um eine Rückmeldung vom AC Thor ob er gerade heizt oder nicht. Also analog zum Status einer Wallbox. Meiner Meinung nach ist das Register 1003 die bessere Info zum Status. Leider ändert sich der Wert nach Schreiben von 0W ins Register 1000 erst nach >30s. Und auch der Wert von Register 1000 ist nach Schreiben von "0" erstmal eine ganze Weile bei 5W (vermutlich Standbyverbrauch) bis er nach >30s auf "0" abfällt. A= nicht verbunden |
@docolli es geht um enable/disable, nicht um lädt/lädt nicht. Wenn Temperatur erreicht ist mag das also richtig sein mit 1081. |
Da Heizstäbe analoge Systeme sind, dauert es immer etwas bis sich Werte stabilisieren.... StatusC: Register 1003 = 9 |
meiner Meinung nach ist der AC Thor9s ist immer enabled, wenn das Register 1081 auf 1 steht... |
Laut deinem Post ja. Hilft also nicht. |
@andig Was ist denn beim Heizstab der Unterschied zwischen enable/disable und heizt/heizt nicht? Den AC THOR enablest du, indem du einen Wert >0 ins Register 1000 schreibst, dann heizt er. Register 1003 geht dann auf "9" Hinter dem Register 1000 steckt eine Regelung der Heizleistung. Schreiben ändert nur den Sollwert der Regelung und es dauert etwas bis der Istwert den Sollwert erreicht. Gerade bei Disablen durch Schreiben von "0". Also entweder mehr Wartezeit (>30s) bis der Status aus 1003 ausgewertet wird, oder bereits unter 10W die Heizung als deaktiviert ansehen. |
Alles schon 1000mal erklärt. Ladefreigabe beim Fahrzeug ist unabhängig davon, ob der Akku voll ist und damit ob wirklich geladen wird. Ist hier auch nicht anders. Es sind einfach unterschiedliche Dinge. |
Wenns kein passwndes ein/aus Register gibt dann müssen wir uns den enable state halt merken. |
die Frage ist, ob es nicht einfacher ist, enable/disable beim AC Thor nicht zu verwenden und einfach enabled zu setzen, wenn das Register 1081 auf 1 steht. Der AC braucht nicht aktiviert zu werden, sondern kann über Register 1000 einfach gesteuert werden. |
Was haltet ihr von Register 1077? Ich teste mal, @walburgf kannst du auch mal schauen, ob es bei Dir was sinnvolles ausgibt? |
Erwartet ist enabled. Das versuche ich ja die ganze Zeit zu sagen. Denk einfach an die Wallbox… Aber seis drum: entweder Status merken oder Schwellwert nutzen. Ein Register scheints ja nicht zu geben. |
@docolli : Register 1077 würde ich nicht nutzen, da es auch Dinge anzeigt, die mit der Steuerung nichts zu tun haben, sondern auch z.B. Netzwerkfehler angezeigt werden.... Ich würde wie oben beschrieben, enabled immer auf 1 setzen, wenn das Register 1081 1 ist.... das aktivie enable/disable nicht verwenden und den Rest über die Temperaturen, und Register 1000 und 1003 regeln/monitoren.... |
@andig Nach meinen Tests gerade eben, ist das Register 1077 das was wir suchen! Das geht von "0" auf "1", wenn eine Heizleistung gesetzt wird und SOFORT wieder auf "0", wenn man die Heizleistung auf "0" setzt. |
Ich glaube mir wird so langsam klar, was enabled/disabled meint im Gegensatz zu heizen/nicht heizen. WIr müssen aber daran denken, dass der AC THOR sein eigenes Temperaturlimit hat (was man mit Register 1002 schreiben könnte). Wenn das erreicht ist, lädt er nicht mehr, auch wenn evcc ein höheres Limit gesetzt hat und versucht eine Heizleistung ins Register 1000 zu schreiben. Da wird dann immer "0" als reale Leistung zurück kommen. Hier hilft Register 1077 um zu sehen, ob der AC THOR noch Heizen will. |
Prima. Mit b/c hatten wir aber gar kein Problem. Fehlt immer noch enable/disable.
immer noch nein. Status und enable/disable sind unterschiedliche Dinge. |
Sorry, dann must du mir mal kurz erklären was bei der Wallbox (oder in evcc) mit enable/disable gemeint ist. 🤔 Edit: Sind das die enable/disable Bereiche in der Loadpoint Konfiguration? Und damit ob Laden (Heizen) freigegeben ist? |
Das eigentlich Problem ist doch, dass evcc den AC THOR disabled (z.B. durch mode=off), aber noch nicht mit dem Verhalten des AC THOR zurecht kommt, da dieser selbst nicht aktiviert/deaktiviert werden kann. Und dann kommt komisches Verhalten, wie von @walburgf in seinem Video schön gezeigt. Hier eine Analyse meines obigen Logs Dann läuft er logischerweise in den "Out of sync", weil der AC THOR durch das Setzen auf 0x01c natürlich weiter heizt und das auch so im Status ausgibt. |
Derzeit werden von my-PV die Meter
unterstützt und der Charger / Heizstab:
my-PV bietet aber via AC Thor auch externe Heizstäbe an, die neu via API gesteuert werden können. Früher hatte AC Thor die Anbindung eines Smartmeters voraus gesetzt, jetzt kann man den Heizstab via dem API selber steuern: https://www.my-pv.com/de/info/my-pv-cloud/
Vorteil: Die Priorisierung des Stromüberschusses kann richtig verteilt werden.
Dokumentation AC Thor: https://download.my-pv.com/acthor/acthor_doc_de_a0021702.pdf
Swagger Doku des API: https://api.my-pv.com/api-docs/
Unser AC Thor 9s läuft mit einem 6 kW Heizstab
Ich hatte unseren Charger als elwa2 Heizstab konfiguriert, da stimmt aber die Watt-Zahl immer noch und er 'heizt' nur mit 15W
Das API erscheint mir relativ einfach, vielleicht gibt es sonst auch eine andere Lösung?
The text was updated successfully, but these errors were encountered: