NEWS
Enphase / Envoy / IQ-Gateway Solar Blockly Skript
-
Im Prinzip benötige ich genau diese Werte aus der App. Die müssten doch auch über die API abrufbar sein, oder liege ich das etwa falsch.

@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Die müssten doch auch über die API abrufbar sein
nicht unbedingt.
Möglich, dass das in der Cloud irgendwo summiert wird.Ich mach es mit Sourceanalytic.
-
Ich nutze Linux, da sollte das doch auch gehen. Ich hab das Ding gespeichert, danach versucht zu importieren über die Funktion im Kontextmenü mit den drei Punkten. Ich habe auch versucht, ein neues Blockly zu erstellen, dann auf die JS-Ansicht zu gehen, und den Text zu kopieren und dann einzufügen. Hat leider auch nicht geklappt...
@dexic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Ich hab das Ding gespeichert, danach versucht zu importieren über die Funktion im Kontextmenü
Nein, das geht so nicht.
Ich habe auch versucht, ein neues Blockly zu erstellen, dann auf die JS-Ansicht zu gehen, und den Text zu kopieren und dann einzufügen
erstell ein neues Blockly
dann gehst du auf
dann hier den Text aus der .txt einfügen.
Alternativ die .txt hier reinziehen oder klicken zum auswählen.

-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Die müssten doch auch über die API abrufbar sein
nicht unbedingt.
Möglich, dass das in der Cloud irgendwo summiert wird.Ich mach es mit Sourceanalytic.
-
@negalein said in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Sourceanalytic
Was ist Sourceanalytic?
Kenne ich mich leider gar nicht aus.@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Was ist Sourceanalytic?
ein Adapter der dir den Verbrauch rechnet. täglich, wöchentlich, monatlich, Quartal, Jahr, ....
https://forum.iobroker.net/topic/40932/sourceanalytix-0-4-8-final-released
-
@dexic unter folgendem Datenpunkt findest du die Anzeige zu wieviel Prozent deine Batterie geladen ist:
0_userdata.0.enphase.inventory.0.devices.0.percentFull
-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Ich werden mal versuchen das Ganze um zusetzten.
schaut dann in den DP zB so aus

-
Ich finde diesen Datenpunkt nicht.

Hast du einen anderen Hinweis? Oder kann eine 3T Batterie nicht angesprochen werden?
-
@dexic bei dir fehlt tatsächlich der DP Inventory.
Hast du die Skripte von Steffe.S. (6. Post) genommen? Damit sollte er eigentlich angelegt werden.
-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Ich werden mal versuchen das Ganze um zusetzten.
schaut dann in den DP zB so aus

-
@negalein Eine Frage hätte ich noch....
Wie hast du das mit dem Energienetz gelöst? Dort ist ja bei Bezug ein positiver Wert und bei Einspeisung ein negativer.@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Wie hast du das mit dem Energienetz gelöst? Dort ist ja bei Bezug ein positiver Wert und bei Einspeisung ein negativer.
ich verwende nicht alles aus der View.
Eigentlich nur die Darstellung der Panele.Für die Produktion/Verbrauch/Bezug Darstellung verwende ich den Energiefluss-Adapter.


-
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
Wie hast du das mit dem Energienetz gelöst? Dort ist ja bei Bezug ein positiver Wert und bei Einspeisung ein negativer.
ich verwende nicht alles aus der View.
Eigentlich nur die Darstellung der Panele.Für die Produktion/Verbrauch/Bezug Darstellung verwende ich den Energiefluss-Adapter.


