NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
Falls jemand mehrere Power Streams hat und die Lastverteilung dynamisch regeln möchte…
Dank der Möglichkeit jetzt externe Parameter abzufragen, regle ich das via Zusatzscript:- die Lastverteilung von 2 Power Stream dynamisch regeln
- Stream 1 mit Delta Pro => 1680 WP direkt an der Delta Pro
- Stream 2 mit Zusatzakku => 840 WP am Power Stream
Hintergrund: Stream 2 lädt naturgemäß weniger in den Zusatzakku. Mein Ziel ist, den Ladezustand von Delta Pro und Zusatzakku einigermaßen gleich zu halten.
Scheint auch zu funktionieren

In meinem Script frage ich den Ladestand vom Delta Pro und Zusatzakku ab. Sobald der Ladezustand des Zusatzakkus unter dem der Delta Pro ist, springt die Regulierung auf „1“ => Serie (Stream 2 speist nur ein falls die Leistung von Stream 1 nicht ausreicht).
Ansonsten springt die Regulierung auf „0“ = Balance => beide Streams liefern den Strom zu gleichen Teilen.Vorbedingung:
Ein Objekt für die Regelung der Lastverteilung muss manuell angelegt werden. Ich habe noch ein Objekt für den Klartext der Lastverteilung (merke mir nie, welches welcher Zustand ist…).Ist ein Blockly-Script…
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="schedule" id="4r/SdR`9Ns}wG!-@z=)L" x="-1037" y="-288"> <field name="SCHEDULE">*/2 * * * *</field> <statement name="STATEMENT"> <block type="controls_if" id="ZvDhkV_4w)f-:`W}*PD7"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="Y3Ss0!70G}oW:jZ;RE8N"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="O?o^MK%1hqw`K8L?_6Ba"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.ecoflow.app_device_property_HW51ZOH4SF6L3894.data.InverterHeartbeat.batSoc</field> </block> </value> <value name="B"> <block type="get_value" id="(lVqzh+%Z1.pxn$P_,iv"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.ecoflow.app_device_property_HW51ZOH4SF581123.data.InverterHeartbeat.batSoc</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="1:AV6/J(fY[Zz*1*X[6*"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.eigene_Berechnungen.Lastverteilung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Lj/0p64,RRVn/[21U`U("> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="xQ9p#38-GIGTr+=3gs`="> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.eigene_Berechnungen.Lastverteilung_Txt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="23pG^Emw08kopK)!X4Wi"> <field name="TEXT">Serie (Akku xx23 nur falls nötig)</field> </block> </value> <next> <block type="debug" id="^#I:RE;C?.+/QDp/q540"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="V0Et@Z_=RE]`1r`CjF``"> <field name="TEXT">Einspeisung Serie</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control" id="XKy/aY~l#z4bg4uF*iJd"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.eigene_Berechnungen.Lastverteilung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="HVMt*OIb?!;7_QG9LQ#D"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="C5s{X~WtvtM9W+6x.WOF"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.eigene_Berechnungen.Lastverteilung_Txt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="lZbkY)~zLYO{18!fCHZ%"> <field name="TEXT">Balance</field> </block> </value> <next> <block type="debug" id="!HTqeR|~wD?~*g(SzZ=."> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="E-Eho[?yh+g;iD0_J:7x"> <field name="TEXT">Einspeisung Balance</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="control" id="*_G$?#*n-D,VF?ORa=/b" x="-463" y="246"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.eigene_Berechnungen.2a_PV2_Stream2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="o4XeKdnBz:VP~/xT+~K8"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="l9uiiPa+K*a/oRR12KC?"> <field name="NUM">1</field> </shadow> <block type="get_value" id="RMZ1FQrRKi1;*V#-sl7i"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.ecoflow.app_device_property_HW51ZOH4SF581123.data.InverterHeartbeat.pv2InputWatts</field> </block> </value> <value name="B"> <shadow type="math_number" id="Hs%1vOOTy{!dm#U2~m$g"> <field name="NUM">10</field> </shadow> </value> </block> </value> </block> </xml>@umele Frage: die Delta Pro hat insgesamt 2 Steckplätze für Akku oder PS. Wenn ich eine PS habe, ist ein Steckplatz schon weg und kann noch einen Zusatzakku anschließen oder gibt es einen Adapter, dass ich 2 Zusatzakkus und 2 PS anschließen könnte?
Du hast ja eine Delta mit PS und einen Zusatzakku mit PS, da frage ich mich, wie das angeschlossen wird, da der Zusatzakku doch auch nur einen Steckplatz hat für die Verbindung zur Delta.
Oder habe ich das falsch verstanden und Du hast eine Delta mit einem PS und einem Zusatzakku und die Solarmodule hängen zum einen an der Delta und zum anderen an der PS? - die Lastverteilung von 2 Power Stream dynamisch regeln
-
@umele Frage: die Delta Pro hat insgesamt 2 Steckplätze für Akku oder PS. Wenn ich eine PS habe, ist ein Steckplatz schon weg und kann noch einen Zusatzakku anschließen oder gibt es einen Adapter, dass ich 2 Zusatzakkus und 2 PS anschließen könnte?
Du hast ja eine Delta mit PS und einen Zusatzakku mit PS, da frage ich mich, wie das angeschlossen wird, da der Zusatzakku doch auch nur einen Steckplatz hat für die Verbindung zur Delta.
Oder habe ich das falsch verstanden und Du hast eine Delta mit einem PS und einem Zusatzakku und die Solarmodule hängen zum einen an der Delta und zum anderen an der PS?@gerdso -
Stimmt - musste schon ein bisschen Hirnschmalz in die Konfiguration stecken

