Setup MultiPlus II ESS Mode 3- brauche Hilfe

ganz so trivial wie das einfach-nur-dem-Multiplus-den-Mund-Verbieten bei der Ladespannungsvorgabe ist das wohl nich. Ich denke, dass in den MPTT Ladern beim Systemstart etwas konfiguriert wird, was ihnen sagt "nehmt nicht eure Algothythmik sondern tut was euch gesagt wird" (zumindest mäkeln die ja wenn die Verbindung nicht mehr da ist und stellen ihren Dienst dann komplett ein). Das müsste man schon mal finden...

dann ist auch die Steuerung durch das BMS weg die normal Vorrang hat.

aber das wäre ja ein Teil des Zieles?! Es geht ja nicht Steuerung vom BMS und eigene Algothythmik, sondern entweder oder.

Die Ladestrombegrenzung geht glaubich nur über die Spannung - der Strom ergibt sich ja aus Spannung durch Widerstand. Wenn man aber sagt 'folgt eurer eigenen Vorstellung' kann man die Spannung (und damit den Strom) nicht mehr von aussen begrenzen.

Wenn nur ein Lader da ist, könnte man dessen Strombegrenzung benutzen, an die man aber glaubich nicht vom GX aus dran kommt, jedenfalls habe ich nirgends die Möglichkeit gesehen, auf die Einstellungen per VE.direkt zuzugreifen, geschweige denn im GX .

Bei mehreren Ladern geht das eh nur 'koordiniert'.

Wie gesagt - alles in allem fehlt mir erstmal die Vorstellung, wie es eigentlich laufen sollte, und dementsprechend kann man natürlich auch nicht konkret danach suchen, wo und wie man es ändern könnte. Teile des Venus sind ja auch binär, d.h. da einzugreifen steht noch mal auf einem ganz anderen Blatt....

1 „Gefällt mir“

Die meckern aber auch wenn du die "BMS Steuerung" im DVCC aktiviert hast und dann wieder deaktivierst. Ohne aktivierte BMS Steuerung werden die Ladeparameter von den MPPT erst "überschrieben" wenn du den ESS Assistenten installierst. DVCC kann aber aktiviert bleiben ohne das die Parameter der MPPT überschrieben/ausgehebelt werden wenn du keine BMS Steuerung auswählst, es sei denn du installierst einen ESS Assistenten dann folgen die MPPT automatisch den Einstellungen des Wechselrichters.

Soll ja auch nicht, aber wir verfolgen denke ich auch verschiedene Ziele, weil du das BMS als Steuerung nutzen möchtest? Dann ist es normal das die MPPT auf "External Control" laufen. Du kannst die BMS Steuerung wie schon gesagt auf Aus stellen aber DVCC eingeschalten lassen inkl. SVS, SCS usw auch Ladestrom oder Spannung darüber begrenzen sollte dann funktionieren... der Shunt als Batteriewächter teilt das dann den MPPT mit. Früher gab es die Option nicht die BMS Steuerung im DVCC auszustellen, da wurden automatisch die MPPT auf "External Control" gesetzt sobald man den Serialbattery Treiber installiert hat. Ist die BMS Steuerung deaktiviert dann laufen sie als "Stand-Alone" auch mit aktiviertem DVCC. Siehst du im Cerbo/Raspberry in den MPPTs unter der Seite "Vernetzter Betrieb". Aber die MPPT bekommen dann einfach bei zb. aktivierten SVS die reale Klemmspannung der Batterie mitgeteilt um den Spannungsabfall zu kompensieren... oder aber wenn SCS aktivert ist den genauen Strom der am Akku anliegt, nützlich für den eingestellten Schweifstrom in den MPPT. Die Ladeparameter selbst bleiben aber wie gesagt immer aktiv weil sie trotzdem weiterhin als Stand-Alone laufen.

In der Anleitung zum Cerbo steht wann sie mit den eigenen Parametern laufen und wann nicht. Inteligent Battery = BMS Steuerung eingeschalten:

