NEWS
Script zum Laden/Entladen von Zendure Solarflow
-
@astuermer Leider nein, hab jetzt einen Hyper
@lesiflo sorry die spammerei... versuch mich grad etwas in blockly einzuarbeiten :D
könnte es so funktionieren?
also wenn akku voll, dann soll er einfach einspeisen was benötigt wird. ich möchte keinen bypass...
Update: Nope, schwankt genauso hoch und runter...
Wenn ich "acmode" vom Ace nehme steuert der doch den Ausgang (Notstrom) und nicht die Ladung...

-
Ich hab mir nun letzte Nacht ein quasi "halbautomatisches" AC-Ladeskript gebastelt, das ich über Lovelace einfach an- und ausschalten kann und das mir dann den Überschuss am Shelly Pro 3EM ausrechnet, auf ganze 100er runterrundet (für den Ace) und das dann als Input an den Hub 2000 weitergibt.

Mit dem An- und Ausschalten wird ein Objekt in ioBroker mit true/false getriggert, das bei Aktivierung/Änderung ein Blockly-Skript startet, den CT-Modus ausschaltet, den AC-Input am Ace aktiviert und den Input Wert mal auf "0" setzt. Dann wird vom 3EM in Echtzeit ausgelesen bis entweder 99% beim Akku erreicht wurden oder ich den Schalter wieder umlege. Das wiederum aktiviert wieder den CT-Modus und deaktiviert den AC-Input am Ace.


Update 21.9.2025: Hab mal den verschachtelten Trigger ausgebaut, hat zwar funktioniert, ab was weiß man... sollte so auch klappen, aber noch nicht getestet:

Update 22.9.2025: Ok schein nicht zu klappen, es wird nun leider genau 1x nur das Ladelimit festgelegt. Falls jemand einen Tipp hat gerne.
Update nochmal: Scheint nun zu klappen.

-
Ich hab mir nun letzte Nacht ein quasi "halbautomatisches" AC-Ladeskript gebastelt, das ich über Lovelace einfach an- und ausschalten kann und das mir dann den Überschuss am Shelly Pro 3EM ausrechnet, auf ganze 100er runterrundet (für den Ace) und das dann als Input an den Hub 2000 weitergibt.

Mit dem An- und Ausschalten wird ein Objekt in ioBroker mit true/false getriggert, das bei Aktivierung/Änderung ein Blockly-Skript startet, den CT-Modus ausschaltet, den AC-Input am Ace aktiviert und den Input Wert mal auf "0" setzt. Dann wird vom 3EM in Echtzeit ausgelesen bis entweder 99% beim Akku erreicht wurden oder ich den Schalter wieder umlege. Das wiederum aktiviert wieder den CT-Modus und deaktiviert den AC-Input am Ace.


Update 21.9.2025: Hab mal den verschachtelten Trigger ausgebaut, hat zwar funktioniert, ab was weiß man... sollte so auch klappen, aber noch nicht getestet:

Update 22.9.2025: Ok schein nicht zu klappen, es wird nun leider genau 1x nur das Ladelimit festgelegt. Falls jemand einen Tipp hat gerne.
Update nochmal: Scheint nun zu klappen.

Da jetzt die Tage der Akku bei mir nicht mehr immer voll wird habe ich sehr gute Erfahrung mit der Steuerung nach Zellspannung gemacht. Bei 3.17 Volt schalte ich das Einspeisen aus.
Je nach Ladestand am Abend ist die prozentuale Restladung sehr verschieden. Zwischen 16 %und 22 % schwankt dann der Ladestand beim Abschalten.

