NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
Hallo,
ich bekomme es einfach nicht so richtig zum laufen.
script.js.Dynamische_Anpassung_1142: PowerStream [PowerStream] Batteriestand unter Limit:10% (0%). Limitiere Einspeiseleistung auf: 150WObwohl die Battterie (D2M) bei 54% ist scheint er sie nicht richtig abzurufen
Ändere ich auf "hasbat" auf false, dann gibt er die vollen 600W ab, also scheint die Kommunikation zu funktionieren.
hat jemand eine Idee? -
@kaiausbrieselang
auch unter:
0_userdata.0.ecoflow.app_1589636683427278850_Rxxxxxxxx_thing_property_set
writeables
ist alles auf 0 -
@kaiausbrieselang sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@kaiausbrieselang
auch unter:
0_userdata.0.ecoflow.app_1589636683427278850_Rxxxxxxxx_thing_property_set
writeables
ist alles auf 0Was zeigt denn die App an, wenn du die Einstellungen des PS aufrufst. Wenn Du es in der Nacht versuchst, wenn der Powerstream schläft, kann das auch passieren das 0 angezeigt wird.
(ich gehe davon aus, das Deine D2M direkt mit der PS verbunden ist.)Writables werden nur angelegt. Werte können erst bei Änderung angezeigt werden. Ändere etwas in der App während das Script online ist und das Ergebnis sollte auch in den Writeables zu sehen sein.
-
@waly_de
Hallo,
vielen Dank für deine schnelle Antwort.
Ich wusste nicht, welche von den vielen Infos zur Fehlereingrenzung relevant sind.
Also, die D2M ist direkt über Port2 mit dem PS verbunden. Am Port1 des D2M hängt (zur Zeit) nichts.
Solarpanele sind im Moment gar nicht angeschlossen (weder am PS noch am D2M).
Der Akku wird per Überschuss über eine Homematic Steckdose geladen, wenn genügend vorhanden ist.
Der Akku hat im Moment 65% und wird in der App beim PS angezeigt.
Einstellungen in der APP beim PS:
Modus: Stromversorgung Priorisieren
Bedarf: 0W
Lade/entladegrenzwert: 0%-100% (habe ich beim D2M so aktuell eingestellt und wurde so auch vom PS übernommen).
Im Script:name: "PowerStream", // beliebiger Namen MaxPower: 600, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: Powerstrem:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -1, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battPozOn: 99, battPozOff: 94, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: true, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 0, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus gechaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 10, lowBatLimitPozOff: 40,// Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 150,
und
name: "DELTA2Max", typ: "D2M", subscribe: true,
als Quelle für den Stromzähler habe ich einen von Homematic
SmartmeterID: "hm-rpc.0.MEQ0381279.1.IEC_POWER", // State, der den aktuellen Gesamtverbrauch in Watt anzeigt
Der Zeigt Bezugsleistung in W an. Bei Überschuss ist der Wert negativ
Im Moment ist es so, dass der PS nichts ans Haus abgibt. Aber wegen der Sonne auch Überschuss herrscht.
Einspeisen des Überschusses läuft nicht über das Script (bisher).Das Protokoll des IOBroker zeigt:
javascript.0 2023-09-27 14:58:21.007 info script.js.Dynamische_Anpassung_1142: Adresse: app_1589636683427278850_R351xxxxxxxx_thing_property_set javascript.0 2023-09-27 14:58:21.007 info script.js.Dynamische_Anpassung_1142: Unbekannter Delta2Max Set Befehl: {"params":{},"from":"iOS","lang":"de-de","id":"500855464","moduleSn":"R351xxxxxxx","moduleType":1,"operateType":"getAllTaskCfg","version":"1.0"} javascript.0 2023-09-27 14:58:20.899 info script.js.Dynamische_Anpassung_1142: Adresse: app_1589636683427278850_R351xxxxxxx_thing_property_set javascript.0 2023-09-27 14:58:20.899 info script.js.Dynamische_Anpassung_1142: Unbekannter Delta2Max Set Befehl: {"params":{},"from":"iOS","lang":"de-de","id":"500692123","moduleSn":"R351xxxxxxx","moduleType":1,"operateType":"getAllTaskCfg","version":"1.0"}
Und vorhin beim Starten des Scriptes:
script.js.Dynamische_Anpassung_1142: PowerStream [PowerStream] Batteriestand unter Limit:10% (0%). Limitiere Einspeiseleistung auf: 150W
Ich hatte vermutet, des Batteriestand bei den Writeables zu finden.
Habe wie von dir vorgeschlagen, mal was am D2M verändert (USB angeschaltet) und du hast recht, der Wert ändert sich von 0 auf 1.Aber unabhängih von den writeables muss ich noch irgendwo einen Fehler haben.
Ist nur schwer zu testen, wenn die Sonne scheintgruß Kai
-
Hallo,
ich habe jetzt auch mal das Script ausprobiert und bekomme keine gute Regelung hin.
Meine Konfiguration 2 PS mit jeweils einem Speicher dran. Das Problem ist das er eigentlich viel zu lange zu viel einpeist, so als ob er den Sollwert nicht auf die 2 PS verteilt.
Ist an meiner Konfiguration was verkehrt oder hat das Script ein Problem mit dieser Konfiguration? Irgendwelche Ideen?So sieht es aktuell: Oben die Gesamteinpeisung der beides PS und unten wie lange er zuviel einpeist obwohl die Batterien noch nicht voll sind.
meine config: hab eigentlich fast alles auf default parametrierung
Nach Analyse des Diagramms denke ich, das Problem folgendes obwohl der PS die Batterie gefüllt und voll einspeist und der andere PS noch nicht seine Batterie gefüllt hat speist er immer noch konstant ca. 160w ein und somit entsteht der großer Überschuss... Kann ich das irgendwo anpassen in der Konfiguration?
Viele Grüße,
-
@waly_de
kaum wartet man einige Zeit, wird auch ein Batteriestand erkannt.script.js.Dynamische_Anpassung_1142: PowerStream [PowerStream] Batteriestand ist jetzt über Limit:40% (64%). Maximale Einspeisung wieder bei: 600W
Ich bin erstmal glücklich und beobachte weiter deine tolle Arbeit.
Danke! -
@kaiausbrieselang ja bei mir ist das ähnlich, dass der batteriestand nur selten aktualisiert wird und manchmal auch auf 0 springt.
-
Also bei mir läuft alles wie erwartet auch das wenn alles voll geladen ist wird was die Solar Zellen hergeben eingespeist super Arbeit
-
@resilient sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Nach Analyse des Diagramms denke ich, das Problem folgendes obwohl der PS die Batterie gefüllt und voll einspeist und der andere PS noch nicht seine Batterie gefüllt hat speist er immer noch konstant ca. 160w ein und somit entsteht der großer Überschuss... Kann ich das irgendwo anpassen in der Konfiguration?
hast Du SmartPlugs im Einsatz?
-
@waly_de
Nein, keine Smart Plugs. -
Einen schönen Guten Abend
hab da mal eine fage was hat es mit der Überschuss Ladung zu tun?
dieser daten punkt taucht bei mir nirgends auf slowChgP// Überschuss Ladung:
//****************************************
ExcessCharge: false, //
ExcessChargePowerID: "0_userdata.0.ecoflow.app_xxxxxxxxxxxxxxxxxxxx_DAxxxxxxxxxxxxxxxxxx_thing_property_set.writeables.slowChgPower",
ExcessChargeSwitchID: "hm-rpc.3.xxxxxxxxxxxxxxxxxx.3.STATE",
ExcessChargeSwitchOn: true,
ExcessChargeSwitchOff: false,
ExcessChargeSwitchMin: 10,
ExcessChargeMaxPower: 1500,
ExcessChargeStartPower: 50,
ExcessChargeStartPowerDurationMin: 5, -
@milchbeck
Hast du aber auch 2 PS mit jeweils einem Speicher ? -
@golf-gti Moin, der slowChgP kommt vom Akku also z.B. Delta 2 Max und ist in den Objekten vom Akku zu finden.
Spätestens wenn man die Ladegewindigkeit mit Netzstrom in der App ändert. Bei der Delta 2 Max kann man ja langsames oder schnelles Laden per Schalter auswählen.Zum Thema "Überschuss Ladung" kann ich leider nichts sagen
-
@resilient schwer zu sagen was da los ist.... was gibt denn shelly.0.SHEM-3#349454757F98#1.Total.InstantPower genau an? Dein Diagramm sieht auch nicht wirklich so aus, als würde da viel geregelt. Beobachte mal den Wert : 0_userdata.0.ecoflow.RealPower der sollte deinen tatsächlichen verbrauch anzeigen (Ohne Einspeisung der PS)
Wenn shelly.0.SHEM-3#349454757F98#1.Total.InstantPower den Wert repräsentiert, den Dein Stromzähler anzeigt, dann sollte, wenn eine Batterie voll ist und Solarstrom einspeist , die Andere nach kurzer Zeit nicht weiter einspeisen. Es sei den, Smartplugs sind noch im Netzt und fordern Leistung an.
Dazu beobachte auch mal die Werte:0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXX.data.InverterHeartbeat.permanentWatts (Zeigt der die Leistung an, die gerade abgegeben wird, oder steht der Wert auf 0? )
und was steht in dem Object:
0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXX.data.InverterHeartbeat.dynamicWattsdas könnte auch SmartmeterFallbackPower sein (also 150W) Dazu müsste es Einträge im Protokoll geben
-
@golf-gti sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Einen schönen Guten Abend
hab da mal eine fage was hat es mit der Überschuss Ladung zu tun?
dieser daten punkt taucht bei mir nirgends aufDas ist wie gesagt noch Zukunftsmusik und kann ignoriert werden.
-
shelly.0.SHEM-3#349454757F98#1.Total.InstantPower gibt die momentan benötigte Leistung an falls zu viel anliegt auch als
minuswert. Also wird die eingespeiste Leistung auf einer der 3 Phasen bereits abgezogen.0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXX.data.InverterHeartbeat.permanentWatts die werte stehen in beiden PS nicht auf Null bei einem 130 und bei dem anderen 150 aber konstant und ändert sich überhaupt nicht.
Hier mal ein Bild 0_userdata.0.ecoflow.RealPower.
wie gesagt permanentWatts ändert sich nicht, daher dachte ich invOutputWatts (faktor 10) wäre die geregelte Einpeiseleistung vom PS, hab die auch aufgezeichnet.Kann das sein das shelly.0.SHEM-3#349454757F98#1.Total.InstantPower nicht das ist was hier gebraucht wird?
-
Hallo zusammen,
ich hoffe ihr könnt mir helfen. Ich hatte das Skript schon mal in einem iobrocker Docker laufen und es hat super funktioniert. Nun musste ich mir einen neuen Container erstellen und das Skript in Version 1.1.4.1 will einfach nicht mehr.
Mein Realpower Wert wird aktualisiert. Deswegen denke ich das ich meinen Smartmeter über HASS wieder richtig eingebunden habe. Über das writable SetAC kann ich einen Wert auch ohne Probleme setzen.
Mir ist bisher nur aufgefallen, dass unter 0_userdata.0.ecoflow.app_....set der Wert setAC nie aktuallisiert wird. Liegt hier vielleicht der Fehler?
Wenn ich hasBat auf false setzte, wird die Einspeisung auf 600 Watt gesetzt und bei setAC wird 6000 angezeigt. Das funktioniert.
Grüße
Patrick -
@resilient sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
permanentWatts
Steht nichts im Log? Realpower sieht plausibel aus. Aber es wird nichts geregelt. Kann im Moment nicht sagen was das Problem ist.
-
@pasch setAC unter writeables wird aber aktualisiert? Was ist das Problem? Wird garnicht geregelt?
-
@waly_de
achja dynamicWatts ist auch bei beiden PS auf 0.
das Log sagt nichts ungewöhnliches:
ja irgendwie läuft die Regelung nicht aber das script sagt auch nicht was das problem ist