Ist die BMS Steuerung also aktiviert folgen sie dem BMS ob mit oder ohne ESS. Ist die BMS Steuerung deaktiviert aber ein ESS Assistent installiert folgen sie den Einstellungen des Wechselrichters. Nur wenn keine BMS Steuerung aktiviert und auch kein ESS Assistent installier ist folgen sie ihren eigenen Parametern und laufen als "Stand-Alone". Ich hoffe ich hab jetzt nicht alles doppelt gemoppelt geschrieben :rofl:, nur damit wir nicht aneinander vorbei reden und bei den Grundfunktionen den gleichen Wissensstand haben. DVCC ansich hat also erstmal nichts mit dem Ziel zu tun was wir haben, das geht auch mit aktivierten DVCC :wink:. Wenn du allerdings die BMS Steuerung brauchst (wofür eigentlich), dann laufen die MPPT natürlich als "External-Control" und folgen den Settings die du im Serialbattery Treiber eingestellt hast. Das Problem liegt im ESS Assistenten, sobald der installiert ist folgen die MPPT den Ladeparametern vom Wechselrichter.

oh, die Tabelle ist interessant! die kannte ich noch nicht.

Jetz müsste man eigentlich noch wissen, wie gesteuert wird. Eigentlich ist ja Spannung das einzige, was die MPPTs liefern, da draus ergibt sich ja der Strom, also wäre die Spannung im Prinzip auch das einzige, was von aussen gesteuert wird?

Mir ist nicht klar, wie eine Strombegrenzung realisiert werden soll, wenn die MPPTs ihren eigenen Spannungsvorstellungen folgen. Dass sie die SVS Info gemeinsam benutzen, wäre ja kein Problem. Aber mit SCS kann ja ein einzelner MPPT nix anfangen, weil er nicht weiss, was die andren machen.

Wenn du allerdings die BMS Steuerung brauchst (wofür eigentlich)

ich 'brauch' die einzig und allein, damit eine Ladesollspannung vorgegeben wird, die ich dann begrenzen kann (so steuere ich ja meine 85% SoC Ladung, und vom Multi kommt da nur 0.0V - das ist zu wenig, um es zu begrenzen :wink: ). Wenn die (etwas höhere als gewollte) Spannung in den MPPTs stände, bräucht ich das nicht (SerialBattery nutze ich übrigens nicht).

1 „Gefällt mir“

Vorweg:
Sorry für den ganzen Text, aber anders geht nicht da es schon "ein wenig" komplex ist die Zusammenhänge zu verstehen, und damit wir auf einem gemeinsamen Nenner sind um das gleiche Wissen haben. Was nicht heißen soll das, das was ich schreibe zu 100% korrekt ist, da müstest du dann ergänzen oder korrigieren :wink:. Das alles ist nur das was ich weiß oder aber recherchiert habe.

Ja gut erkannt, anders geht es normal garnicht. Also bekommen sie eigentlich erstmal nur die Spannungsvorgabe. Viel mehr kann im Multiplus auch nicht konfiguriert werden. Allerdings gibt es dann auch noch die dazu gehörige Absorptionszeit und andere Zusammenhänge die über das ESS gesteuert werden, wie zb. DC-Überschusseinspeisung. Wenn die MPPT aber nicht mehr ferngesteuert werden kann/wird man das aber einfach alles direkt in den MPPT festlegen über Float und Re-Bulk.

Die Strombegrenzung stellst du ja normal immer in den MPPT selbst ein oder aber über DVCC. Wobei wenn DC-Überschusseinspeisung aktivert ist die Ladestrombegrenzung im DVCC automatisch nicht mehr aktiv ist. Wenn du einen Shunt hast und als Batteriewächter eingetragen hast bekommen das alle MPPT
mitgeteilt. Wenn du aber ein ESS System am laufen hast oder BMS gesteuert ist SCS deaktiviert da die MPPT dann auf "External Control" laufen. Hier ein paar Auszüge aus den Anleitungen. Wobei sich letzteres irgentwie mit der Aussage aus dem ersten Bild 4.6. MPPT-Solarladegerät wiederspricht:

Auf jeden Fall sollte man immer alle MPPT richtig und gleich einstellen ob mit ESS, BMS gesteuert oder auch nicht, damit man im Falle eines Fehlers (zb. Kommunikation unterbrochen oder ähnliches) ein Backup hat und die MPPT eigenständig nach ihren eingestellten Parametern laufen ohne den Akku zb. überladen zu können. Aber das nur nebenbei...

