@denjo
Ein Ausschaltbefehl oder Restart ist darin nicht enthalten.
Es wird zuerst nur die Konfiguration des Dynamik-Power-Limiter abgerufen und in eine Variable übergeben.
Danach wird je nach Datenpunkt-Aktualisierung der DPL ein- oder ausgeschaltet. und zusätzlich die davor eingelesenen Parameter wieder mit übergeben.
Beim Ausschalten, bzw. gleich danach werden zusätzlich die Wechselrichter auf 100% Leistung (non_persistent) eingestellt.
Ein Ausschalten kann dadurch eigentlich nicht passieren.
Der Trigger sollte auch nur auslösen bei:
Falls Objekte "wurde geändert"
0_userdata.0.Datenpunkte.openDTUoB.dplEinAus
Somit kann's bzw. darf es auch nicht zu einer (Dauer-)Schleife kommen, außer es wäre nicht so und in einem Blockly von Dir wird ständig in einer Schleife ein/aus getriggert...
oder
der Trigger reagiert auf "geändert". auch wenn er ständig nur den gleichen Wert aktualisiert bekommt.
Was eigentlich nicht sein dürfte.
Vielleicht sind die Befehlsfolgen auch zu schnell für Deine(n) Wechselrichter(?).
Hab jetzt mal für Dich ein Blockly, das nur reagiert, wenn auch der Wert wirklich verändert wurde.
Auf Limit setzen wurde bewusst verzichtet.
Interressant wäre auch, welche(n) Wechselrichter Du für die DPL-Steuerung verwendest?
Habe nur wenige Hoymiles zur Verfügung.
Auch Dein Script könnte weiterhelfen, warum bei Dir ausgeschaltet wird.
Versuch's mal mit dem Blockly:
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="!vz=]X,KQ3?_R/xq.Sbf">jsonObj</variable>
<variable id="d!Xk#_fYu(@qaz)xb|6V">attr</variable>
<variable id="z4/sN[H|/(mN4vnd%??r">val</variable>
<variable id="T[fn@X+yakzmBpi9]n*E">openDTUonBatteryIP</variable>
<variable id="nh}jM|3k}%Qhny;,Etjk">OpenDTUonBatteryPassword</variable>
<variable id="2|vbm;5buC6^$eogp=fe">urlDPLstate</variable>
<variable id="PWsI)BqL)EeZPzj!8-VY">set</variable>
<variable id="_+8y375~59B=8rd!@Ae%">jsonObjekt</variable>
</variables>
<block type="comment" id="g{c,O//*067~CDT{26F+" x="212" y="-112">
<field name="COMMENT">OpenDTUonBattery&#10;DPL Ein/Aus</field>
<next>
<block type="on_ext" id="MpdxhvC3:):%?cL5ChV-">
<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="j)L11f:Db#X;sEL6awg/">
<field name="oid">0_userdata.0.Datenpunkte.openDTUoB.dplEinAus</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="comment" id="wPs7.T(3#lmg-Q#YnMcz">
<field name="COMMENT">IP von OpenDTUonBattery:</field>
<next>
<block type="variables_set" id="xiC72+QQD{FQ44VC6wQn">
<field name="VAR" id="T[fn@X+yakzmBpi9]n*E">openDTUonBatteryIP</field>
<value name="VALUE">
<block type="text" id="3|rd+!6W]T02z}tGd1/m">
<field name="TEXT">192.170.178.250</field>
</block>
</value>
<next>
<block type="comment" id="8!|A_f5hyHJr/:f!|;r.">
<field name="COMMENT">OpenDTUonBattery Passwort:</field>
<next>
<block type="variables_set" id="ItJFflir$91[$;pF5+MA">
<field name="VAR" id="nh}jM|3k}%Qhny;,Etjk">OpenDTUonBatteryPassword</field>
<value name="VALUE">
<block type="text" id="xYm]l*(;=w@0xJQnWi5-">
<field name="TEXT">openDTU42</field>
</block>
</value>
<next>
<block type="variables_set" id="!#IE.`!)HPf,NcPW*miy">
<field name="VAR" id="2|vbm;5buC6^$eogp=fe">urlDPLstate</field>
<value name="VALUE">
<block type="text_join" id="F#[x6:MOpP{a#hljyq@2">
<mutation items="5"></mutation>
<value name="ADD0">
<block type="text" id="!@~5;?O8`oIO%oN]bLJa">
<field name="TEXT">curl -u "admin:</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="SFT0:Zq378qj5]2?a5#b">
<field name="VAR" id="nh}jM|3k}%Qhny;,Etjk">OpenDTUonBatteryPassword</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="5}ok+uklC%b/F}gtZr`^">
<field name="TEXT">" http://</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="C|ac)ks!*i8cZS5zb!0?">
<field name="VAR" id="T[fn@X+yakzmBpi9]n*E">openDTUonBatteryIP</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="!=iiY$6m(O#=Q|km-7W1">
<field name="TEXT">/api/powerlimiter/config</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="Nw*-3DKlvV=)l.++!yg%">
<field name="VAR" id="PWsI)BqL)EeZPzj!8-VY">set</field>
<value name="VALUE">
<block type="text_join" id="b3+b3^R@5s5Vbpj^o9!6">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="variables_get" id="%UJkDROf_mMO^oE4EKW.">
<field name="VAR" id="2|vbm;5buC6^$eogp=fe">urlDPLstate</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="o}*[n$;A?-]x1P{Ppan.">
<field name="TEXT"> -d 'data=</field>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="Y+nX-p}*xExWw]O`OX~{">
<field name="COMMENT">aktueller DPL state:</field>
<next>
<block type="exec" id="I~3.fAPDzJ[1T(TlzoOT">
<mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
<field name="WITH_STATEMENT">TRUE</field>
<field name="LOG"></field>
<value name="COMMAND">
<shadow type="text" id="9;-TT-}BY,qROECr/9_6">
<field name="TEXT"></field>
</shadow>
<block type="variables_get" id="i4]srTbBS]Jm}Z^t,,i^">
<field name="VAR" id="2|vbm;5buC6^$eogp=fe">urlDPLstate</field>
</block>
</value>
<statement name="STATEMENT">
<block type="variables_set" id="U*PNhv3v$WIWPSb|ja,I">
<field name="VAR" id="_+8y375~59B=8rd!@Ae%">jsonObjekt</field>
<value name="VALUE">
<block type="convert_json2object" id="y.{-xr4=@LsO?lm{BV16">
<value name="VALUE">
<block type="exec_result" id="6ho:XZ{%G?n+B=|[OsSQ">
<field name="ATTR">result</field>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="A(14glg}PvpJG@9qX7Z+">
<field name="COMMENT">DPL Ein:</field>
<next>
<block type="controls_if" id=")aeo4TK/:D$bt5(cFhVN">
<value name="IF0">
<block type="logic_multi_and" id="m!{7tc}+k738c3)VaEUx">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
<value name="AND0">
<block type="logic_compare" id="a;bj5#I*mE{2u7(jaH%9">
<field name="OP">EQ</field>
<value name="A">
<block type="on_source" id="Z6HJn~!.L1rzmJVcBG8{">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="q(TuN;RJ7lhe4cq$yNnB">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="AND1">
<block type="logic_compare" id="*^p)oZ2mVnWLDpmnyN-,">
<field name="OP">EQ</field>
<value name="A">
<block type="get_attr" id="3p`mkNx[*HO7iQJC|V{N">
<value name="PATH">
<shadow type="text" id="8DfMj){9E]0z+yjsND5+">
<field name="TEXT">enabled</field>
</shadow>
</value>
<value name="OBJECT">
<shadow type="get_object" id="aHFd;U%V4s{~a(8w9UNy">
<field name="OID">0_userdata.0.Datenpunkte.Test.test-Json</field>
</shadow>
<block type="variables_get" id="Gt)$8NYmfc(^b2,2so1,">
<field name="VAR" id="_+8y375~59B=8rd!@Ae%">jsonObjekt</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="5?+CTi[GpFp][a-?Wbn=">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="procedures_callcustomnoreturn" id="D9g{#*qgs_-7rfz6|TYD">
<mutation name="change">
<arg name="jsonObj"></arg>
<arg name="attr"></arg>
<arg name="val"></arg>
</mutation>
<value name="ARG0">
<block type="variables_get" id="yi4H-8|bl|J[{ecr@w?*">
<field name="VAR" id="_+8y375~59B=8rd!@Ae%">jsonObjekt</field>
</block>
</value>
<value name="ARG1">
<block type="text" id="/1aiKrRmt}{2sRQ`BE^S">
<field name="TEXT">enabled</field>
</block>
</value>
<value name="ARG2">
<block type="logic_boolean" id="]!TrP#dnQ%e`r1%@n;)0">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="exec" id="xWQm84D2~+;KrfUenNP|">
<mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
<field name="WITH_STATEMENT">TRUE</field>
<field name="LOG"></field>
<value name="COMMAND">
<shadow type="text" id="Y[J#ti:!)V_p[~D/~=BP">
<field name="TEXT">pwd</field>
</shadow>
<block type="text_join" id="?#1pjgc[4w-Nbot8xQpL">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="variables_get" id=";wn*ZeQHpIf@a_40]mk$">
<field name="VAR" id="PWsI)BqL)EeZPzj!8-VY">set</field>
</block>
</value>
<value name="ADD1">
<block type="convert_object2json" id="`s4:$VMpnCx?$#E/lH89">
<field name="PRETTIFY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="akzUA)PF0iBQcIE,ZBTo">
<field name="VAR" id="_+8y375~59B=8rd!@Ae%">jsonObjekt</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="tazI8QS$S%YmkBw8,!R]">
<field name="TEXT">'</field>
</block>
</value>
</block>
</value>
<statement name="STATEMENT">
<block type="debug" id="^T_$oIN/{iGOHb67zL1o">
<field name="Severity">info</field>
<value name="TEXT">
<shadow type="text" id="$EPuCef77$Dr-U%0wHNQ">
<field name="TEXT">test</field>
</shadow>
<block type="exec_result" id="[n6RT8j9^+,[onHfQTU1">
<field name="ATTR">result</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="zV97]OnS?/IjoV1xAl_T">
<field name="COMMENT">DPL Aus:</field>
<next>
<block type="controls_if" id="7{aiQa33_g$QnlPw!:;F">
<value name="IF0">
<block type="logic_multi_and" id="1Y:E+,Ust$:ewECrMv)p">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
<value name="AND0">
<block type="logic_compare" id="_T*YwxAB4#Xs_pDY+p#j">
<field name="OP">EQ</field>
<value name="A">
<block type="on_source" id="Nto5bN64vh9%Czjwh`^+">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="mz{kc7yDlbLx]j]C%pQ_">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="AND1">
<block type="logic_compare" id="22=g?/gZS9ne:iv+T9wO">
<field name="OP">EQ</field>
<value name="A">
<block type="get_attr" id="kyx*W9k$}#04:WkBS^?9">
<value name="PATH">
<shadow type="text" id="4~0l@.bS7HHz$}.VpYem">
<field name="TEXT">enabled</field>
</shadow>
</value>
<value name="OBJECT">
<shadow type="get_object" id="aHFd;U%V4s{~a(8w9UNy">
<field name="OID">0_userdata.0.Datenpunkte.Test.test-Json</field>
</shadow>
<block type="variables_get" id=";JM+v5vm0%m2};Ot1=0I">
<field name="VAR" id="_+8y375~59B=8rd!@Ae%">jsonObjekt</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="7EORb^RB}#CtJ09lTI1m">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="procedures_callcustomnoreturn" id="-Hz0vX5GM=t[9OHH8]Wg">
<mutation name="change">
<arg name="jsonObj"></arg>
<arg name="attr"></arg>
<arg name="val"></arg>
</mutation>
<value name="ARG0">
<block type="variables_get" id="v[6xm8C%Otou%c3=g710">
<field name="VAR" id="_+8y375~59B=8rd!@Ae%">jsonObjekt</field>
</block>
</value>
<value name="ARG1">
<block type="text" id="tL?JD.@HaQSk5`{9Wm]{">
<field name="TEXT">enabled</field>
</block>
</value>
<value name="ARG2">
<block type="logic_boolean" id="WMimixsaaPP)fhHu2.J$">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="exec" id="/p+Uv~V#hIePApTb=KTR">
<mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
<field name="WITH_STATEMENT">TRUE</field>
<field name="LOG"></field>
<value name="COMMAND">
<shadow type="text" id="Y[J#ti:!)V_p[~D/~=BP">
<field name="TEXT">pwd</field>
</shadow>
<block type="text_join" id="?fTh]i~D]=Ue}GsE8^;i">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="variables_get" id="$!],od*U?4dNiG;_YIzl">
<field name="VAR" id="PWsI)BqL)EeZPzj!8-VY">set</field>
</block>
</value>
<value name="ADD1">
<block type="convert_object2json" id="|pyw%?Kwve~3iciql_#f">
<field name="PRETTIFY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="z0~!%^yv(pHWcQpw)5``">
<field name="VAR" id="_+8y375~59B=8rd!@Ae%">jsonObjekt</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="/g9Zs!_,BY#!LKzHEF`/">
<field name="TEXT">'</field>
</block>
</value>
</block>
</value>
<statement name="STATEMENT">
<block type="debug" id="d,[^(Avd7@SZ:P6X/fiS">
<field name="Severity">info</field>
<value name="TEXT">
<shadow type="text" id="uq~a2HGjtc5e|h.21,D{">
<field name="TEXT">test</field>
</shadow>
<block type="exec_result" id="nTlwOY6fw[+1f(a@pFR!">
<field name="ATTR">result</field>
</block>
</value>
</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>
</statement>
</block>
</next>
</block>
<block type="procedures_defcustomnoreturn" id="nxZk[TB}x%yvkJ058U]o" x="887" y="13">
<mutation statements="false">
<arg name="jsonObj" varid="!vz=]X,KQ3?_R/xq.Sbf"></arg>
<arg name="attr" varid="d!Xk#_fYu(@qaz)xb|6V"></arg>
<arg name="val" varid="z4/sN[H|/(mN4vnd%??r"></arg>
</mutation>
<field name="NAME">change</field>
<field name="SCRIPT">anNvbk9ialthdHRyXSA9IHZhbDs=</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
</xml>
Einfach mal testen und wieder melden. Danke. 🙂