-
@dexic bei dir fehlt tatsächlich der DP Inventory.
Hast du die Skripte von Steffe.S. (6. Post) genommen? Damit sollte er eigentlich angelegt werden.
-
Ich hab meinen Kram korrigiert. Ich bekomme folgenden Fehler durch diese Skripte.
Used invalid characters: 0_userdata.0.enphase.livedata.dry_contacts.h.dry_contact_id changed to 0_userdata.0.enphase.livedata.dry_contacts.h_.dry_contact_id -
Welcher Wert zeigt die akkumulierte Produktion an? Ich habe da etwas abweichendes gefunden gegenüber der Anzeige von Enphase im Browser, nämlich whtoday. Das ist bei mir heute bei 912,849 Wh, jedoch sammelt Enphase irgendwoher 962Wh ein.
Was habe ich verpasst?
-
@Steffe-S.
Hast du eine Idee, wie ich mit dieser Fehlermeldung umgehen soll?
Used invalid characters: 0_userdata.0.enphase.livedata.dry_contacts.h.dry_contact_load_name changed to 0_userdata.0.enphase.livedata.dry_contacts.h_.dry_contact_load_name
-
@Steffe-S.
Hast du eine Idee, wie ich mit dieser Fehlermeldung umgehen soll?
Used invalid characters: 0_userdata.0.enphase.livedata.dry_contacts.h.dry_contact_load_name changed to 0_userdata.0.enphase.livedata.dry_contacts.h_.dry_contact_load_name
@dexic sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
@Steffe-S.
Hast du eine Idee, wie ich mit dieser Fehlermeldung umgehen soll?
Used invalid characters: 0_userdata.0.enphase.livedata.dry_contacts.h.dry_contact_load_name changed to 0_userdata.0.enphase.livedata.dry_contacts.h_.dry_contact_load_name
das kann ich Dir leider nicht beantworten, ich habe die Meldung aber auch (ich ignoriere sie einfach)
-
@negalein das habe ich mir jetzt zusammengebastelt. Danke für den Tipp.

Und jetzt hätte ich eben noch gerne den aktuellen Gesamttagesverbrauch und die Gesamttageseinspeisung dargestellt.
@rollod sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
@negalein das habe ich mir jetzt zusammengebastelt. Danke für den Tipp.

Und jetzt hätte ich eben noch gerne den aktuellen Gesamttagesverbrauch und die Gesamttageseinspeisung dargestellt.
bewegen sich die Punkte auf der Linie???
-
BITTE MACHT VORHER EIN BACKUP VOM AKTUELLEN IOBROKERSYSTEM, BEVOR IHR DAS SKRIPT TESTET!!!
Hier die 4 Skripte:
.1. Skript
Abholen aller Daten einmal pro Minute ( erweitert um Punkt 6 und Punkt 7). Unter 1 Minute gibt es Fehler.
*edit 19.09.2024: Aktualisierung unter 1 Minute gelöst...
*edit 10.04.2024:
wenn man sich auf LiveDaten und Microwechselrichterdaten beschränkt geht auch eine Aktualisierungszeit von 15 Sekunden. Einfach die Zeit im Trigger auf 15 sec stellen.*

Enphase_Envoy_Datenabfrage.txt
Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
....................................................................
2.SkriptDas envoy bleibt mit den LiveDaten max 15 Minuten online, diese Skript aktualisiert sich alle 10 Minunten und hält das envoy im Onlinemodus.

Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
...................................................................
2.2. Datenpunkte erstellenDatenpunkte aus Json importieren:

0_userdata.0.Enphase-Werte_durch_1000.json
...................................................................
3. SkriptDie LiveDaten werden in MilliWatt ausgegeben. Dieses Skript rechnet die Daten im Watt um.