Warum dann nicht einfach über DVCC und der dort einstellbaren Ladespannungsbegrenzung? Shunt als Batteriewächter, dann SVS und SCS einschalten und BMS Steuerung Aus. Allerdings wären wir dann wieder beim Thema das in einem ESS System die Ladespannung vom Multiplus vorgegeben wird. Würden wir das dann abschalten können müstest du das in jeden MPPT selbst einstellen... haha ist schon eine komplexe Sache :upside_down_face:.

Was ich mich frage und interessant wäre:
Den Multiplus und dessen Spannungsvorgaben hast du ja wie du oben beschrieben hast in der dvcc.py und den Zeilen 1225, 1226 auskommentiert. Was passiert wenn du jetzt unter DVCC die BMS Steuerung ausstellen tust? Stehen die MPPT dann wieder auf Stand-Alone? Weil Spannungsvorgaben vom Multiplus bekommen sie ja nicht mehr. Natürlich werden die erstmal meckern und den "Betrieb einstellen" wenn du es ausstellst. Du müstest sie also erstmal wieder resetten, das ging glaube über die Remote Konsole direkt auf den MPPT... dann am besten Cerbo/Raspberry Neustart. Oder meckern die dann erneut weil keine Vorgaben mehr vom "ESS/Multiplus" kommen?

Ich denke der Schlüssel zum Ziel liegt in der dvcc.py.
Ich hab die mal durchsucht und da gibt es zb. auch Zeilen wie:
"def has_externalcontrol_support(self):"
Und weitere interessante Sachen, allerdings verstehe ich zu wenig davon um zu wissen wo man da ansetzen könnte :nerd_face: :face_with_monocle: :joy:.

Achso was den Strom betrifft:

Also richtet sich ein ESS wenn DC-Überschuss Einspeisung nicht aktiviert ist nach dem was im DVCC bei der Ladestrombegrenzung eingestellt ist. Vorausgesetzt es ist aktiviert. Und ob es aktiv ist oder nicht siehst du auch am "SCS Staus", ansonsten steht da dann "External Control"... wie im zweiten Screenshot oben zu sehen. In meinem System habe ich derzeit weder ein ESS installiert und es ist auch nicht BMS gesteuert. Der SOC, Strom, und die Spannung kommt alles vom Shunt.

das mit dem Einspeisen überschüssiger Solarleistung steht ja wieder auf einem anderen Blatt. DC-mässig (wenn konfiguriert) wird ab einem DC Spannungswert knapp unter dem Wert, der als 'Akku voll' angenommen wird, so viel AC Leistung gemacht, bis die Spannung wieder sinkt (droht zu sinken...). Dazu müssen die Solarlader aber immer im Bulk Mode sein (weil im Float die Spannung immer niedriger wäre), und klar geht das nicht mit einer Strombegrenzung konform, weil dafür ja die Spannung 'gedrosselt' werden müsste. (zumindest mein ich das mal so oder so ähnlich gelesen zu haben, im Code oder in irgendeiner Doku)

Wenn du den Code genau anschaust, wirst du auch Kommentare finden, wo drin steht, dass in diesem Zusammenhang noch Baustelle ist, weil sie da selber noch kein klares Konzept haben...

Das werden wir auch so schnell nicht finden, sondern wir können wenn überhaupt den Code nur so manipulieren, dass er mit einem konkreten Setup das macht, was wir uns vorstellen. Dazu müsstest du sagen, was dein "Ziel-Setup" ist.

  • Nach wie vor ist für mich die vorrangige Frage, wie den MPPT Ladern mitgeteilt wird, dass sie einer äusseren Spannungsvorgabe folgen sollen. (gut möglich dass set_networked() hier der/ein Schlüssel sein könnte, siehe unten)

Wenn ich dich richtig verstehe, möchtest du ja, dass sie genau das nicht tun, mit allen Konsequenzen wie

  • keine Strombegrenzung möglich
  • keine Überschusseinspeisung aus DC, wenn die Lader nach ihren Vorstellungen in Float gehen
  • (hab ich noch was vergessen?)

