NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@walle-0 Kannst du auch selber machen... Suche die Zeile:
if (false || ConfigData.Debug) log('JSON-Nachricht empfangen:' + topic + ':' + JSON.stringify(jsonMessage));
und mach aus dem false ein true :
if (true || ConfigData.Debug) log('JSON-Nachricht empfangen:' + topic + ':' + JSON.stringify(jsonMessage));
dann sollte alles ins Log geschrieben werden.
-
@waly_de
Danke erstmalHier die RAW Daten:
{"from":"Android","id":"588625445","moduleType":2,"operateType":"setRtcTime","params":{"sec":58,"min":0,"week":3,"month":7,"hour":18,"year":2023,"day":26},"version":"1.0"}Das werde ich gleich mal umstellen.
-
@walle-0 Ja das sieht anders aus Das ist setRtcTime gewesen?
Also ich brauch dann den Eintrag der kommt, wenn du CfgChgWatts machst ... -
Untenstehend ist der Log:
script.js.Ecoflow.EcoFlow_MQTT_Laden: JSON-Nachricht empfangen:/app/1668913565281660930/XXXXXXXXXXXXXXXX/thing/property/set:{"from":"Android","id":"458115693","moduleType":5,"operateType":"acChgCfg","params":{"chgWatts":900,"chgPauseFlag":255},"version":"1.0"}Das ist der Log wenn ich bei der Delta 2 den Wert ändere.
kannst du hier was rauslesen?
-
@walle-0 Ja, das sieht gut aus... kannst du bitte noch ein paar andere Werte ändern und mir die entsprechenden RAWs Senden?
und kannst du damit irgendwas anfangen? chgPauseFlag:255 ... was ist eine chgPause? und kann man diesen wert irgendwo einstellen oder sehen ?
-
@waly_de: ich hätte ebenfalls Interesse: Habe eine Delta 2 Max und eine Powerstream. Möchte dynamisch über AC die Delta 2 max laden ( PV Überschuss mit Smartmeter) und via Powerstream dynamisch zurückspeisen. Wäre toll wenn es hierzu ein fertiges skript geben würde.
Danke schon mal für eure tolle Arbeit. das erste Skript (Powerstream dynamisch einspeisen) hat bei mir mit Anpassungen funktioniert
-
Ja kann ich. Meinst du den Wert zum laden?
script.js.Ecoflow.EcoFlow_MQTT_Laden: JSON-Nachricht empfangen:/app/1668913565281660930/XXXXXXXXXXXXXXXX/thing/property/set:{"from":"Android","id":"597271039","moduleType":5,"operateType":"acChgCfg","params":{"chgWatts":800,"chgPauseFlag":255},"version":"1.0"}
script.js.Ecoflow.EcoFlow_MQTT_Laden: JSON-Nachricht empfangen:/app/1668913565281660930/XXXXXXXXXXXXXXXX/thing/property/set:{"from":"Android","id":"123801081","moduleType":5,"operateType":"acChgCfg","params":{"chgWatts":600,"chgPauseFlag":255},"version":"1.0"}
Mit dem Wert chgPauseFlag:255 kann ich nichts anfangen, der Wert bleibt bei mir immer auf 255
Das was ich noch sehe ist das bei der Delta 2 keine writeables erstellt werden.
-
@walle-0 nein, ich meinte andere Parameter... AC Ein/Aus, USB Ein/Aus oder auch Ladelimits ... irgend was anderes eben, damit ich sehen kann wie sich die Nachrichten unterscheiden
-
USB AUS:
script.js.Ecoflow.EcoFlow_MQTT_Laden: JSON-Nachricht empfangen:/app/1668913565281660930/XXXXXXXXXXXXXXXX/thing/property/set:{"from":"Android","id":"394381518","moduleType":1,"operateType":"dcOutCfg","params":{"enabled":0},"version":"1.0"}Beep:
script.js.Ecoflow.EcoFlow_MQTT_Laden: JSON-Nachricht empfangen:/app/1668913565281660930/XXXXXXXXXXXXXXXX/thing/property/set:{"from":"Android","id":"428761497","moduleType":5,"operateType":"quietMode","params":{"enabled":0},"version":"1.0"}Autoeingang 8A:
script.js.Ecoflow.EcoFlow_MQTT_Laden: JSON-Nachricht empfangen:/app/1668913565281660930/XXXXXXXXXXXXXXXX/thing/property/set:{"from":"Android","id":"238621510","moduleType":5,"operateType":"dcChgCfg","params":{"dcChgCfg":8000},"version":"1.0"}So sehen die Nachrichten aus wenn ich andere Werte umstelle in der APP
-
-
Hallo, ich komme eigentlich aus der Home Assistant Ecke und habe zur Steuerung des Powerstream meinen ersten Kontakt mit iobroker.
Ich habe dazu:
- auf einem Synology NAS einen Docker Container mit iobroker aufgesetzt
- eine Verlinkung zu Home Assistant hergestellt (Entitäten werden erfolgreich an iobroker übergeben)
- den Adapter Javascript installiert
- das Skript (v 0.5.2) von dieser Seite reinkopiert und mit meinen Daten gefüttert
- protobuff und mqtt-client nachinstalliert
Aktueller Stand:
Es wird anscheinend erfolgreich eine Verbindung zur Ecoflow Cloud aufgebaut. Ich sehe wie das Objekt 0_userdata/0/ecoflow/app_device_property_HW5.../RealPower ständig aktualisiert wird. Der Wert entspricht anscheinend meinem aktuellen Bezug aus Home Assistant zzgl. dem Wert 'Leistungsbedarf am AC Ausgang' des Powerstream. Wenn ich per App die Einspeiseleistung anpasse, wird das anscheinend berücksichtigt.Leider wird kein neuer Wert an die Cloud gesendet um die Einspeiseleistung zu setzen.
Wo kann ich ansetzen um dem Problem auf die Spur zu kommen? Soll ich dazu einen Log hier reinkopieren? Mit oder ohne Debug?Ich habe noch ein weiteres Objekt namens TotalPV, das sich ändert. Was repräsentiert dieser Wert?
Darüber hinaus wurden in .../ecoflow/ noch zwei Ordner app_166... angelegt. Ich vermute das sind mitgeschnittene eingegangene Befehle, die von clients an die Cloud gesendet wurden. Richtig?Ich würde mich über Hilfe freuen. Ich kenne mich mit iobroker nicht aus und komme gar nicht weiter.
Gruß, Dreffi
-
@dreffi Das klingt doch schon alles toll Willkommen im IO-Broker Universum! Ich muss mir irgendwann auch dringend mal den Home Assistant ansehen…
Ich kenne die Docker- Installation nicht… ist der History-Adapter schon drin? Der ist eigentlich obligatorisch und wird hier Gebraucht. -
@waly_de
sofern der nicht standardmäßig mit installiert wird, nein. Ich habe das jetzt nachinstalliert.Ganz großes Kino! Es funktioniert
Ich habe dennoch Fragen:
- Was bedeutet der vom Skript angelegte Wert "TotalPV"? Dieser wird immer größer.
- Wie oft sendet das Skript den aktuellen Wert, bei jeder Änderung des als Bezug hinterlegten Objektes?
- Kommt das Skript mit negativen Werten für den Sensor den Strombezug klar?
Sorry, wie gesagt: ich bin totaler noob in Sachen iobroker. Home Assistant kommt von Haus aus glaube ich deutlich umfangreicher daher.
-
@dreffi sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Ich habe dennoch Fragen:
Was bedeutet der vom Skript angelegte Wert "TotalPV"? Dieser wird immer größer.
Das ist einfach die Summe der Leistung aller PV-Module. Ich hab z.B. 2 Powerstream mit insgesamt 4 Modulen.
Wie oft sendet das Skript den aktuellen Wert, bei jeder Änderung des als Bezug hinterlegten Objektes?
Nein, alle 30 Sekunden wird geprüft und angepasst.
Wichtig dabei ist auch der Punkt :
MinValueMin: 3, //Der Zeitraum in Minuten, aus dem der letzte Gesamtverbrauchs-Minimalwert geholt werden sollKommt das Skript mit negativen Werten für den Sensor den Strombezug klar?
Klar!
-
Ok, der Wert TotalPV scheint bei mir dann nicht zustimmen. Dieser ist wird z.B. mit 1000 angezeigt, wobei die Leistung derzeit im Bereich von 370W liegt (nur ein Powerstream).
Egal, das ist erstmal für mich persönlich nicht wichtig.
Ich lasse das erstmal ein paar Stunden laufen, beobachte und werde dann sicher noch mal Fragen haben.Dickes Dankeschön bis hier für das Teilen des Skriptes!
-
@waly_de
WOW es funktioniert.
Super Leistung danke.Ich werde jetzt das überschussladen mal 1 - 2 Wochen testen und die Regelung noch anpassen. Das kann ich dir dann gern zukommen lassen.
-
@dreffi sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Ok, der Wert TotalPV scheint bei mir dann nicht zustimmen. Dieser ist wird z.B. mit 1000 angezeigt, wobei die Leistung derzeit im Bereich von 370W liegt (nur ein Powerstream).
Der Faktor ist 10.
1000 würde also 100W entsprechen. Bei 370W sollte also 3700 angezeigt werden.hmm... kannst du bitte mal sehen, was in dem Wert steht:
0_userdata.0.ecoflow.app_device_property_XXXXXXXXXXXXXXXXXXXXXX.data.item.meta.sumPVIst das der gleiche Wert den dir TotalPV ausgibt?
-
@waly_de
Dort steht das gleiche wie unter TotalPV. Das scheint jetzt auch soweit ungefähr zu passen mit dem Faktor 10. Vorhin schwankte die Solarleistung hier sehr stark durch Wolken. Da habe ich wohl unterschiedliche Werte in ioBroker und der App verglichen.
Alles gut.Ich bin immer noch begeistert wie gut das Skript läuft.
ungefähr seit 12 läuft das Skript. Es gab mittags ein paar Probleme mit meinem Bezugssensor (Tibber pulse), aber seitdem sieht das echt gut aus, obwohl das Script neben meinem Verbrauch auch die Einspeisung des normalen Balkonkraftwerks mit wegregeln muss. Hut ab!
-
@dreffi Super. Ist immer toll zu sehen, dass mein Zeug auch woanders funktioniert
Tibber pulse: Da hab ich auch drüber nachgedacht. Kannst Du den direkt abfragen und in Dein Home Assistant einbinden, oder geht das immer nur über die Cloud (API)?
Meinen Tasmota-Sensor würde ich nur ungern gegen eine trägere Cloudlösung tauschen. -
@waly_de
Den Pulse greife ich über die API ab. Dafür gibt es direkt eine Integration in Home Assistant.Die Zuverlässigkeit der API ist nicht perfekt. Da gibt es hier und da regelmäßig mal Aussetzer. Die Integration hängt sich auch gerne mal auf. Ich überwache den Sensor bereits in Home Assistant und starte die Integration neu sobald der Wert sich für fünf Minuten nicht ändert. Wenn die API spinnt hilft das aber auch nicht.
Es gibt auch eine Dokumentation auf GitHub um die Bridge des Pulse zu manipulieren und die Daten zumindest dort lokal abzufragen.Vorher hatte ich einen Weidmann Lesekopf am Zähler und direkt per USB mit dem Host von Home Assistant verbunden. Absolut zuverlässig. Leider muss ich den Pulse nutzen um den stündlichen Tarif von Tibber nutzen zu können.
Es gäbe Möglichkeiten die Signale des Zählers auf einen weiteren Sendekopf zu spiegeln, aber so kontrolliere ich auch gleich ob alles korrekt auf den Servern von Tibber angekommen ist.