-
Hallo,
habe drei Hyper am Laufen, welchen über einen Shelly und HEMS gesteuert werden.
Manchmal spinnt das System und springt ständig zwischen laden und entladen
Nun meine Frage, kann ich mit irgend einem Parameter bei dem jeweiligen HYPER HEMS deaktivieren und später dann wieder aktivieren?
Danke
Bernd -
Hallo,
habe drei Hyper am Laufen, welchen über einen Shelly und HEMS gesteuert werden.
Manchmal spinnt das System und springt ständig zwischen laden und entladen
Nun meine Frage, kann ich mit irgend einem Parameter bei dem jeweiligen HYPER HEMS deaktivieren und später dann wieder aktivieren?
Danke
Bernd@bersu sagte in Script zum Laden/Entladen von Zendure Solarflow:
Hallo,
habe drei Hyper am Laufen, welchen über einen Shelly und HEMS gesteuert werden.
Manchmal spinnt das System und springt ständig zwischen laden und entladen
Nun meine Frage, kann ich mit irgend einem Parameter bei dem jeweiligen HYPER HEMS deaktivieren und später dann wieder aktivieren?
Danke
BerndKurze Antwort: Nein, HEMS kannst du nur in der App ein/ausschalten
Mein Tip, selbst eine eigene Regelung bauen. Ich hab's bei HEMS mit 2 Hyper versucht auch da gab's schon Probleme. Ich hatte mal ein Java-Script für 2 Hyper eingestellt. Javascript für Zendure Hyper Steuerung
-
Ja, sollte gehen.
-
@lesiflo Moin,