Für mich ist das ja eigentlich kaum noch relevant, weil ich über meinen eigenen 'Algorithmus' lade, der einfach lautet "Bulk Spannung wenn Akku unter 85% SoC, ab da Float Spannung".

Wenn ich alle 2-3 Monate mal Balancieren will oder den SoC vom SmartShunt kalibrieren, ändere ich die 85 zu 101, schau mir den Strom an um den 100%-Knopf vom Shunt zu drücken (wenn überhaupt noch nötig), und schau mir die Zellspannungen an, um zu entscheiden, dass genug balanciert ist, und stell dann zurück auf 85.

Warum dann nicht einfach über DVCC und der dort einstellbaren Ladespannungsbegrenzung?

genau damit mache ich das ja, indem ich meine hohe oder niedrige Spannung da drauf schreibe. Aber es heisst halt 'Begrenzung', d.h. irgendwo muss was herkommen, was begrenzt werden kann, und dazu nehm ich das was das BMS vorgibt.

Wahrscheinlich könnte ich das alles auch noch wegkommentieren und einfach nur den Wert schreiben, aber da drüber funktioniert ja (wenn ich das richtig sehe) auch die Strombegrennzung, von daher will ich nich alles wegkommentieren.

Was ich mich frage und interessant wäre: ... Was passiert wenn du jetzt unter DVCC die BMS Steuerung ausstellen tust? Stehen die MPPT dann wieder auf Stand-Alone?

Um das zu beantworten müsste man halt wissen, ob und wenn ja wie den Chargern mitgeteilt wird, dass sie sich nach einer Vorgabe richten sollen (siehe oben :wink: ) oder ob es einfach reicht, wenn charge_voltage is None

1 „Gefällt mir“

Nunja wie genau das mit dem DC-Überschusseinspeisen läuft bekommt man später noch raus wenn man es nutzt. Früher gab es auch noch HUB Assistenten, bzw. gibt es die immer noch, da geht es auch um Überschuss einspeisen usw... heute macht das wohl alles das ESS. Aber es gibt mehrere Einstellungen die damit zusammenhängen wenn man sich das ESS Manual mal durchliest.

Ja klar das können wir nicht...
Das Ziel ist einfach erstmal nur das die MPPT im Stand-Alone und ihren internen Ladeparametern laufen, und nicht mit den Parametern vom Multiplus über das ESS gesteuert. Den Rest wird man sehen wenn dem so ist...

Ja das gilt es rauszufinden, müste aber wohl doch irgentwo geschrieben stehen wie zb. mit diesem set_networked()....

Nunja, ich denke welche Konsequenzen und Nachteile daraus entstehen wenn die MPPT in einem ESS auf "Stand-Alone" laufen, wird man sehen wenn man es soweit hinbekommen hat das sie das tun. DC-Überschusseinspeisung zb. sollte aber mMn trotzdem funktionieren. Die Laderegler laufen ja dann mit ihren eigenen Ladeparametern, das heist: Ist der Akku voll und wird anschließend entladen geht es ab einer Spannung XY in den Float, nach Float kommt der Re-Bulk wenn weiterhin Lasten anliegen. Der Lader schiebt also wieder die volle Leistung nach. Wenn dann das ESS die Nulleinspeisung macht wird natürlich dieser PV-Strom also Überschuss auch automatisch dafür genutzt. Ich wüste nicht warum das nicht so sein sollte. So läuft es bei mir derzeit auch nur halt als Insel und ohne Einspeisung über den Multiplus. Der Überschuss wird einfach über einen kleinen Hoymiles der am Akku hängt über den AC-In vom Multiplus eingespeist (natürlich nur solange der Multiplus im Akkubetrieb läuft, also der AC-In getrennt ist). Den Hoymiles steuere ich über einen der Relais Ausgänge vom Cerbo nach SOC und ein SSR (Solid State Relay). Bei 86% SOC geht der Hoymiles an und bei 80% SOC wieder aus. Alle anderen Lasten werden natürlich über den AC-Out vom Multiplus versorgt. Ist der Akku leer (bei mir bei 20% SOC) wird automatisch von Akku auf Netzbetrieb durchgeschalten bis am nächsten Tag wieder die Sonne scheint.

