- Home
- Deutsch
- Praktische Anwendungen (Showcase)
- Enphase / Envoy / IQ-Gateway Solar Blockly Skript
Enphase / Envoy / IQ-Gateway Solar Blockly Skript
-
@greoj Hallo Jörg , ich habe probiert meinen 12 monatsgültigen enphase Token zu verwenden, leider ohne Erfolg. Auch bei der Herausnahme des Tokens erhalte ich für jede Abfrage dann die folgende Meldung
avascript.0 17:26:00.125 info script.js.common.Energiedaten.enphaseGateway: Get Cons. data: : Error local Envoy IP: 192.168.178.41. Error: Unexpected token '<', "<html> <h"... is not valid JSON | Error cnt: 2
MOD-EDIT: Code in code-tags gesetzt!
Auch im Protokollfenster erscheint kein 1 Tages Installations Token. Benutzername in Form meine e-mail Adresse für den Cloud Zugang sowie das Passwort stimmen. Ebenso die 12-stellige Seriennummer. Hast du noch eine Idee ?
-
@running-henne-0 der von dir referenzierte User war zuletzt im August 2023 om Forum aktiv.
-
ich habe, auf meinem System, das Skript gerade 2 mal neu gestartet und es bezieht ganz normal einen neuen Token und liefert auch fleißig Daten.
Hast Du vielleicht einen eigenen Token hier (roter Kreis) eingetragen? Das Feld muss leer sein. Wenn ich hier einen eigenen Wert (z.B. egvvfsjfvs) eintrage bekomme ich die selbe Fehlermeldung, wie Du beschrieben hast.
Ist das Feld leer, wird bei mir auch ein neuer Token bezogen.
Guss S.
-
@steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
ich habe, auf meinem System, das Skript gerade 2 mal neu gestartet und es bezieht ganz normal einen neuen Token und liefert auch fleißig Daten.
Hast Du vielleicht einen eigenen Token hier (roter Kreis) eingetragen? Das Feld muss leer sein. Wenn ich hier einen eigenen Wert (z.B. egvvfsjfvs) eintrage bekomme ich die selbe Fehlermeldung, wie Du beschrieben hast.
Ist das Feld leer, wird bei mir auch ein neuer Token bezogen.
Guss S.
kannst Du das hier vielleicht einmal testen, ob diese Lösung passt und eine kurze Rückmeldung geben.
Guss Steffen
-
Hallo zusammen,
meine Skripte scheinen schon eine Weile "defekt" zu sein in dem Sinne, dass die Batterieleistung nicht mehr ausgelesen wird. Da steht schon eine ganze Weile nur eine Null drin. Tatsächlich werden die wohl ausgelesen, aber die Batterie berichtet wohl die ganze Zeit nur eine Null. Wie kann das wohl sein?
Habe ich im Thread ein Update überlesen?
Viele Grüße
Dejan -
was wird denn unter:
Objekte: 0_userdata -> enphase ->livedata -> meters-> storge -> agg_p_mw angezeigt?
Kommen die restlichen Werte zuverlässig an?
Bei Mir kommen alle Daten ohne Fehlermeldung an.
-
@steffe-s
Ich habe auch keine Fehlermeldungen. Dort kommt nur eine Null an und wird entsprechend vom Skript ausgelesen. Die Batterie meldet aber einen SoC, der sauber ausgelesen wird. Die anderen Werte sind plausibel. Zumindest kann ich mal am digitalen Stromzähler die Leistung am Hausanschluss ablesen. -
-
@steffe-s Die Daten werden regelmäßig im Minutentakt aktualisiert. Die Batterie hat aber zuletzt am 5.12.24 etwas anderes als Null gemeldet.
Mir scheint also der Fehler bei Enphase zu sein. Die Batterie war eine Zeit lang ausgeschaltet, weil sie mangels Leistung im Winter sowieso nichts zu speichern hatte. Dafür ist meine kleine Experimentier-Anlage mit 660Wp zu klein. Mit zwei guten Tagen füllt sie aber die 3,5 kWh voll auf.
Wenn die Batterie den SoC sauber meldet, warum dann nicht auch die Leistung? Vielleicht ist ja der Funk gestört, so dass nur der vergleichsweise langsam wechselnde SoC sauber vom Envoy empfangen wird?
-
hast Du auch die Enlighten App von Enphase laufen?
-
lösche einfach mal den "storage - Ordner" und schau, ob dieser neu angelegt wird ( habe ich gerade an meinem System getestet, wenn der Ordner nicht vorhanden ist wird dieser neu angelegt)
-
@steffe-s Ja, die läuft. Die zeigt aber bei der Batterie offenbar auch keine Leistung an. Die LED an der Batterie blinkt blau und wird gerade ordentlich entladen. Die App zeigt 0W (Standby) an.
-
@steffe-s Erledigt!
Wurde auch bei mir erneuert. Jetzt sind die Werte eben frisch, inkl. SoC, der mir auch in der Enphase-App angezeigt wird.
-
Lade- / Entladewert passt auch wieder?
-
@steffe-s Leider nicht. Enphase scheint wohl Mist zu melden (0W), also muss ich da ansetzen. Ich werde mal am Abend alle Geräte neu starten und schauen, was dann herauskommt.
-
Frage ist denn Dein Akku voll? Dann sind 0W in Ordnung.
oder starte doch einfach mal die beiden skripte neu
1x Enphase_Envoy_Datenabfrage
und
1x sc-stream
vielleicht auch einmal beim Enphase - Support anrufen, wenn auch in der LiveAnsicht die Werte nicht stimmen (hier sollte erstmal alles passen und dann weiter im iobroker)
Ich meine gelesen zu haben, dass die Batterie immer online sein muss .
-
Nach gefühlt ewig langer Suche bin ich auf eure Lösung gestoßen. Leider funktioniert das Skript bei mir gar nicht, ich hab aber zu wenig Ahnung, um den Fehler finden zu können.
Könnt ihr mir helfen? -
@negalein sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
@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 aufdann hier den Text aus der .txt einfügen.
Alternativ die .txt hier reinziehen oder klicken zum auswählen.
@syntetic hast Du die Skripte, so wie hier beschrieben, in Blockly eingefügt?
-
@steffe-s Exakt so. Selbst ausgefüllt hab ich dann username, Passwort, SN & IP
-
@steffe-s sagte in Enphase / Envoy / IQ-Gateway Solar Blockly Skript:
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 erstellenIch habe diese Ordner und Datenpunkte vorher händisch erstellt.
--------------------------------------------
Edit 30.05.2024: oder über importieren hinzufügen
Datenpunkte aus Json importieren:
0_userdata.0.Enphase-Werte_durch_1000.json
0_userdata.0.Enphase-Batteriestatus.json
------------------------------------------
Bei diesem Datenpunkt den Wert "Min" auf 0 Stellen:
Auch diesen Datenpunkt erstellen und hier wieder diesem Datenpunkt den Wert "Min" auf 0 Stellen:
...................................................................
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>
...............................................................
hast Du das hier alles gemacht???
- Skript 1 Datenbafrage
- Skript 2 sc-stream für die Aktualisierung
- Datenpunkte importieren
- Skript 3 Daten durch 1000 (Ausgabe in Watt)