<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="O}e3|VjTzH+.dHc-BE_:">output_Abzug</variable> <variable id="Pmn^Rfs2`%vXob$!J=UX">input_Abzug</variable> <variable id="C3%p`nQ`AJ8yklMQKidv">entladen_ab_PV_Leistung</variable> <variable id="[ZaP{gfTZqGf@aQ2FZ~q">min_PV_Leistung_laden</variable> <variable id="8]~yHC.tW6]*GfkCbq)^">ausgang_max_soll</variable> <variable id="u8CL)Wex?DocZ58y(/n*">output</variable> <variable id="s3oTgk^d]QTYtWfpyOk6">input</variable> <variable type="timeout" id="timeout4">timeout4</variable> <variable id="4.#!}3STBog53dwlcFl-">ausgang_max</variable> </variables> <block type="comment" id="aB?G:5$JZsZVN]k[FMf$" x="2512" y="-1538"> <field name="COMMENT">Setzen der Variablen </field> <next> <block type="variables_set" id="%T^F?(~}g~8Mo.96hbPc"> <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_Abzug</field> <value name="VALUE"> <block type="math_number" id="Cd-LtKS?ZQR;3fE)1OfR"> <field name="NUM">50</field> </block> </value> <next> <block type="variables_set" id="Kd6%X$(E%a#8:/4N[o[d"> <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_Abzug</field> <value name="VALUE"> <block type="math_number" id="6chO$JcvEJqo#aCjc+es"> <field name="NUM">50</field> </block> </value> <next> <block type="variables_set" id="uB]{;BN[bdupMg$7^N%|"> <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">entladen_ab_PV_Leistung</field> <value name="VALUE"> <block type="math_number" id="[h?+?1Bkt{sL]3tL~hWI"> <field name="NUM">100</field> </block> </value> <next> <block type="variables_set" id="Nh!l?R;)f=75+K9:iO@v"> <field name="VAR" id="[ZaP{gfTZqGf@aQ2FZ~q">min_PV_Leistung_laden</field> <value name="VALUE"> <block type="math_number" id="oOA~o%:[)dg2rqcignZi"> <field name="NUM">50</field> </block> </value> <next> <block type="variables_set" id="C7WP.yVY.~yLboTO)--M"> <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">ausgang_max_soll</field> <value name="VALUE"> <block type="math_number" id="!o~v`/:*+;(]p]{H?WTA"> <field name="NUM">1200</field> </block> </value> <next> <block type="comment" id="DJvkJQJ02otHqWQ#`O-O"> <field name="COMMENT">Entladen</field> <next> <block type="on_ext" id="/S(;`QABriIC^M+!}7T:"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="w^]7^w1{B-!$n`7Iy491"> <field name="oid">mqtt.0.iot.smartmeter.sensor.1.obis.1-0:16.7.0.255.value</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="cN$0iHH^ClAq2iXC%h2f"> <field name="COMMENT">Setzen der Ausgangsleistung</field> <next> <block type="variables_set" id="S2o8L=RQS++7ipXOjjW5"> <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field> <value name="VALUE"> <block type="math_arithmetic" id="hYf4Qb{Ih$jw*N;WscVV"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h"> <field name="NUM">50</field> </shadow> <block type="math_arithmetic" id="*1]Xu7P5!!NOH(N|hVz:"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$."> <field name="NUM">50</field> </shadow> <block type="on_source" id="fT5WF[G1:geas5bB(dK_"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="fm2M,2zo4VbkMa}j=/{E"> <field name="NUM">40</field> </shadow> <block type="variables_get" id="P_*d{TGR}~6)FGp?beAd"> <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_Abzug</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Qo}VOqo;3/)bnhXo)WG?"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.outputHomePower</field> </block> </value> </block> </value> <next> <block type="comment" id="jfTMAZ*=]Yc9N:)Y_sD1"> <field name="COMMENT">Setzen der Eingangsleistung</field> <next> <block type="variables_set" id="=I!*y|ga6BOdj=O!X0BN"> <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field> <value name="VALUE"> <block type="math_arithmetic" id="~LBc9fG5Z6lJd12/)jT4"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h"> <field name="NUM">50</field> </shadow> <block type="math_arithmetic" id="7*xCVML~1.vqU9HsbESx"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$."> <field name="NUM">50</field> </shadow> <block type="math_arithmetic" id="h8,cPd68a?7lws8h++F@"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="K%zdB%]da)JMw$_M{`0A"> <field name="NUM">1</field> </shadow> <block type="on_source" id="4-h:R`sm6~t8DD=?|~bF"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="ruG^sz:{eEwbTM5f6,,3"> <field name="NUM">-1</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="$D6ZCKCT8FTu_$opwTau"> <field name="NUM">80</field> </shadow> <block type="variables_get" id="l1AP,7Z]*amiz~W%-%1U"> <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_Abzug</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr"> <field name="NUM">1</field> </shadow> <block type="get_value" id="^#eZ+R?)2{J(aB:7ue?R"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.gridInputPower</field> </block> </value> </block> </value> <next> <block type="controls_if" id="9{oE^c13a:31;2ut.DI$"> <mutation elseif="2" else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="FM{=CcWqi$cZiLrTUt|c" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="8T*pvHzokS3$DFxF[cJw"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="~PO!:gZkJmZA*2|eHeLF"> <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field> </block> </value> <value name="B"> <block type="math_number" id="[w:QpHOP~OO[[A!*WhCR"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="h,i~#@yPRw(6/9i72ti]"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="-+SJ366xWJKVS[GlnD+M"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.solarInputPower</field> </block> </value> <value name="B"> <block type="variables_get" id="cH,sON~zP`WQrqn3m2ZP"> <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">entladen_ab_PV_Leistung</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="U9B/k%5s]K%^b3s)xv(L"> <field name="COMMENT">1. Entladen</field> <next> <block type="controls_if" id="lqfMN+oTfpMH$r=IF.]*"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="jraX-U4NvmG~iU5_!b_-"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="RJ{ZOBC`JZxk?Wh2AUqw"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.solarInputPower</field> </block> </value> <value name="B"> <block type="variables_get" id="a81S}b!V{aCPJeQ@5ZVB"> <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">entladen_ab_PV_Leistung</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="BCb_o;s~#Iozzv%Cas0r"> <field name="COMMENT">PV Leistung in Hausverbrauch</field> <next> <block type="variables_set" id="^q}qt_N]BU5Q%/J!*t]v"> <field name="VAR" id="4.#!}3STBog53dwlcFl-">ausgang_max</field> <value name="VALUE"> <block type="math_arithmetic" id="8~SRMHO?%%VAP*(QC#;f"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="Oro!0u03Bc+Eq-2~1;/v"> <field name="NUM">1</field> </shadow> <block type="get_value" id="2aEM-Q)HyYfnX|7M~YPe"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.solarInputPower</field> </block> </value> <value name="B"> <shadow type="math_number" id="`~i$BG^Jk:{8Au^!MQP:"> <field name="NUM">50</field> </shadow> <block type="variables_get" id="}/~/H[`cKB?7xVui=l;-"> <field name="VAR" id="[ZaP{gfTZqGf@aQ2FZ~q">min_PV_Leistung_laden</field> </block> </value> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="/3-);`|8@{UwDnWT6ksK"> <field name="VAR" id="4.#!}3STBog53dwlcFl-">ausgang_max</field> <value name="VALUE"> <block type="variables_get" id="I%qi{|oZzXlO9z5nSJu?"> <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">ausgang_max_soll</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="C##I)|jndO21{Wa2E/f)"> <value name="IF0"> <block type="logic_compare" id="}iB?SwpSesKSeva}j?mw"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="*SIAUI61WHJZJ[9o%^2d"> <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field> </block> </value> <value name="B"> <block type="variables_get" id="B2Z^A/08Ee)7/RPmaoO:"> <field name="VAR" id="4.#!}3STBog53dwlcFl-">ausgang_max</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="SagM`KaJL1rMfwm7Y#3k"> <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field> <value name="VALUE"> <block type="variables_get" id="Pte_tl99JT[=-/(cgh{3"> <field name="VAR" id="4.#!}3STBog53dwlcFl-">ausgang_max</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="ot$lj:w=.bWFXSy+#U!!"> <value name="IF0"> <block type="logic_compare" id="S]$B_(:yN`iD@#4cnrbt"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="tKYKdGEvJ{(Ap`z33|3/"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.acMode</field> </block> </value> <value name="B"> <block type="math_number" id="*-lP0bAkarz+MWbKMpD!"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="hkXp_(9CI|Tlx6@w4O;-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.control.acMode</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="5kp15tIIz~ILp@rb3kgW"> <field name="NUM">2</field> </block> </value> </block> </statement> <next> <block type="control" id=";Db^:4O1EN|E83*|k[36"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.control.setOutputLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="cj|vI+5rE;a$Z}XkQz`B"> <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="cP-3iM|ldCLOjhu8Y-ws"> <field name="NAME">output_Abzug</field> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_multi_and" id="rcwQ-{!+**l.RM.=S8yt"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="logic_compare" id="vOs6dWh(3vUrB_2{m/NV"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id="cyB@uS2tIbt2~(|B$ZF]"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.electricLevel</field> </block> </value> <value name="B"> <block type="math_number" id=";3DCR]/^X8u}`5XE|_-("> <field name="NUM">99</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="[0jp6f!|5%:|l7y7[6t="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="x`(O@JLy{A,mc*K[~glM"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.solarInputPower</field> </block> </value> <value name="B"> <block type="math_number" id="h{g.7y^5fuBZ(x}%o,8!"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="%R+{KG.$/r5$P+|4?%Cw"> <field name="COMMENT">2. Bypass ein wenn Akku voll, AC Modus auf Output 2. Mode</field> <next> <block type="control" id=";naGVGNG%EO3]/D7la@,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.control.acMode</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="_1woz/)YsVt:d!FqS=:i"> <field name="NUM">2</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_multi_and" id="RpscAq3vo.ceGvt}lzM;"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="time_compare_ex" id="4Mh;.M3%8}QAkhPEtcv$"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="2Km3*[bQnyaNB:XI6]9%"> <field name="TEXT">06:00</field> </shadow> </value> <value name="END_TIME"> <shadow type="text" id="KO`i!C([`f|6juoQ~d-d"> <field name="TEXT">22:59</field> </shadow> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="=;k+]!:`FgPIl(ffM)0z"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="o55n7*4D=LYnb:P_11Mb"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.electricLevel</field> </block> </value> <value name="B"> <block type="math_number" id="`))[;%51tDu_Jj9qhYs}"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="AND2"> <block type="logic_compare" id="BdTZijA^#anVn3j{PwI*"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="TtqY39_BvS=6H}t)mLEe"> <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field> </block> </value> <value name="B"> <block type="math_number" id="wjR@%Hg`by9T-|5Qupoe"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO2"> <block type="comment" id="zC5_szd6=wy}Q*]%d_Rb"> <field name="COMMENT">3. Laden mit PV Überschuss Hyper</field> <next> <block type="control" id=";512Sny^l9[8H~)*$JIi"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.control.setInputLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="_p]0p.2.)e;=_p)|+$|v"> <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field> </block> </value> <next> <block type="controls_if" id="0rLs]HZ7;/1{okt~*dfX"> <value name="IF0"> <block type="logic_compare" id="Wbb3SQ#qDz^yYA2cpc,Q"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id=")^qtiMQK)k{e-0Ni$R*{"> <field name="ATTR">val</field> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.acMode</field> </block> </value> <value name="B"> <block type="math_number" id="!F;R8(I#,#[B*X:#oO~."> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="CCIQ_ICwzn9aV7t#9o%7"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.control.acMode</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="tX)1OdbEtqK(Q:y^C3Z^"> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="timeouts_cleartimeout" id="@T7,,}^VeetBp^h*!pnp"> <field name="NAME">output_Abzug</field> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="comment" id="T1mOiNRi*1jPnM#~?:mM"> <field name="COMMENT">4. Ein/Ausgangsleistung auf 0 setzen</field> <next> <block type="timeouts_settimeout" id="?(Ecr)F7}.Cd/9{8%v+="> <field name="NAME">timeout4</field> <field name="DELAY">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control" id="Qhy=K`*Kim%|cM0RX[fs"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.control.setOutputLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="_E5[`;YcRI]zD#G$VW2C"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="|[L_^Xt!x3J6MHCL]Mbz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zendure-solarflow.0.gDa3tb.nGY7x38q.control.setInputLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="N!gtEfKU|I%=EMCI:Pm@"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>@tege0
Hallo, ich teste gerade dieses Blockly zur Null-Einspeisung mit meinem Solarflow 800 Pro. Was ich noch nicht so ganz verstanden habe ist, dass ein Entladen (Einspeisung aus dem Akku ins Haus) nur erfolgt, wenn Leistung der Solarmodule > entladen_ab_pv_leistung ist. Ich hätte gedacht, dass eine Einspeisung erfolgen sollte wenn der Akku einen einen bestimmten Füllstand erreicht, oder sowas.
Kann mir da vielleicht jemand auf die Sprünge helfen? -
@tege0
Hallo, ich teste gerade dieses Blockly zur Null-Einspeisung mit meinem Solarflow 800 Pro. Was ich noch nicht so ganz verstanden habe ist, dass ein Entladen (Einspeisung aus dem Akku ins Haus) nur erfolgt, wenn Leistung der Solarmodule > entladen_ab_pv_leistung ist. Ich hätte gedacht, dass eine Einspeisung erfolgen sollte wenn der Akku einen einen bestimmten Füllstand erreicht, oder sowas.
Kann mir da vielleicht jemand auf die Sprünge helfen?@Berny-K sagte in Script zum Laden/Entladen von Zendure Solarflow:
@tege0
Hallo, ich teste gerade dieses Blockly zur Null-Einspeisung mit meinem Solarflow 800 Pro. Was ich noch nicht so ganz verstanden habe ist, dass ein Entladen (Einspeisung aus dem Akku ins Haus) nur erfolgt, wenn Leistung der Solarmodule > entladen_ab_pv_leistung ist. Ich hätte gedacht, dass eine Einspeisung erfolgen sollte wenn der Akku einen einen bestimmten Füllstand erreicht, oder sowas.
Kann mir da vielleicht jemand auf die Sprünge helfen?Es soll erstmal die PV Leistung genommen werden. Erst wenn die nicht mehr ausreicht kommt der Akku ins Spiel.
-
@Berny-K sagte in Script zum Laden/Entladen von Zendure Solarflow:
@tege0
Hallo, ich teste gerade dieses Blockly zur Null-Einspeisung mit meinem Solarflow 800 Pro. Was ich noch nicht so ganz verstanden habe ist, dass ein Entladen (Einspeisung aus dem Akku ins Haus) nur erfolgt, wenn Leistung der Solarmodule > entladen_ab_pv_leistung ist. Ich hätte gedacht, dass eine Einspeisung erfolgen sollte wenn der Akku einen einen bestimmten Füllstand erreicht, oder sowas.
Kann mir da vielleicht jemand auf die Sprünge helfen?Es soll erstmal die PV Leistung genommen werden. Erst wenn die nicht mehr ausreicht kommt der Akku ins Spiel.
-
Hi Leute,
wie muss ich meinen 800 Pro einstellen damit ich mir blockly die Steuerung machen kann? Habe keinen SmartMeter und würde die Einstellungen gerne über ioBroker entsprechend anpassen.
Danke für eure Hilfe
-
@Berny-K sagte in Script zum Laden/Entladen von Zendure Solarflow:
@tege0
Hallo, ich teste gerade dieses Blockly zur Null-Einspeisung mit meinem Solarflow 800 Pro. Was ich noch nicht so ganz verstanden habe ist, dass ein Entladen (Einspeisung aus dem Akku ins Haus) nur erfolgt, wenn Leistung der Solarmodule > entladen_ab_pv_leistung ist. Ich hätte gedacht, dass eine Einspeisung erfolgen sollte wenn der Akku einen einen bestimmten Füllstand erreicht, oder sowas.
Kann mir da vielleicht jemand auf die Sprünge helfen?Es soll erstmal die PV Leistung genommen werden. Erst wenn die nicht mehr ausreicht kommt der Akku ins Spiel.
-
@lesiflo heißt das dann, dass der Akku in der Nacht nie ins Haus einspeist?
Mein Akku hat jetzt gut 70% und sollte doch eigentlich einspeisen anstatt den Strom aus dem Netz zu beziehen, oder habe ich da einen Denkfehler?@Berny-K sagte in Script zum Laden/Entladen von Zendure Solarflow:
@lesiflo heißt das dann, dass der Akku in der Nacht nie ins Haus einspeist?
Mein Akku hat jetzt gut 70% und sollte doch eigentlich einspeisen anstatt den Strom aus dem Netz zu beziehen, oder habe ich da einen Denkfehler?Nein eigentlich sollte er entladen. Stell mal dein Script hier ein.
-
@Berny-K sagte in Script zum Laden/Entladen von Zendure Solarflow:
@lesiflo heißt das dann, dass der Akku in der Nacht nie ins Haus einspeist?
Mein Akku hat jetzt gut 70% und sollte doch eigentlich einspeisen anstatt den Strom aus dem Netz zu beziehen, oder habe ich da einen Denkfehler?Nein eigentlich sollte er entladen. Stell mal dein Script hier ein.
-
Ok, macht Sinn. Weiß gar nicht mehr warum ich so gemacht habe. Das Script nutzte ich nicht mehr, hab auf Javascript umgestellt.
-
Ok, macht Sinn. Weiß gar nicht mehr warum ich so gemacht habe. Das Script nutzte ich nicht mehr, hab auf Javascript umgestellt.
-
Hi Leute,
wie muss ich meinen 800 Pro einstellen damit ich mir blockly die Steuerung machen kann? Habe keinen SmartMeter und würde die Einstellungen gerne über ioBroker entsprechend anpassen.
Danke für eure Hilfe
@redbull2906 Hi, ich habe als erstes den Zendure Solarflow Adapter im iobroker installiert, dann in der Zendure App das HEMS deaktiviert und MQTT aktiviert. Danach konnte ich mit dem Blockly die Null-Einspeisung steuern.
-
Mit Javascript kann man wesentlich mehr machen ist aber für Laien etwas schwieriger zu verstehen. Teilen kann ich gerne, es ist aber für 2 Hyper und sehr auf meine Bedürfnisse angepasst. Mein Tipp nimm das Blockly füttere damit eine KI, z.B. ChatGpt und sag das es das Script in JavaScript umwandeln soll. So habe ich auch angefangen. Man sollte aber verstehen was das Javascript macht um Fehler zu finden oder was zu verändern.
-
Mit Javascript kann man wesentlich mehr machen ist aber für Laien etwas schwieriger zu verstehen. Teilen kann ich gerne, es ist aber für 2 Hyper und sehr auf meine Bedürfnisse angepasst. Mein Tipp nimm das Blockly füttere damit eine KI, z.B. ChatGpt und sag das es das Script in JavaScript umwandeln soll. So habe ich auch angefangen. Man sollte aber verstehen was das Javascript macht um Fehler zu finden oder was zu verändern.