Trotzdem schön das du Interesse daran zeigst und versuchst zu helfen :wink:.
Ich brauche es auch nicht unbedingt aber schön wäre es trotzdem. Dann würde ich einiges anders machen können, weil der kleine 300er Hoymiles nicht mehr ausreicht wenn ich das BKW auf 2Kw erweitere um den Übershuss gut zu nutzen. Und der Akku dann zu klein ist zum puffern. Ein ESS das mir aber die Ladeparameter der MPPT aushebelt und im Funktionsumfang einschränkt ist allerdings ein absolutes No Go für mich, dann wird es eben ein 800er Hoymiles :wink: und der Multiplus läuft dann weiter wie gehabt als Insel.

Wenn das für dich die Lösung ist und so gut und zufriedenstellend läuft, bestens :wink:. Es gibt nahezu unendlich viele Möglichkeiten wie man solche Sachen nach seinen Vorstellungen umsetzen kann. Ich schalte dann einfach den Hoymiles ab, dann wird der Akku voll :wink:. Mit nur 820Wp PV und einem überdimensionierten Akku klappt das super. Und falls nicht weil zb. im Winter nichts mehr groß rein kommt, stelle ich einfach den SOC im Multiplus niedriger bis zu dem entladen werden darf oder aber lade über den Multiplus übers Netz nach.

Und genau bei solchen Sachen bin ich leider raus--> Null Plan von diesen ganzen Script Geschichten, es sei denn ich weiß wie und wo ich was machen muss. SSH und Putty sind mir aber nicht fremd, also bissl was kann ich dann schon rumdoktern :joy:.

Nun du könntest es einfach erstmal testen wie ich beschrieben habe. Vielleicht reicht ja bereits das aus was du schon auskommentiert hast? Der Screenshot ist allerdings interessant... Ich könnte auch selbst testen, müste allerdings erstmal den ESS Assistenten installieren, allerdings ohne Einspeisung. Da wäre die Frage: Kann ich ESS einfach über die Remote Konsole EIN/Ausschalten? Dann könnte ich umher switchen und jeder Zeit wieder zu meinen derzeitigen Ist-Zustand wechseln. Änderungen in der dvcc.py zb. müste ich dann natürlich unter Umständen wieder Rückgängig machen, aber das ist ja kein Aufwand und nur ein paar Klicks.

Ansonsten sollte man wie gesagt recht schnell sehen ob man "Erfolg" hatte. Laufen die MPPT bei aktiven ESS (ohne BMS Steuerung) als Stand-Alone werden die internen Paramter nicht mehr "überschrieben".

Nun du könntest es einfach erstmal testen wie ich beschrieben habe.

  • ich habe das DVCC ausgeschaltet und neu gebootet mit reset aller network interfaces. Resultat ist, dass in /solarcharger/xyz/Link/ChargeVoltage jetzt "value":0.0 steht (vorher meine 55.2) und in /solarcharger/xyz/Link/NetworkMode weiterhin "value":13, also Bits 0, 2 und 3 gesetzt.

Es ist jetzt mitten in der Nacht, aber das wird dazu führen, dass die Lader auch bei Sonnenaufgang nicht laden werden. Kleiner Nebeneffekt ist, dass der Multi jetzt aufgrund der fehlenden Spannungsinformation in Low Battery Voltage Error gegangen ist, aber das könnte man wahrscheinlich durch Aktivieren des eigenen Battery Monitors oder so unterbinden.

  • Wenn ich nur BMS Control ausstelle, bleibt die ChargeVoltage bei 55.2 und NetworkMode geht auf 0 (und der Multi geht wieder in Fehler BMS Connection Lost - Low Battery Voltage).

55.2V ist das, was ich bei den Chargern als Absorptionsspannung eingestellt habe. Ein geändertes Charge Voltage Limit wird nicht(!) an die Lader weitergegeben.

Es sieht also erstmal so aus, als würden sie jetzt autonom laufen :smiling_face_with_sunglasses:

Ich denke der Schlüssel zum autonomen Agiern der Lader liegt darin, die oder zumindest gewisse NetworkMode Flags auf 0 zu setzen. Das könnte man ja in set_networked() einfach fest reinschreiben.