aktualisiert am 19.05.2024
DAS SKRIPT FUNKTIONIERT NUR MIT DEN DATENPUNKTEN AUS "PUNKT 2.2 DATENPUNKTE ERSTELLEN"!!!
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="b34XJZy@p3[tYg9~i77(" x="-438" y="-687"> <field name="COMMENT">Netzbezug / Netzeinspeisung</field> <next> <block type="on" id="R=TcB:Y;oW+@!R21r;.c"> <field name="OID">0_userdata.0.enphase.livedata.meters.grid.agg_p_mw</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="update" id=",Smtm*YKzeEoxCw%Y$$}"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="`:SgM1(S!e7wO$x#rdA7"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="fGHNrBIh0Rb4C1Y1a[rY"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="%dB3b}^r!H:LX7[0PytL"> <field name="NUM">1</field> </shadow> <block type="on_source" id=",b5/]n=AWf?^Ow=8yf^?"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="3O3;3qa}(|{)h0Z+?8B?"> <field name="NUM">1</field> </shadow> <block type="math_number" id="QP84}[6.N0:{p**V+VhE"> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id=":Am_Gm[7mE|w]#]*i_(*"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Netzbezug_ohne_Einspeisung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="1WQ]FtxW*Rr[{i/vpEr~"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="V6]7*W;hmF]Fh=H]ov$D"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="%dB3b}^r!H:LX7[0PytL"> <field name="NUM">1</field> </shadow> <block type="on_source" id="iVlAXB/ie7[Z+4P$#g(A"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="3O3;3qa}(|{)h0Z+?8B?"> <field name="NUM">1</field> </shadow> <block type="math_number" id="F^B_8!nAS[2AWfxJ}[t7"> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="(oz0QsPxo%1,Hcawpks."> <field name="COMMENT">Netzeinspeisung negiert</field> <next> <block type="on" id="o!/9@gfrBge5q!FXL_aq"> <field name="OID">0_userdata.0.enphase.livedata.meters.grid.agg_p_mw</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="R!lRI5?P:IpDL/YpJ6mc"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="92KNC^=Hu_c4o!15yeJ*"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="H*HRgODY9:4F_H2?s]2*"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field> </block> </value> <value name="B"> <block type="math_number" id="A**xn9B,cbBzS6eq1Xa0"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="/]@j_??kR~lK`?GljvLk"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Einspeisung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id=",wij]CcH[K|9{zF.($Ne"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="t|.]8o6qOD#zZXUS{tmn"> <field name="NUM">1</field> </shadow> <block type="get_value" id="R92$P`uocO;{95ac+S^E"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field> </block> </value> <value name="B"> <shadow type="math_number" id="iwr9hg2mr@d9YW-Gz_TZ"> <field name="NUM">1</field> </shadow> <block type="math_number" id="@K{D^A]w8mzwrK*~dh7|"> <field name="NUM">-1</field> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="{^EgD^wDw$p*s%uAVi+B"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Einspeisung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="-0gPy-bv:cv@giTA}fr:"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="z.XJ|8h6gD-i^Dk255KS"> <field name="COMMENT">Hausverbrauch</field> <next> <block type="on" id="F4|LHxJ-9e3}FbqgM*%0"> <field name="OID">0_userdata.0.enphase.livedata.meters.load.agg_p_mw</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="update" id="sX/%.U3(d@0FH;[c-7Z$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Hausverbrauch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id=":i2J#BlN1uy4Jye~K!IR"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="*e~+quHSP.z$azvq~}F0"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="M`Yh{e~{r5:_-:9P^:JW"> <field name="NUM">1</field> </shadow> <block type="on_source" id="phJx!7L#U!a.]5=76AZf"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="MQBq|1jXHJ#%,1..gxvY"> <field name="NUM">1</field> </shadow> <block type="math_number" id="3:i,RAn2:9TkS3H_=-J#"> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="comment" id="`*;dUWj=!LDNpbkLc))M"> <field name="COMMENT">PV Erzeugnung</field> <next> <block type="on" id="iT)3o|gf6HB.%eCN$@zP"> <field name="OID">0_userdata.0.enphase.livedata.meters.pv.agg_p_mw</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="l^zE[P~R)a!2t|:jiM(|"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="nh3/v4+,91w5I[3IadS$"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="8T=N6GJN8KUjykUuNW?P"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="x)}j2:d+Is%sN@z_6g,~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="$5xwgaIa3ULu9MP@`DUx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="{:U/C2)dpiqCyXsRX%2}"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="KdjcX,q(-3l`vCx2(o~l"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="Z;YmcS)C![ri*hWck9-#"> <field name="NUM">1</field> </shadow> <block type="on_source" id="ydT%+`wmTw+}+t/sF=C~"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="BGWnp9qn*ZZM4o|#M[tX"> <field name="NUM">1</field> </shadow> <block type="math_number" id="LrV1n3ml@ZTfS0C$j9@b"> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="w_ky5IC/WO/2W,dnzB5A"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="m;ZDZySI%b2~}UZEDIso"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="4]s2;oO[A.DKS^feZs*l"> <field name="COMMENT">Batterieladung über PV</field> <next> <block type="on" id="}*xtxiY-j7g,_jBEDV?^"> <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="Z+Le9t!]wro?Aiyjq9yT"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="ye0=tBqFC3,,.^@ywMv3"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="U#-I`pnZzIDQ/1JJ|4I{"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field> </block> </value> <value name="B"> <block type="math_number" id="b;}lR*{qn8YNnYK5(,$m"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="moZ7/vz`Ex*wXp+S%OxU"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_PV</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="/eg]`f){,*d1F*!nHB7k"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="6t5]{-=r?*[|^C_yl8U]"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M"> <field name="NUM">1</field> </shadow> <block type="on_source" id="r/fj8*GRX+DEAB?kB.I*"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS"> <field name="NUM">1</field> </shadow> <block type="math_number" id="-.qb;4Y|6v05uZ$5@o$0"> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="Wczg}72@veb-mhG7s*!b"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_PV</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="l),T@!ne5;zU)D:=@gxm"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="Ci}(~uQL=y.a5k~;ZJRC"> <field name="COMMENT">Batterie Eigenverbrauch</field> <next> <block type="on" id=".ftf(ks:n?jlQW7{QbfI"> <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="update" id="1Ek@Ld0k%0Mz#x#9LC({"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Eigenverbrauch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="eeH:@M.MP@((T[C^O{qP"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="DrW_.;3ED~7qV?5zl#Sr"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M"> <field name="NUM">1</field> </shadow> <block type="on_source" id="BL1JGJ:+%L=I;4NL?zsV"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS"> <field name="NUM">1</field> </shadow> <block type="math_number" id="..lWof[ekOiU~KQ$b@_z"> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="R0.]Ji-I)USF_IdoA+AM"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_nur_Entladung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="K[hTID9Zd?9b~HXXU2c)"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="i)mZ;NsE4%KMcWNRe-qA"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M"> <field name="NUM">1</field> </shadow> <block type="on_source" id="rog!@vu:BUw@Vg][g_s-"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS"> <field name="NUM">1</field> </shadow> <block type="math_number" id="=B6I[z+GTuc%s9HjeCp."> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="vRvyUxzeAknF8-y?1y0B"> <field name="COMMENT">Batterieladung über Netz</field> <next> <block type="on" id="=*hn}Nh%cbF,,8MeTD]^"> <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="EH:,]-n4sq!W5GWX,m|m"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_multi_and" id="lW?R`+GrZ@=NB^1N/Cen"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="logic_compare" id="=Lvy-Uh?XG6D@v1[fH7J"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="w+;2Z=7!oi:C[|b+pAO!"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field> </block> </value> <value name="B"> <block type="math_number" id="hvg[h3Ahp62?asD)A62y"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="BRtu[S[p!ssG=2nXo8c)"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="`l13.Y11VCD%BgA^a${y"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Eigenverbrauch</field> </block> </value> <value name="B"> <block type="math_number" id="T#B_8-Whfw2/@Pax@HSO"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="E}[(Oer7{z~U99E]}Yg8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="MuU[;fK/1Y9aLyNVtU75"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="XpeV6CfDLHT^!F~E[=!7"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="f`t{sxRGwz0].eAhs^Lp"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="zz2:K;m)qi6{]K#~fG2M"> <field name="NUM">1</field> </shadow> <block type="on_source" id="8SG6UKL:;PK9pJmzo!#+"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="*FZQBwEx0/OxA1k=g+eS"> <field name="NUM">1</field> </shadow> <block type="math_number" id="08aprkxhJ(S+Epf:((;j"> <field name="NUM">1000</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="GC}I02Vvv]W2Qwz(Q1Q4"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="5,,H-17)2^Z0MDN^r=6-"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id=")+j/rdrw_?8@eq8v9ZCJ"> <field name="COMMENT">Batterie Netzeinspeisung</field> <next> <block type="on" id="@^J}E`J,eF[p88x3@)R~"> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Energienetz</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="V|c1tWUOT+8:QuZ`!,H)"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_multi_and" id="=KcG/8jovF.B~aDV%-f^"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="logic_compare" id="2zioA7V=.):tLA{d)@7q"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="{@Dh.,9$-ffuh-7*/WX:"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.PV-Erzeugung</field> </block> </value> <value name="B"> <block type="math_number" id="q%}PR8,Zz/J*--zC0B78"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="tZWZgq#FLQRb]]3+EF0U"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id=";!|_5s7C[dW2G9YK=p|:"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="~eL=-y4L+Zu/+qNUr#no"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="haTT(QWr_$U!5x^QJi[,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="5b/^SFE,,N~i#R`?hRms"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="t|.]8o6qOD#zZXUS{tmn"> <field name="NUM">1</field> </shadow> <block type="on_source" id="4!IyP4Ha`A#jlkbA5lBZ"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="iwr9hg2mr@d9YW-Gz_TZ"> <field name="NUM">1</field> </shadow> <block type="math_number" id="/y44l`eJ3ReZcj;kPXZ?"> <field name="NUM">-1</field> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="Xm7@K;6NKB@3Cp##D5;h"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="SqR.*8V`hJIugw[Ry?+O"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="K6+js$fu%A[`-=y!bKU4"> <field name="COMMENT">Batterie Netzbezug / Einspeisung</field> <next> <block type="on" id="Odpmlsk?AOC(xp@rs,-,"> <field name="OID">0_userdata.0.enphase.livedata.meters.storage.agg_p_mw</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="update" id="%{Kfj,`XYX|AJV(m5}@="> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Netz_gesamt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_multi_or" id="D*oB1RnVhQ{(L)~iarPr"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="OR0"> <block type="get_value" id="E6aezjYKj2#^|Z*+S|]j"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterie_Einspeisung</field> </block> </value> <value name="OR1"> <block type="get_value" id=")@FRm9dq5(rIKc6d,V6n"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batterieladung_über_Netz</field> </block> </value> </block> </value> </block> </statement> <next> <block type="comment" id="1rPj2U$Mym_}FRlbfjbj"> <field name="COMMENT">Batteriekapazität</field> <next> <block type="on" id="^#q+~or)i4nq{7LEc_[!"> <field name="OID">0_userdata.0.enphase.livedata.meters.soc</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="update" id="/PV#v$$.`*2*H1L#C?Pb"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Enphase-Werte_durch_1000.Batteriekapazität</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="on_source" id="goZCXBnXJKbY.Rz{AdtQ"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>...............................................................
@steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
....................................................................
2.SkriptDas envoy bleibt mit den LiveDaten max 15 Minuten online, diese Skript aktualisiert sich alle 10 Minunten und hält das envoy im Onlinemodus.

Enphase_sc_stream_enable_1.txt
Hier im Blockly den username / password / envoy_serialnummer / envoy_ip eintragen.
...................................................................2.Skript aktualisiert (hier nur als Screenshot) einfach einen "falls - mache Baustein" einfügen und "sc_stream": "disabled" abfragen
Das envoy bleibt mit den LiveDaten jetzt wohl länger als 15 Minuten online, diese Skript aktualisiert sich erst dann, wenn das Envoy im Offlinemodus ist (sc_stream": "disabled).