Hier meine aktuelle Konfiguration:

Davor hatte ich nur einen Power Stream (und auch ein Panel weniger). Da war meine Konfig wie folgt:

Ein zweites Panel an der "alten" Konfiguration an den Power Stream anzuschließen, hätte bei mir keinen Sinn gemacht - hätte den Grossteil dieser Sonnenernte verschenkt, weil duales Laden (noch) nicht funktioniert.
-
@ralf77 Hallo, ja Regelung der AC-Ladeleistung nach Überschuss geht.
Ich mach das auch über Tuya Wlan Steckdosen und einen Blockly Script in Iobrocker, funktioniert bei mir bestens, lade meine Ecoflow nur mit AC wenn überschuss vorhanden ist, hab kein Solarpanel angeschlossen.
AC ladung kommt bei mir von der Dachanlage mit einen Fronius Wechselrichter und einspeisung dann mit der ecoflow nur sobald die Dachanlage nicht mehr genug an leistung liefert.@19bobby65
Es wäre super, wenn Du Dein Scrip teilen würdest. Bin daran sehr interessiert, da ich auch gerade daran bin das zu machen…komme aber schleppend mit meinen Fähigkeiten voran. Vielen Dank für Deine Hile. -
@19bobby65
Wie hast du dies realisiert, in einem eigenen script? Wie sieht dein Befehl für das Ändern der Ladeleistung aus?
Danke & Gruss<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="z?RSsC$V#o)f[Uf=J_F.">pv</variable> <variable id="8jAy3,$^XwJf~/#-uIEU">eigenverbrauch</variable> <variable id="tANO5)Fws;PbejQI|6_K">ueberschus</variable> </variables> <block type="schedule" id="/.@G|5ZDL/g|}6Y(TVn^" x="-337" y="-362"> <field name="SCHEDULE">{"time":{"start":"sunrise","end":"sunset","mode":"minutes","interval":1},"period":{"days":1},"valid":{"from":"19.09.2023","to":""}}</field> <statement name="STATEMENT"> <block type="variables_set" id="g%2?UVY^7Q,sLL1uB4_@"> <field name="VAR" id="z?RSsC$V#o)f[Uf=J_F.">pv</field> <value name="VALUE"> <block type="get_value" id="cq%YBwfza@)f7ec{bAL^"> <field name="ATTR">val</field> <field name="OID">fronius.0.powerflow.P_PV</field> </block> </value> <next> <block type="variables_set" id="%31}bYLyZ!@!T2pT;X|M"> <field name="VAR" id="8jAy3,$^XwJf~/#-uIEU">eigenverbrauch</field> <value name="VALUE"> <block type="get_value" id="DCr~sOj3]h]G[t_W}:|j"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Eigenverbrauch</field> </block> </value> <next> <block type="variables_set" id="PTjbb3PFLe}:!2|qt@=|"> <field name="VAR" id="tANO5)Fws;PbejQI|6_K">ueberschus</field> <value name="VALUE"> <block type="math_arithmetic" id=".-xW]_d#vw]?s,Y.@Y4."> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="*ODotjCrz/_1P[9tC0$z"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="g6wh6Yc{iA)/i?wswu6K"> <field name="VAR" id="z?RSsC$V#o)f[Uf=J_F.">pv</field> </block> </value> <value name="B"> <shadow type="math_number" id="lY79g[Wo-C3Mh(A.GJAF"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="vKhaHdbCULV^MCID;HZ{"> <field name="VAR" id="8jAy3,$^XwJf~/#-uIEU">eigenverbrauch</field> </block> </value> </block> </value> <next> <block type="controls_if" id="$KrntQhU)rR[{Jl?5~Xz"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="s]bQU5IFZC9|A(rIHY|W" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="sA+ZhIk3`dX5ZF%R8yrt"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="hQT_czZI~WzhPSQlHTv3"> <field name="VAR" id="tANO5)Fws;PbejQI|6_K">ueberschus</field> </block> </value> <value name="B"> <block type="convert_tonumber" id="j^3{5)ge!1//_QlJcTM_"> <value name="VALUE"> <block type="math_number" id=":`:9.H0~|4dJ+@#kgd@%"> <field name="NUM">250</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/V?/{9u*P-u%AU=KaaIO"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="%RX?N$P;s_bGHl3b}Tp/"> <field name="ATTR">val</field> <field name="OID">tuya.0.0620008184f3eb85a03d.1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="x+(jxI:R]ArJwQsdn/oe"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="zBiqXDkFElLS2X@0ci2Z"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.0620008184f3eb85a03d.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="4J:`UPTh(0N=6M2n1h8)"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="y7gFBI~Sl1;upLRsUfko" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="i~dBl(E6XD=H.uRn~fBH"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="wR3cwB)f;|^RJhFIZeC_"> <field name="VAR" id="tANO5)Fws;PbejQI|6_K">ueberschus</field> </block> </value> <value name="B"> <block type="convert_tonumber" id="O6fR+|r!yr5q7?XTFZ?g"> <value name="VALUE"> <block type="math_number" id="kG4Ph?*3F$q_[45V@Ku*"> <field name="NUM">5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="xVPLuD{`xomav}V_@RE3"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=".Oi//vv9Q:n6bWm(m#)n"> <field name="ATTR">val</field> <field name="OID">tuya.0.0620008184f3eb85a03d.1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="!KDe7nC{+kKlP6,Z^vmU"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="TS5NneGqaTO|#E)kkB=O"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">tuya.0.0620008184f3eb85a03d.1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="%!q^MjX,:zdI+)nI8l2|"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="update" id="Z2D!Q](VIi/e3L=^Bn^@"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="N!9FHOuUmBWMRDQ`-LGu"> <value name="VALUE"> <block type="math_number" id="Gj}@r![*8A4-*Ai$$ej-"> <field name="NUM">100</field> </block> </value> </block> </value> <next> <block type="control" id="kqUQK7E]5%Qc)Y`{lFHJ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.ecoflow.app_1699446398039774562_DAEBZ5ZE6280131_thing_property_set.writeables.slowChgPower</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id=",4gy=A:Gucd5W~JU?K_+"> <value name="VALUE"> <block type="math_number" id="O0O[XjW*8?!$}muvC7hj"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="schedule" id="~{)0dhBI=@]Y^nrQTf)K"> <field name="SCHEDULE">{"time":{"start":"17:02","end":"17:05","mode":"minutes","interval":1},"period":{"days":1}}</field> <statement name="STATEMENT"> <block type="controls_if" id="Rd7HrS?G6XhPgXriPoIO"> <value name="IF0"> <block type="logic_compare" id="nd4@mxqyvYz#-CxSU#88"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="VIv)[[iy9{$7N%qD{u:F"> <field name="ATTR">val</field> <field name="OID">tuya.0.0620008184f3eb85a03d.1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="~*2HOA[RepI^2oO%wv%T"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="X#+Ev)+/LOrm=5QCO+]v"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.0620008184f3eb85a03d.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="559fu-Y1o!Ciw:r$Ls*_"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="wutz@-^x{JMv1l`jlU5`"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="%30Ret=}C/HjSe^nO=4z"> <field name="oid">0_userdata.0.Datenpunkte.Netzeinspeisung</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="]Qzh`7w3Hd(vmR!4iYeU"> <value name="IF0"> <block type="logic_operation" id="tNsYkXQH?w$cC%{)1,Z/" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="niQ#G|rZd^M.kQKAl8_m" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=":NT?7+^;uNnF@LH([p!Y"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=";33=H?#xLD7y!8eM%ZnH"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Netzbezug</field> </block> </value> <value name="B"> <block type="math_number" id="AW|n;ik=a`J;2Txhg,I3"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="FagzWE.m8B5QyG+5!gY$"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id=".b|Y(p%046wHd5A~6?y3"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Netzeinspeisung</field> </block> </value> <value name="B"> <block type="convert_tonumber" id="BZ-^=rd}H[V?uQP)4*4/"> <value name="VALUE"> <block type="math_number" id=";^;mGkMF,Ma[v//vygh9"> <field name="NUM">300</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="zMf:t@c2.elAGPQJHsjL"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="Aja1vYWtDxXeY,M7kN~X"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> </block> </value> <value name="B"> <block type="math_number" id="lpcpra$3)Ln;8xwEFDjq"> <field name="NUM">2000</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="@A@f9dw4zDQYVaPMPi~,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="Aa1m;N5wd~0,n}/aG(?q"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="BG`YHIr@apG4;{ai^!#n"> <field name="NUM">1</field> </shadow> <block type="get_value" id="C-~O$)|3[Yg2.9(,{eL."> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> </block> </value> <value name="B"> <shadow type="math_number" id=":UC1-vH)-a_48Z(pp0-a"> <field name="NUM">100</field> </shadow> </value> </block> </value> <next> <block type="control" id="RNsweT1begokmpsMdq/w"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.ecoflow.app_1699446398039774562_DAEBZ5ZE6280131_thing_property_set.writeables.slowChgPower</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="Jq[!jZ^e*aG*MhJj+%|9"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="Sk#tj]/H|wiuR3TNQQ0?"> <value name="IF0"> <block type="logic_operation" id="ppG-mT7o6S^yJU-/K(3J" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="lh3u!,H~291P%0I~gjpY"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="E|8**U~,O/Y9Y1{+dmm#"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Eigenverbrauch</field> </block> </value> <value name="B"> <block type="get_value" id="nPjG#kCa(Mo+`sG1o1z0"> <field name="ATTR">val</field> <field name="OID">fronius.0.powerflow.P_PV</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="]5te~SMy|LG~0T{ZLI5_"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="LzjI?_DT{3iGm8Vn#_Yb"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> </block> </value> <value name="B"> <block type="math_number" id="Pm7SQnN_W?H/vPZ!jC:*"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="xI@#zAR~=)ym@z*Z2{xg"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="!5]fiu??C;YIR_NmlRH:"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="BG`YHIr@apG4;{ai^!#n"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Lh;Q5v7_D7U^:JaV.ykA"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> </block> </value> <value name="B"> <shadow type="math_number" id="q.pvW6a9KHRNBP-rAxpN"> <field name="NUM">100</field> </shadow> </value> </block> </value> <next> <block type="control" id="9Df$]g*A]Am#={;0kD08"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.ecoflow.app_1699446398039774562_DAEBZ5ZE6280131_thing_property_set.writeables.slowChgPower</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="6Y}-M|So/0nPL;2:nx.-"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Neuer_Zustand1</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>Der unter Teil im Script regelt die AC-Ladung in 100 Watt schritten von 0 bis 2000 Watt je nach vorhandenen Überschuss aber ob dir das so etwas hilft keine Ahnung müssen ja auch die Datenpunkte dazu passen bzw. musst du die erstellen.
-
Hallo zusammen,
ist es möglich das anschalten des AC ausgangs bei der Delta 2 zu automatisieren? meine Idee war ein Blockly Script das bei Ladestand größer 90% Ac anschalten soll, allerdings schreibt das Script den wert nicht.
Probiert habe ich 0_userdata.0.ecoflow.app_xxxxxx_xxxxxxx_thing_property_set.writeables.acOutCfg_D2
als auch
0_userdata.0.ecoflow.app_device_property_xxxxxxx.data.params.mppt.cfgAcEnabledHabt ihr da eine idee wie das funktioniert könnte?
-
Hallo zusammen,
ist es möglich das anschalten des AC ausgangs bei der Delta 2 zu automatisieren? meine Idee war ein Blockly Script das bei Ladestand größer 90% Ac anschalten soll, allerdings schreibt das Script den wert nicht.
Probiert habe ich 0_userdata.0.ecoflow.app_xxxxxx_xxxxxxx_thing_property_set.writeables.acOutCfg_D2
als auch
0_userdata.0.ecoflow.app_device_property_xxxxxxx.data.params.mppt.cfgAcEnabledHabt ihr da eine idee wie das funktioniert könnte?
@paterdo-glaser Ich mach es nicht per Blockly sondern per Javascript und bei mir funktioniert es per
0_userdata.0.ecoflow.app_xxx_DCxxx_thing_property_set.writeables.ACPower"); // ACPower on/off für Netzteile
die Variable ACPower habe ich bei Dir jetzt nicht gesehen -
@paterdo-glaser Ich mach es nicht per Blockly sondern per Javascript und bei mir funktioniert es per
0_userdata.0.ecoflow.app_xxx_DCxxx_thing_property_set.writeables.ACPower"); // ACPower on/off für Netzteile
die Variable ACPower habe ich bei Dir jetzt nicht gesehen@gerdso Hallo, welchen Akku Verwendest du? ACPower ist bei mir in den Instanzen keine Writeable, Du wirst eine Delta Max haben oder. Bei mir ist es aktuell so, dass ich die Werte in den Instanzen zwar ändern kann, aber es nicht ausgeführt wird
-
Hallo zusammen,
weiss jemand, welcher Parameter der DP die ungerundete Akkuladung angibt?
Ich vermute, dass es "0_userdata.0.ecoflow.app_device_property_DCxxx.data.params.bmsMaster.f32ShowSoc"
ist.
Nehme bisher "batSoc" (PowerStream), bzw. "Soc"(Delta Pro direkt). Der gerundete Wert ist mir aber zu ungenau beim Kalibrieren der Delta Pro... -
@gerdso Hallo, welchen Akku Verwendest du? ACPower ist bei mir in den Instanzen keine Writeable, Du wirst eine Delta Max haben oder. Bei mir ist es aktuell so, dass ich die Werte in den Instanzen zwar ändern kann, aber es nicht ausgeführt wird
@paterdo-glaser genau so ist es bei mir auch (Delta Pro).
Ich kann die Überschusswerte automatisiert vom Smartmeter holen und auch in die writebale (0_userdata.0.ecoflow.app_XXXX_DCEBXXX_thing_property_set.writeables.slowChgPower eintragen lassen. Leider ändert sich die Ladeleistung am AC-EIgang dadurch nicht - ich vermute, dass diese Werte nicht vom IoBroker zum Delta Pro gesendet werden... da muss vermtulich noch das Passwort von der App in das Script eingebaut werden. -
@paterdo-glaser genau so ist es bei mir auch (Delta Pro).
Ich kann die Überschusswerte automatisiert vom Smartmeter holen und auch in die writebale (0_userdata.0.ecoflow.app_XXXX_DCEBXXX_thing_property_set.writeables.slowChgPower eintragen lassen. Leider ändert sich die Ladeleistung am AC-EIgang dadurch nicht - ich vermute, dass diese Werte nicht vom IoBroker zum Delta Pro gesendet werden... da muss vermtulich noch das Passwort von der App in das Script eingebaut werden.@ralf77 Ah okay, ich bin gerade auch am schauen ob man das in das bereits bestehende Script einbauen kann da gibt es ja den Wert const writeables = [
//Delta 2
{ id: 0, name: 'acChgCfg_D2', ValueName: 'chgWatts', Typ: 'D2', MT: 5, AddParam: '{"chgWatts":600,"chgPauseFlag":255}' },
{ id: 0, name: 'acOutCfg_D2', ValueName: 'enabled', Typ: 'D2', MT: 3 },
{ id: 0, name: 'dcOutCfg_D2', ValueName: 'enabled', Typ: 'D2', MT: 1 },
{ id: 0, name: 'quietMode_D2', ValueName: 'enabled', Typ: 'D2', MT: 5 },
{ id: 0, name: 'dcChgCfg_D2', ValueName: 'dcChgCfg', Typ: 'D2', MT: 5 },Nur leider ändert das nichts wenn ich diesen Wert anpasse. Wenn ich wieder in der App den "switch" betätige ändert sich auch der Wert in Iobroker. Ich denk auch das hier die Kommunikation einseitig ist
-
@paterdo-glaser genau so ist es bei mir auch (Delta Pro).
Ich kann die Überschusswerte automatisiert vom Smartmeter holen und auch in die writebale (0_userdata.0.ecoflow.app_XXXX_DCEBXXX_thing_property_set.writeables.slowChgPower eintragen lassen. Leider ändert sich die Ladeleistung am AC-EIgang dadurch nicht - ich vermute, dass diese Werte nicht vom IoBroker zum Delta Pro gesendet werden... da muss vermtulich noch das Passwort von der App in das Script eingebaut werden. -
@ralf77 Ah okay, ich bin gerade auch am schauen ob man das in das bereits bestehende Script einbauen kann da gibt es ja den Wert const writeables = [
//Delta 2
{ id: 0, name: 'acChgCfg_D2', ValueName: 'chgWatts', Typ: 'D2', MT: 5, AddParam: '{"chgWatts":600,"chgPauseFlag":255}' },
{ id: 0, name: 'acOutCfg_D2', ValueName: 'enabled', Typ: 'D2', MT: 3 },
{ id: 0, name: 'dcOutCfg_D2', ValueName: 'enabled', Typ: 'D2', MT: 1 },
{ id: 0, name: 'quietMode_D2', ValueName: 'enabled', Typ: 'D2', MT: 5 },
{ id: 0, name: 'dcChgCfg_D2', ValueName: 'dcChgCfg', Typ: 'D2', MT: 5 },Nur leider ändert das nichts wenn ich diesen Wert anpasse. Wenn ich wieder in der App den "switch" betätige ändert sich auch der Wert in Iobroker. Ich denk auch das hier die Kommunikation einseitig ist
@paterdo-glaser ja, so vermute ich es auch. Ich gehe davon aus, dass man in die "Autehntifzierung" die neuen Objekte/Writables einfügen muss, damit die Werte direkt in den Ecoflow-Server geschrieben werden und von dort an den Delta Pro gesendet werden (der IoBroker muss quasi wie eine 2. App fungieren).
Die Werte für das automaitisierte/geregelte AC-Laden werden aber vom iobroker nicht gesendet und damit funktioniert es nicht.Leider reichen meine Fähigkeiten für das bei weitem nicht aus...
-
@paterdo-glaser ja, so vermute ich es auch. Ich gehe davon aus, dass man in die "Autehntifzierung" die neuen Objekte/Writables einfügen muss, damit die Werte direkt in den Ecoflow-Server geschrieben werden und von dort an den Delta Pro gesendet werden (der IoBroker muss quasi wie eine 2. App fungieren).
Die Werte für das automaitisierte/geregelte AC-Laden werden aber vom iobroker nicht gesendet und damit funktioniert es nicht.Leider reichen meine Fähigkeiten für das bei weitem nicht aus...
@ralf77 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@paterdo-glaser ja, so vermute ich es auch. Ich gehe davon aus, dass man in die "Autehntifzierung" die neuen Objekte/Writables einfügen muss, damit die Werte direkt in den Ecoflow-Server geschrieben werden und von dort an den Delta Pro gesendet werden (der IoBroker muss quasi wie eine 2. App fungieren).
Die Werte für das automaitisierte/geregelte AC-Laden werden aber vom iobroker nicht gesendet und damit funktioniert es nicht.Leider reichen meine Fähigkeiten für das bei weitem nicht aus...
Nein... das muss man nicht. Es wird gesendet... Es kann nur sein, das ein anderer Parameter gesendet werden muss. (Definition) Da ich nur ein gerät habe, kann ich das hier nicht selbst testen. Gesendet wird aber
-
Hallo zusammen,
ist es möglich das anschalten des AC ausgangs bei der Delta 2 zu automatisieren? meine Idee war ein Blockly Script das bei Ladestand größer 90% Ac anschalten soll, allerdings schreibt das Script den wert nicht.
Probiert habe ich 0_userdata.0.ecoflow.app_xxxxxx_xxxxxxx_thing_property_set.writeables.acOutCfg_D2
als auch
0_userdata.0.ecoflow.app_device_property_xxxxxxx.data.params.mppt.cfgAcEnabledHabt ihr da eine idee wie das funktioniert könnte?
@paterdo-glaser sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
ist es möglich das anschalten des AC ausgangs bei der Delta 2 zu automatisieren?
versuch bitte mal als Typ: D2M und sag mir ob es geht....
Paramenter: slowChgWatts ... -
@gerdso Hallo, welchen Akku Verwendest du? ACPower ist bei mir in den Instanzen keine Writeable, Du wirst eine Delta Max haben oder. Bei mir ist es aktuell so, dass ich die Werte in den Instanzen zwar ändern kann, aber es nicht ausgeführt wird
@paterdo-glaser ich habe eine Delta Pro als DM konfiguriert im Script:

-
@ralf77 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@paterdo-glaser ja, so vermute ich es auch. Ich gehe davon aus, dass man in die "Autehntifzierung" die neuen Objekte/Writables einfügen muss, damit die Werte direkt in den Ecoflow-Server geschrieben werden und von dort an den Delta Pro gesendet werden (der IoBroker muss quasi wie eine 2. App fungieren).
Die Werte für das automaitisierte/geregelte AC-Laden werden aber vom iobroker nicht gesendet und damit funktioniert es nicht.Leider reichen meine Fähigkeiten für das bei weitem nicht aus...
Nein... das muss man nicht. Es wird gesendet... Es kann nur sein, das ein anderer Parameter gesendet werden muss. (Definition) Da ich nur ein gerät habe, kann ich das hier nicht selbst testen. Gesendet wird aber
@waly_de vielen Dank für Deine Hilfe. Nur, dass ich aufgrund meiner geringen Kenntnisse kein Fehler mache...
Ich habe ein 2. Script im iobroker angelegt

(PowerStream ist das von Dir -klappt sehr gut

Geregelte AC Überschussladung ist welches die Werte vom Smartmeter (bei mir Fronius) alle 60 Sekunden holt und dann in "0_userdata.0.ecoflow.app_1695XXX_DCEBZXXX_thing_property_set.writeables.slowChgPower" ablegt.
Das Ablegen klappt problemlos.

Leider ändert sich der Wert für die AC-Ladung in der App aber nicht auf den Wert, welcher abgelegt wird.
-
@waly_de vielen Dank für Deine Hilfe. Nur, dass ich aufgrund meiner geringen Kenntnisse kein Fehler mache...
Ich habe ein 2. Script im iobroker angelegt

(PowerStream ist das von Dir -klappt sehr gut

Geregelte AC Überschussladung ist welches die Werte vom Smartmeter (bei mir Fronius) alle 60 Sekunden holt und dann in "0_userdata.0.ecoflow.app_1695XXX_DCEBZXXX_thing_property_set.writeables.slowChgPower" ablegt.
Das Ablegen klappt problemlos.

Leider ändert sich der Wert für die AC-Ladung in der App aber nicht auf den Wert, welcher abgelegt wird.
-
@ralf77 der wert sieht ungültig aus. versuch es mal ohne Komma als Ganzzahl. ( Zum testen kannst du den wert ja manuell setzten. vorher Dein eigenes Script stoppen)
Die Änderung müsste in der App sofort sichtbar werden
-
@waly_de Leider passiert in der App nichts, wenn ich das Script stoppe und den Wert im Writable z.B. auf 800 setze...
@ralf77
Hast Du schon mal versucht rauszufinden, welcher Parameter in- app_device_property_DCxxx
anzeigt wieviel aktuell via AC-Anschluss geladen wird?
Vielleicht lässt die Nomenklatur Rückschlüsse darauf zu, ob "slowChgPower" überhaupt der richtige Parameter ist.
-
@ralf77
Hast Du schon mal versucht rauszufinden, welcher Parameter in- app_device_property_DCxxx
anzeigt wieviel aktuell via AC-Anschluss geladen wird?
Vielleicht lässt die Nomenklatur Rückschlüsse darauf zu, ob "slowChgPower" überhaupt der richtige Parameter ist.