-> Was steht denn bei dir bei den Charger in NetworkMode drin aktuell ohne ESS? kannst du ja einfach mit dbus-spy nachgucken. hast du BMS Control an?

1 „Gefällt mir“

Da wäre die Frage: Kann ich ESS einfach über die Remote Konsole EIN/Ausschalten?

ich denke nicht. man hat ja nur die Auswahl zwischen den unterschiedlichen Modi, ein "off" gibt es aber nicht

Ist der Akku voll und wird anschließend entladen geht es ab einer Spannung XY in den Float, nach Float kommt der Re-Bulk wenn weiterhin Lasten anliegen.

jaja, aber während die Lader im Float sind (also bevor der Re-Bulk kommt) wird kein Überschusseinspeisen geschehen. Und weil eben nicht eingespeist wird, ist die Last nicht da, und es kann länger dauern bis zum Re-Bulk... denke ich, aber probier es doch einfach!

die Frage ist, ob sie überhaupt in Float gehen, weil der Strom bei Überschusseinspeisung ja nicht gegen null läuft - zumindest nicht der Strom den die Lader sehen, der Akkustrom kann/wird schon gegen null gehen, aber bekommen die Lader das mit??

1 „Gefällt mir“

Wenn das für dich die Lösung ist und so gut und zufriedenstellend läuft, bestens :wink:

das schöne da dran ist halt, dass der Akku schnell mit hoher Soll-Spannung bis 85% geladen wird, und man trotzdem auch bei Float Spannung und 85% SoC volle Leistung aus den Ladern ziehen kann.

Und selbst wenn die Lader dann mehr bringen könnten (was bei mir mit den 4-6kWp öfter der Fall ist - die bekomme ich einfach nicht weg ausser in den Akku), wird der Akku nicht weiter aufgeladen wegen dem dann gemütlichen Spannungsniveau.

Ich könnte auch irgendwo (in meinen py Skripts oder in einem ioBroker Skript) automatisiert alle 2-3 Monate für 2-3 Stunden die 85% zu 101% ändern, aber das mache ich lieber noch händisch, wenn ich es für den passenden Zeitpunkt halte.

1 „Gefällt mir“

wann bekommen wir eigentlich einen Trump-Smiley für "ich mache wie es mir grad in den Sinn kommt"?! :upside_down_face:

1 „Gefällt mir“

@u-f-o

Erstmal klasse das du es wohl hinbekommen hast

:joy:

Hast du mal geschaut ob die MPPT dann auf Stand-Alone stehen/laufen?

Wenn ich dich richtig verstehe hast du den Test einfach mit den von dir bereits auskommentierten Zeilen 1225,1226 in der dvcc.py gemacht?

Nun bei mir steht das hier, ohne ESS und ohne BMS Control:

Hast du mal geschaut ob die MPPT dann auf Stand-Alone stehen/laufen?

wo soll ich das schauen ausser im NetworkMode?

hast du den Test einfach mit den von dir bereits auskommentierten Zeilen 1225,1226 in der dvcc.py gemacht?

ja. (seit Vers. 3.55 sind es Zeilen 1318, 1319)

Nun bei mir steht das hier, ohne ESS und ohne BMS Control:

dann laufen sie autonom, oder?

1 „Gefällt mir“

Hast du mal geschaut ob die MPPT dann auf Stand-Alone stehen/laufen?

(reset hab ich jetz grad nich gedrückt, weil 60° Wäsche und WW Bereitung laufen, das sind 4.5-5kW, die will ich jetz nich durcheinanderbringen...)

1 „Gefällt mir“

Ich danke dir :wink:
Ich werde es die Tage mal probieren und würde es dann einfach erstmal mit dem NetworkMode versuchen.
Wenn ich es richtig verstanden habe stelle ich den einfach auf 0?
Wo genau muss ich das reinschreiben, da wo bisher network_mode = 1 steht?

du musst jetzt mal sagen was genau du versuchen möchtest. Aktuell steht dein NetworkMode ja auf 0, das bedeutet, dass die Zeile irrelevant ist, weil...

die Zeile ist eine bit-weise or Verknüpfung (das | ). jedes Bit hat die Wertigkeit 2^bit#, also Bit 0 ist 2^0=1, Bit 2 ist 2^2=4, Bit 3 ist 2^3=8, wobei die Bits ja im Kommentar beschrieben sind

# bit 0: Operated in network environment
# bit 2: Remote Hub-1 control (MPPT will accept charge voltage and max charge current)
# bit 3: Remote BMS control (MPPT enter BMS mode)

die Zeile

network_mode = 1 | (0 if charge_voltage is None and max_charge_current is None else 4) | (8 if has_bms else 0)

macht also Folgendes:

  • Bit 0 wird auf jeden Fall gesetzt (network_mode = 1)
  • Bit 2 (=4) wird (zusätzlich zu Bit 0) gesetzt, wenn in charge_voltage oder in max_charge_current was drin steht.
    Das ist ein if ... then ... else in einer Zeile. Also if (charge_voltage is None and max_charge_current is None) then 0 else 4. 4 hiesse Bit 2 wird gesetzt, 0 heisst Bit 2 wird nicht gesetzt.
  • Bit 3 (=8) wird (zusätzlich) gesetzt wenn has_bms, ansonsten bleibt es 0

Also wird aktuell die Zeile und damit die gesamte Prozedur bei dir entweder garnicht durchlaufen, weil /Link/NetworkMode sonst mindestens 1 wäre, oder es wird irgendwoanders danach wieder überschrieben, oder es läuft in's Leere (dbus Pfad set None oder nicht als Networkable object gemappt oder sowas).

Ersteres ist eigentlich unwahrscheinlich, weil set_networked (indirekt per _update_solarchargers_and_vecan) in Dvcc._on_timer() aufgerufen wird, also regelmässig, sobald DVCC aktiviert ist. siehe next Beitrag

Es gibt ein paar Stellen in dvcc.py, wo /Link/NetworkMode direkt geschrieben wird, und wohlmöglich geschieht das ja (evtl geschieht es aber auch irgendwo ausserhalb von dvcc.py) oder es läuft eben in's Leere. siehe next Beitrag

Also... ein Eingreifen an dieser Stelle macht nur Sinn, sobald /Link/NetworkMode ungleich 0 ist, du es aber 0 haben möchtest. In diesem Falle würde ich der Einfachheit und Übersichtlichkeit und einfacher Rückgängigmachbarkeit halber z.B.

machen, wie du richtig gesagt hast.

Sollte das dann nicht den gewünschten Effekt haben, müsste man noch schauen, ob man noch das eine oder ander zu None setzen muss, weil es geht ja auch noch weiter in der Prozedur...

1 „Gefällt mir“

ach, grad noch mal _update_solarchargers_and_vecan() angeschaut. da steht

# If the vebus service does not provide a charge voltage setpoint (so
# no ESS/Hub-1/Hub-4), we use the max charge voltage provided by the
# BMS (if any). ...

und ein paar Zeilen weiter unten

if charge_voltage is None and max_charge_current is None:
	return 0, 0, None

und das steht vor(!) dem Aufruf von set_networked(). Das wird wahrscheinlich der Grund sein, warum set_networked() bei dir bisher garnicht aufgerufen wird und /Link/NetworkMode 0 ist :smiling_face_with_sunglasses:

1 „Gefällt mir“

Ich werde es die Tage mal probieren

d.h. du wirst den ESS Assistant installieren und dann mit NetworkMode=0, damit die MPPTs trotzdem weiter autonom laufen?

1 „Gefällt mir“

noch ein Tipp:

stell die Zeichenkodierung auf UTF-8 bevor du speicherst!!

der ANSI Dreck ist Windows und wir wollen Linux :cowboy_hat_face: Wennn nur ASCII Zeichen benutzt wurden ist das egal, aber ein einziges nicht-ASCII Zeichen sorgt dafür, dass der Code danach nicht mehr läuft.

und was bei py ganz wichtig ist, ist dass die Einrückung immer identisch ist! Zwei Tabs sind nicht das gleiche wie 8 Leerzeichen, auch wenn es im Editor so aussieht. am besten die gesamte Zeile davor kopieren und einfügen und dann manipulieren. Oder per Cursorbewegung schauen, ob es Tab oder Leerzeichhen ist.

1 „Gefällt mir“