NEWS
TibberLink Adapter
-
@dadue-max
OK, hab ich mir auch mal gebaut. Dachte du hast eine bessere Lösung
-
@mcbirne
Ich nutze einfach Slider.

Da nimmts du einfach die stündlichen Einträge des Tibberlink-Adapter

oben drüber die Zahlenwerte und du hast alles was du brauchst. (Es gibt auch noch optisch andere Slider) -
Hallo kann mir wer sagen wo ich den aktuellen und 24std Verbrauch finde? Unter den tibberlink Objekten habe ich dort nichts.
-
@joeysch Danke!
Pulse ist dran und läuft sehe ich über die tibber app.
Trotzdem erscheint das bei mir nicht, obwohl ich es angewählt habe.
Habe auch den Adapter erneut installiert ohne Änderung.@dennist Kommt denn was über den API Explorer?
-
@joeysch Danke!
Pulse ist dran und läuft sehe ich über die tibber app.
Trotzdem erscheint das bei mir nicht, obwohl ich es angewählt habe.
Habe auch den Adapter erneut installiert ohne Änderung. -
-
Seit ich den Adapter installiert habe, bekomme ich immer wieder die Fehlermeldung
Error (undefined) occured during: -force pull of prices today- :Weiß jemand wie ich den Adapter ordentlich zum Laufen bekomme? Also ohne Fehlermeldungen?
@karo2204 said in TibberLink Adapter:
Error (undefined) occured during: -force pull of prices today- :
a) Bei Fehlermeldungen bitte IMMER die betreffenden Versionen angeben.
b) Eröffnen ein Issue im Adapterverzeichnis wenn das Problem reproduzierbar ist.
c) Der Dev dürfte hier nicht wirklich aktiv sein.
@mcm57 said in TibberLink Adapter:
ttps://github.com/hombach/ioBroker.tibberlink/discussions
Hier mal als Info -
@gismoh okay, dann gedulde ich mich mal, obwohl heute die App mir die Preise anzeigt im Iobrokerlog weiter die gleichen Fehlerbilder sind.

Gibt es einen anderen Weg an die Börsenpreise zu kommen? Werde da beim googeln noch nicht richtig schlau.....@dadue-max
In der aktuellen Version (meine 2.x) kann man nun die Preisabfrage auch de/aktivieren.
(In der 1.8er hatte ich trotzdem noch die Fehlermeldungen, aber nun klappt es) -
@dadue-max
In der aktuellen Version (meine 2.x) kann man nun die Preisabfrage auch de/aktivieren.
(In der 1.8er hatte ich trotzdem noch die Fehlermeldungen, aber nun klappt es) -
Kann mir jemand sagen wie ich die neuen "tibberlink.0.Homes.XXX.Consumption" Daten Visualisieren kann? (v2.0)
In E-Charts bekomme ich das nicht rein - hab auch keine Doku gefunden was man bei json einstellen muss. -
@maas-meister Ich visualisiere die Daten von Tibberlink in eCharts. Du musst die JSON mit einem Script in ein taugliches JSON für eCharts konvertieren.
Schau mal hier im Forum: Link.
Der eChart sieht bei mir dann so aus:

-
@maas-meister Ich visualisiere die Daten von Tibberlink in eCharts. Du musst die JSON mit einem Script in ein taugliches JSON für eCharts konvertieren.
Schau mal hier im Forum: Link.
Der eChart sieht bei mir dann so aus:

@allelectrified
Dort ist nicht das Blockly eingefügt, kannst du mir das schicken? -
@allelectrified
Dort ist nicht das Blockly eingefügt, kannst du mir das schicken?@maas-meister Hier ist der Blockly Code zum erzeugen des JSON welches in eCharts direkt angezeigt werden kann. Bitte vor dem Import "DEINE_TIBBERLINK_ID" durch Deine Tibber ID ersetzen, damit die Datenpunkte passen.
Nicht wundern. Ich mache noch ein wenig mehr in dem Script. Ich schreibe noch ein zweites JSON, welches bezogen auf einen Triggerpreis die Info enthält ob die jeweilige Stunde unter oder oberhalb liegt. Damit kann ich dann im eChart diesen grünen Bereich erzeugen. Und ich zähle, wieviele Stunden dann unter dem Triggerpreis liegen.
Und die Variablen mit 0_userdata.0.xxx müssen natürlich angelegt werden. Viel Erfolg!Leider ist der Blockly Script zu lang. Ich versuche es mal in 2 Teilen zu posten. Diese vor dem importieren hintereinander zusammenfügen (hoffe das geht - ansonsten bitte kurze Info).
-
@maas-meister Hier ist der Blockly Code zum erzeugen des JSON welches in eCharts direkt angezeigt werden kann. Bitte vor dem Import "DEINE_TIBBERLINK_ID" durch Deine Tibber ID ersetzen, damit die Datenpunkte passen.
Nicht wundern. Ich mache noch ein wenig mehr in dem Script. Ich schreibe noch ein zweites JSON, welches bezogen auf einen Triggerpreis die Info enthält ob die jeweilige Stunde unter oder oberhalb liegt. Damit kann ich dann im eChart diesen grünen Bereich erzeugen. Und ich zähle, wieviele Stunden dann unter dem Triggerpreis liegen.
Und die Variablen mit 0_userdata.0.xxx müssen natürlich angelegt werden. Viel Erfolg!Leider ist der Blockly Script zu lang. Ich versuche es mal in 2 Teilen zu posten. Diese vor dem importieren hintereinander zusammenfügen (hoffe das geht - ansonsten bitte kurze Info).
Blockly Teil 1/2
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</variable> <variable id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</variable> <variable id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</variable> <variable id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</variable> <variable id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</variable> <variable id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</variable> <variable id="ChO!f~2yOOGR^a{VPiM-">Quelldaten2_fuer_Ladezeiten</variable> </variables> <block type="comment" id="(b9{2M1D3W{$ssbUwz~b" x="-1584" y="82"> <field name="COMMENT">Daten von Tibber auf Änderung prüfen</field> <next> <block type="on_ext" id="sqaz+j1f!=gUe}G4mzk="> <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="1U^Z+K2ngC[Wp#!M/QV9"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesToday.json</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="S;N9[PH4S%Ov^yr_oJJ3"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="lJi%^DIveBz{5rp[93d_"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.CurrentPrice.total</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id=",d+~IAMucl`67yCw$Z7{"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.Calculations.0.TriggerPrice</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="kH|vM)*Dx+Kr-+(eMjp{"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="Yl(*XL?2}pe3T%,c;tO3"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="zd2nq@L:_kz(kH88|#=k"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> <comment pinned="false" h="80" w="160">Prices.Tomorrow</comment> </block> </value> <value name="B"> <block type="text" id="r*]Fvj{_[7$4Oi^gI.h*"> <field name="TEXT">[]</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="/+y7n9-o+%[J(p7pk9v0"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> <value name="VALUE"> <block type="logic_boolean" id="nHJopxQ_qB(!W4uW-H^m"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="UGcdyGVc5|]GvCh{BZCQ"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> <value name="VALUE"> <block type="logic_boolean" id="F+IlcMv#J5uci+cTSfbu"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="debug" id=";QJI|wzu~b/mr[!$u3V|" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="W*P|d:S|#[)cmXj?|p_n"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="HaUzyY*#IZd.R|@+m-X~"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> </block> </value> <next> <block type="comment" id="3^JVJ)^{_P(*w=%hB*wD"> <field name="COMMENT">Daten von Tibber holen:</field> <next> <block type="variables_set" id="+rC:Sa}O3wFEQBBP#~H5"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="get_value" id="TeLT~aY(!Qs9B,eg6@9*"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesToday.json</field> </block> </value> <next> <block type="controls_if" id="r%|7{q4T0~?B{c;Wo3:m"> <value name="IF0"> <block type="logic_negate" id=":iykOM8IiEl;UK/TeAAJ"> <value name="BOOL"> <block type="variables_get" id="DV.az0%A``lW.*C1j7gO"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="rQ*532RnTKQvaJ$e{]iH"> <field name="COMMENT">Zusammenführung in eine Variable:</field> <next> <block type="comment" id="%PE(lN|XBm-P@3gt1ge+"> <field name="COMMENT">zuerst Daten von heute rechtsbündig bereinigen:</field> <next> <block type="variables_set" id="D7YhEFY_Gd`px[k[Ht0-"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="text_join" id="Dck|--W;YeDDC3m`!Ami"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="h/fME)cTqCw=%3Gj7*eg" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="imIgD~nTU81eeG5dsPzd"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="AT1"> <block type="math_number" id="lZVZaGr6{%jUXi`[x6zL"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="Qw.7fqzo+9s]djS]}kqL"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="i087qwULN,.bYj5OL8`m"> <field name="NUM">1</field> </shadow> <block type="text_length" id="ekAiVUCen3WHY,]t:/U1"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="V_alg_%w48ZibbNPT(|a"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="LY.Pjau%bKj8]DMG;0,e"> <field name="NUM">1</field> </shadow> <block type="math_number" id="S6mXN$`4#gqi3|Q$KL93"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="fTf7~.5dG.|D2uDuA=WP"> <field name="TEXT">, </field> </block> </value> <value name="ADD2"> <block type="text_getSubstring" id="f=+chA;}W0g=nR]+V1SH" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="get_value" id="m1`1hIaOZtu~!1`(wX,~"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> </block> </value> <value name="AT1"> <block type="math_number" id="QuL$dtM,_mRUij-cpcgc"> <field name="NUM">2</field> </block> </value> <value name="AT2"> <block type="text_length" id="^b/Wo+lL=eLJ|Cc|m%Nl"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="get_value" id=";`5HmKTD(otT[0SIDYFM"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id="6~FIKz^bu9)A`~oHRX~$" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="aHAm@AgjhT(Vyz4Ott0P"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="5UNYK!4@tDCdQZCnW7Hk"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <next> <block type="comment" id="WcdT1@rK%glUn|}9Ogdm"> <field name="COMMENT">Datenformat umwandeln:</field> <next> <block type="variables_set" id="0+WIzL6)ub?#Q*Oi-e-3"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text" id="S4u:-FS0p/50dD4Z27Wu"> <field name="TEXT">[{"ts": </field> </block> </value> <next> <block type="variables_set" id="1foz~@BgEBm#lJR!Zake"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text" id="9bgW0c4f+}h~Z*=ASeon"> <field name="TEXT">[{"ts": </field> </block> </value> <next> <block type="control" id="#T!4nOkc]r9W5[wW1iG8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Ladestunden_aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="w$7x7cYiPj}A{Xq8;qwn"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_whileUntil" id="gPAmf3O3vKv@uZY60m)7"> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id=";=/Cf`he66?^O,K=m]Mq"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="gfC{taqw(s=@@U*1z@/P"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="=iJ4cP+rAz,y26YJaU?9"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="j!?v?UM+G?,Q;nh(NaP{"> <field name="TEXT">abc</field> </shadow> <block type="text" id="T8)-h6b`-,EeC_yda;}!"> <field name="TEXT">startsAt</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="!8=x5hK*j=lS7hpJ@-~R"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="variables_set" id="j/,%|hAaLAfiN,$1wrWy"> <field name="VAR" id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</field> <value name="VALUE"> <block type="text_length" id=":WH(JFg9Di-M9v,~.we]"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="MpAraTQ#`T%rcQ(6=rAK"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <next> <block type="variables_set" id="~1X2l0]tc#RgQ98Ef(r0"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="U[26IqruM7jlTo?C0=ly"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="?2S.EhCRL#/tnV1MXe]y"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="73LY.+hRj1T3jWojxTW5"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="get_attr" id="2c6?LRNEq`1~Xg@R{rOf"> <value name="PATH"> <shadow type="text" id="@-Tcqui;#iZpzGyFfazS"> <field name="TEXT">0.startsAt</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="g(jS8U14qZU5i[C{uAvo"> <value name="VALUE"> <block type="variables_get" id="NC5m5{rLvX{Jn:t?u6sq"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="Ix+;#0LT^dpg,OR#fb,g"> <field name="TEXT">, "val": </field> </block> </value> </block> </value> <next> <block type="variables_set" id="mWua`smZi5Pw@u/@:Zm}"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="y8{ftl%Y=F*|Pv),2QsT"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="xpQ5|kpls@7cW$K}qaOK"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="ADD1"> <block type="get_attr" id="RM}:z+C65Y9@B./|zOp+"> <value name="PATH"> <shadow type="text" id="s$qtq+ISbGo#[P=[K=hl"> <field name="TEXT">0.total</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="icJa-0!RJ[MSfR(t:U)n"> <value name="VALUE"> <block type="variables_get" id="~NJo(3~Cl]+8vB+y~w}n"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="k/y7V5Myc+0,a-*Q2w~/"> <field name="TEXT">}, {"ts": </field> </block> </value> </block> </value> <next> <block type="variables_set" id="s62Pc8mtTo*Nzr)D@KY/"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id="p!8xp@3Gk!Irp}9M8S+j"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="WI-q*2CjrbP|0m{b!_.B"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="{{sj6bK~sH:~}aM8+(r/"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="get_attr" id="=|#yux*}8U2=qL0=p5zK"> <value name="PATH"> <shadow type="text" id="T_JPa776M^Mob68D5iG9"> <field name="TEXT">0.startsAt</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="0y{uQhUc4;c-i/MSWe.W"> <value name="VALUE"> <block type="variables_get" id="M?/Z;jQs{CflX7T_zchn"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id=".FQWLrGu+=FaJ8.^[hm]"> <field name="TEXT">, "val": </field> </block> </value> </block> </value> <next> <block type="controls_if" id="Ny^gQCIp;5pF:$?nA~vx"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="kL~^%!qw^1?86qo5N2T#"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="|8)R4Wl6=Yg3Dp$Dg#=V"> <field name="OP">LT</field> <value name="A"> <block type="convert_tonumber" id="3tpX8skkWvyo``Bu#wbx"> <value name="VALUE"> <block type="get_attr" id="m]dRW#p@.iX#I8v::_34"> <value name="PATH"> <shadow type="text" id="iW37pzT|2[YPDy?k#[jb"> <field name="TEXT">0.total</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="2SZU(KQRAk%)h!Y]=a[("> <value name="VALUE"> <block type="variables_get" id="nJ:Hlmn6kys/6DC/?(`!"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="get_value" id=":]tevQz2n+Wg[dm#Ny74"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.Calculations.0.TriggerPrice</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="CtXc.Oov{}W/JT.S,8Hn"> <field name="OP">GTE</field> <value name="A"> <block type="convert_from_date" id="O*Ps~H?3vZ2}+#1Ce0E2"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="get_attr" id="SPh=NA9/KoJs9r2#maTQ"> <value name="PATH"> <shadow type="text" id="0J%xtQN.?SR#.lESg|a,"> <field name="TEXT">0.startsAt</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="}N!PvIayfr}UO[b=8oE}"> <value name="VALUE"> <block type="variables_get" id="JlLSq;PJSp$ML4XbDJ,-"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_get" id="(J^]NVz)pHHr@i(#iHxG"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=")5{}$:ilX0xFSWpnEwcB"> <field name="VAR" id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</field> <value name="VALUE"> <block type="text" id="kc=BAO#Re*^DlL2cYm}L"> <field name="TEXT">1</field> </block> </value> <next> <block type="control" id="Ak`PwmkNoa+sc)/^$Ztg"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Ladestunden_aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="c@I]1gcNB7?DCi%QT7J^"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="@Z0,1LJNOj,T)WuV7Hb@"> <field name="NUM">1</field> </shadow> <block type="get_value" id="yGt9e@Hj9OYT[_}oWF7["> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Ladestunden_aktiv</field> </block> </value> <value name="B"> <shadow type="math_number" id="|pJpPy^]hpMO/OI@?E=d"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="As`q5L,/zLik=4rk[[nz"> <field name="VAR" id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</field> <value name="VALUE"> <block type="text" id="~{M}P_+$/q*JMtPC_~C!"> <field name="TEXT">0</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="J(]8o/sIx(#4qL{:GF~h"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id="g4+$N2]bNtXs366M.5#o"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="X31}:O6a~(YEOA)K=-sy"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="p%GZ{Sz6~Mn@%]nu|ivI"> <field name="VAR" id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</field> </block> </value> <value name="ADD2"> <block type="text" id="g8rvk#p#IyPr8Wx}u;e4"> <field name="TEXT">}, {"ts": </field> </block> </value> </block> </value> <next> <block type="controls_if" id="N44yj(f$rLKm-5Vd_DAP"> <value name="IF0"> <block type="logic_compare" id="l$!bz?@t4pn8h[xf7r.G"> <field name="OP">LT</field> <value name="A"> <block type="text_indexOf" id="ugKcRx)U6@O@/-W7$o:2"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id=";sLT%b3{qClTZ$ricR(C"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="8,s}EhSrFOPF.4~@YP3_"> <field name="TEXT">},</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="%RUWe~3CpTm34w%^86OB"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_flow_statements" id="#-^kWsnKmkNelBj{?oE4"> <field name="FLOW">BREAK</field> </block> </statement> <next> <block type="variables_set" id="nQW(tG:E*X7uyXS_`eT/"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="text_join" id="7OFET=2OVbD^5n45(2%j"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="T0SkL#7_:,?gr(UnHN^j"> <field name="TEXT">[</field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id="A83bf@1`;#O:MmUMG7pd" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="Vu:Pu*9e4nCKLB?Q[Dsz"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="f,nU/lzqDuIWurvffH0I" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="/=mesw]/(ZD)iAu5hnlv"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="+_8_K4+UO6LqChfWwkYy"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="|,Vw(_oA:as.+#;MoKI("> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="p/a(ESKZ!C*D(CG.AWfN"> <field name="TEXT">},</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=",B$`Uzx#P[v}BGy_p[Eg"> <field name="NUM">1</field> </shadow> <block type="math_number" id="*[DMsW)0ZS#%1A*D]c?]"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="AT2"> <block type="text_length" id="^zKtxAr]YQf^QLwoADj`"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="RIT*gN.,WF],1b{GJv`U"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="comment" id="wMhs5~1y4^FW?46:Xow,"> <field name="COMMENT">Zwangsabbruch, falls Endlosschleife droht:</field> <next> <block type="controls_if" id="P^^V](6=sv@P?bDju4Nu"> <value name="IF0"> <block type="logic_compare" id="{[l^e_@`a+lxA$Pz#UKl"> <field name="OP">EQ</field> <value name="A"> <block type="text_length" id="c+qLQgS;nB%8;r?=pyBc"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id=";9sHf3y0kus!Y%~_;m~b"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="JZo*0WptSP-ql_7f=Id3"> <field name="VAR" id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_flow_statements" id="m[IT~x.Yo|JzL[#m(1NW"> <field name="FLOW">BREAK</field> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> -
Blockly Teil 1/2
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</variable> <variable id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</variable> <variable id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</variable> <variable id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</variable> <variable id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</variable> <variable id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</variable> <variable id="ChO!f~2yOOGR^a{VPiM-">Quelldaten2_fuer_Ladezeiten</variable> </variables> <block type="comment" id="(b9{2M1D3W{$ssbUwz~b" x="-1584" y="82"> <field name="COMMENT">Daten von Tibber auf Änderung prüfen</field> <next> <block type="on_ext" id="sqaz+j1f!=gUe}G4mzk="> <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="1U^Z+K2ngC[Wp#!M/QV9"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesToday.json</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="S;N9[PH4S%Ov^yr_oJJ3"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="lJi%^DIveBz{5rp[93d_"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.CurrentPrice.total</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id=",d+~IAMucl`67yCw$Z7{"> <field name="oid">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.Calculations.0.TriggerPrice</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="kH|vM)*Dx+Kr-+(eMjp{"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="Yl(*XL?2}pe3T%,c;tO3"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="zd2nq@L:_kz(kH88|#=k"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> <comment pinned="false" h="80" w="160">Prices.Tomorrow</comment> </block> </value> <value name="B"> <block type="text" id="r*]Fvj{_[7$4Oi^gI.h*"> <field name="TEXT">[]</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="/+y7n9-o+%[J(p7pk9v0"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> <value name="VALUE"> <block type="logic_boolean" id="nHJopxQ_qB(!W4uW-H^m"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="UGcdyGVc5|]GvCh{BZCQ"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> <value name="VALUE"> <block type="logic_boolean" id="F+IlcMv#J5uci+cTSfbu"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="debug" id=";QJI|wzu~b/mr[!$u3V|" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="W*P|d:S|#[)cmXj?|p_n"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="HaUzyY*#IZd.R|@+m-X~"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> </block> </value> <next> <block type="comment" id="3^JVJ)^{_P(*w=%hB*wD"> <field name="COMMENT">Daten von Tibber holen:</field> <next> <block type="variables_set" id="+rC:Sa}O3wFEQBBP#~H5"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="get_value" id="TeLT~aY(!Qs9B,eg6@9*"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesToday.json</field> </block> </value> <next> <block type="controls_if" id="r%|7{q4T0~?B{c;Wo3:m"> <value name="IF0"> <block type="logic_negate" id=":iykOM8IiEl;UK/TeAAJ"> <value name="BOOL"> <block type="variables_get" id="DV.az0%A``lW.*C1j7gO"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="rQ*532RnTKQvaJ$e{]iH"> <field name="COMMENT">Zusammenführung in eine Variable:</field> <next> <block type="comment" id="%PE(lN|XBm-P@3gt1ge+"> <field name="COMMENT">zuerst Daten von heute rechtsbündig bereinigen:</field> <next> <block type="variables_set" id="D7YhEFY_Gd`px[k[Ht0-"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="text_join" id="Dck|--W;YeDDC3m`!Ami"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="h/fME)cTqCw=%3Gj7*eg" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="imIgD~nTU81eeG5dsPzd"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="AT1"> <block type="math_number" id="lZVZaGr6{%jUXi`[x6zL"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="Qw.7fqzo+9s]djS]}kqL"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="i087qwULN,.bYj5OL8`m"> <field name="NUM">1</field> </shadow> <block type="text_length" id="ekAiVUCen3WHY,]t:/U1"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="V_alg_%w48ZibbNPT(|a"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="LY.Pjau%bKj8]DMG;0,e"> <field name="NUM">1</field> </shadow> <block type="math_number" id="S6mXN$`4#gqi3|Q$KL93"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="fTf7~.5dG.|D2uDuA=WP"> <field name="TEXT">, </field> </block> </value> <value name="ADD2"> <block type="text_getSubstring" id="f=+chA;}W0g=nR]+V1SH" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="get_value" id="m1`1hIaOZtu~!1`(wX,~"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> </block> </value> <value name="AT1"> <block type="math_number" id="QuL$dtM,_mRUij-cpcgc"> <field name="NUM">2</field> </block> </value> <value name="AT2"> <block type="text_length" id="^b/Wo+lL=eLJ|Cc|m%Nl"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="get_value" id=";`5HmKTD(otT[0SIDYFM"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.PricesTomorrow.json</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id="6~FIKz^bu9)A`~oHRX~$" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="aHAm@AgjhT(Vyz4Ott0P"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="5UNYK!4@tDCdQZCnW7Hk"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <next> <block type="comment" id="WcdT1@rK%glUn|}9Ogdm"> <field name="COMMENT">Datenformat umwandeln:</field> <next> <block type="variables_set" id="0+WIzL6)ub?#Q*Oi-e-3"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text" id="S4u:-FS0p/50dD4Z27Wu"> <field name="TEXT">[{"ts": </field> </block> </value> <next> <block type="variables_set" id="1foz~@BgEBm#lJR!Zake"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text" id="9bgW0c4f+}h~Z*=ASeon"> <field name="TEXT">[{"ts": </field> </block> </value> <next> <block type="control" id="#T!4nOkc]r9W5[wW1iG8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Ladestunden_aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="w$7x7cYiPj}A{Xq8;qwn"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_whileUntil" id="gPAmf3O3vKv@uZY60m)7"> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id=";=/Cf`he66?^O,K=m]Mq"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="gfC{taqw(s=@@U*1z@/P"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="=iJ4cP+rAz,y26YJaU?9"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="j!?v?UM+G?,Q;nh(NaP{"> <field name="TEXT">abc</field> </shadow> <block type="text" id="T8)-h6b`-,EeC_yda;}!"> <field name="TEXT">startsAt</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="!8=x5hK*j=lS7hpJ@-~R"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="variables_set" id="j/,%|hAaLAfiN,$1wrWy"> <field name="VAR" id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</field> <value name="VALUE"> <block type="text_length" id=":WH(JFg9Di-M9v,~.we]"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="MpAraTQ#`T%rcQ(6=rAK"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <next> <block type="variables_set" id="~1X2l0]tc#RgQ98Ef(r0"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="U[26IqruM7jlTo?C0=ly"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="?2S.EhCRL#/tnV1MXe]y"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="73LY.+hRj1T3jWojxTW5"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="get_attr" id="2c6?LRNEq`1~Xg@R{rOf"> <value name="PATH"> <shadow type="text" id="@-Tcqui;#iZpzGyFfazS"> <field name="TEXT">0.startsAt</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="g(jS8U14qZU5i[C{uAvo"> <value name="VALUE"> <block type="variables_get" id="NC5m5{rLvX{Jn:t?u6sq"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="Ix+;#0LT^dpg,OR#fb,g"> <field name="TEXT">, "val": </field> </block> </value> </block> </value> <next> <block type="variables_set" id="mWua`smZi5Pw@u/@:Zm}"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="y8{ftl%Y=F*|Pv),2QsT"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="xpQ5|kpls@7cW$K}qaOK"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="ADD1"> <block type="get_attr" id="RM}:z+C65Y9@B./|zOp+"> <value name="PATH"> <shadow type="text" id="s$qtq+ISbGo#[P=[K=hl"> <field name="TEXT">0.total</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="icJa-0!RJ[MSfR(t:U)n"> <value name="VALUE"> <block type="variables_get" id="~NJo(3~Cl]+8vB+y~w}n"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="k/y7V5Myc+0,a-*Q2w~/"> <field name="TEXT">}, {"ts": </field> </block> </value> </block> </value> <next> <block type="variables_set" id="s62Pc8mtTo*Nzr)D@KY/"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id="p!8xp@3Gk!Irp}9M8S+j"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="WI-q*2CjrbP|0m{b!_.B"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="{{sj6bK~sH:~}aM8+(r/"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="get_attr" id="=|#yux*}8U2=qL0=p5zK"> <value name="PATH"> <shadow type="text" id="T_JPa776M^Mob68D5iG9"> <field name="TEXT">0.startsAt</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="0y{uQhUc4;c-i/MSWe.W"> <value name="VALUE"> <block type="variables_get" id="M?/Z;jQs{CflX7T_zchn"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id=".FQWLrGu+=FaJ8.^[hm]"> <field name="TEXT">, "val": </field> </block> </value> </block> </value> <next> <block type="controls_if" id="Ny^gQCIp;5pF:$?nA~vx"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="kL~^%!qw^1?86qo5N2T#"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="|8)R4Wl6=Yg3Dp$Dg#=V"> <field name="OP">LT</field> <value name="A"> <block type="convert_tonumber" id="3tpX8skkWvyo``Bu#wbx"> <value name="VALUE"> <block type="get_attr" id="m]dRW#p@.iX#I8v::_34"> <value name="PATH"> <shadow type="text" id="iW37pzT|2[YPDy?k#[jb"> <field name="TEXT">0.total</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="2SZU(KQRAk%)h!Y]=a[("> <value name="VALUE"> <block type="variables_get" id="nJ:Hlmn6kys/6DC/?(`!"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="get_value" id=":]tevQz2n+Wg[dm#Ny74"> <field name="ATTR">val</field> <field name="OID">tibberlink.0.Homes.DEINE_TIBBERLINK_ID.Calculations.0.TriggerPrice</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="CtXc.Oov{}W/JT.S,8Hn"> <field name="OP">GTE</field> <value name="A"> <block type="convert_from_date" id="O*Ps~H?3vZ2}+#1Ce0E2"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="get_attr" id="SPh=NA9/KoJs9r2#maTQ"> <value name="PATH"> <shadow type="text" id="0J%xtQN.?SR#.lESg|a,"> <field name="TEXT">0.startsAt</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="}N!PvIayfr}UO[b=8oE}"> <value name="VALUE"> <block type="variables_get" id="JlLSq;PJSp$ML4XbDJ,-"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_get" id="(J^]NVz)pHHr@i(#iHxG"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=")5{}$:ilX0xFSWpnEwcB"> <field name="VAR" id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</field> <value name="VALUE"> <block type="text" id="kc=BAO#Re*^DlL2cYm}L"> <field name="TEXT">1</field> </block> </value> <next> <block type="control" id="Ak`PwmkNoa+sc)/^$Ztg"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Ladestunden_aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="c@I]1gcNB7?DCi%QT7J^"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="@Z0,1LJNOj,T)WuV7Hb@"> <field name="NUM">1</field> </shadow> <block type="get_value" id="yGt9e@Hj9OYT[_}oWF7["> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Ladestunden_aktiv</field> </block> </value> <value name="B"> <shadow type="math_number" id="|pJpPy^]hpMO/OI@?E=d"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="As`q5L,/zLik=4rk[[nz"> <field name="VAR" id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</field> <value name="VALUE"> <block type="text" id="~{M}P_+$/q*JMtPC_~C!"> <field name="TEXT">0</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="J(]8o/sIx(#4qL{:GF~h"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id="g4+$N2]bNtXs366M.5#o"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="X31}:O6a~(YEOA)K=-sy"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="p%GZ{Sz6~Mn@%]nu|ivI"> <field name="VAR" id="Ck=9?pt0VX=N%S,6},7f">Ladezeitflag</field> </block> </value> <value name="ADD2"> <block type="text" id="g8rvk#p#IyPr8Wx}u;e4"> <field name="TEXT">}, {"ts": </field> </block> </value> </block> </value> <next> <block type="controls_if" id="N44yj(f$rLKm-5Vd_DAP"> <value name="IF0"> <block type="logic_compare" id="l$!bz?@t4pn8h[xf7r.G"> <field name="OP">LT</field> <value name="A"> <block type="text_indexOf" id="ugKcRx)U6@O@/-W7$o:2"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id=";sLT%b3{qClTZ$ricR(C"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="8,s}EhSrFOPF.4~@YP3_"> <field name="TEXT">},</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="%RUWe~3CpTm34w%^86OB"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_flow_statements" id="#-^kWsnKmkNelBj{?oE4"> <field name="FLOW">BREAK</field> </block> </statement> <next> <block type="variables_set" id="nQW(tG:E*X7uyXS_`eT/"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="text_join" id="7OFET=2OVbD^5n45(2%j"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="T0SkL#7_:,?gr(UnHN^j"> <field name="TEXT">[</field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id="A83bf@1`;#O:MmUMG7pd" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="Vu:Pu*9e4nCKLB?Q[Dsz"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="f,nU/lzqDuIWurvffH0I" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="/=mesw]/(ZD)iAu5hnlv"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="+_8_K4+UO6LqChfWwkYy"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="|,Vw(_oA:as.+#;MoKI("> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="p/a(ESKZ!C*D(CG.AWfN"> <field name="TEXT">},</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=",B$`Uzx#P[v}BGy_p[Eg"> <field name="NUM">1</field> </shadow> <block type="math_number" id="*[DMsW)0ZS#%1A*D]c?]"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="AT2"> <block type="text_length" id="^zKtxAr]YQf^QLwoADj`"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="RIT*gN.,WF],1b{GJv`U"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="comment" id="wMhs5~1y4^FW?46:Xow,"> <field name="COMMENT">Zwangsabbruch, falls Endlosschleife droht:</field> <next> <block type="controls_if" id="P^^V](6=sv@P?bDju4Nu"> <value name="IF0"> <block type="logic_compare" id="{[l^e_@`a+lxA$Pz#UKl"> <field name="OP">EQ</field> <value name="A"> <block type="text_length" id="c+qLQgS;nB%8;r?=pyBc"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id=";9sHf3y0kus!Y%~_;m~b"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="JZo*0WptSP-ql_7f=Id3"> <field name="VAR" id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_flow_statements" id="m[IT~x.Yo|JzL[#m(1NW"> <field name="FLOW">BREAK</field> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement>Blockly Teil 2/2
<next> <block type="variables_set" id="2vRu@*hiMPm6!4n.O(/3"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="6X[kP1P*44IV[4NX,oEH"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="XC(RM8S;y3.lCW=D,tzb" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="`=pe74bYq8SUI}pWR+T@"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="AT1"> <block type="math_number" id="#`@m`yEq(rsP;7EZmo{B"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="Lt_UYE0/,V6x4l`$#JE9"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="Wd(-|a-N5iE^5k$W@DZY"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="a0{H#7G[|Cy*DywB%[u{"> <field name="TEXT">}, {"ts":</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="ru:rxa52lS?NU3/PJIUx"> <field name="TEXT">]</field> </block> </value> </block> </value> <next> <block type="variables_set" id="yX=V1k+:9KYVvYkRj[O`"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id="/?Jr?[NlqXjs6wNTk?,A"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="fyRph*6MO@z7renZFWOO" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="7(qo{7LiRJlI4az%9V3f"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="AT1"> <block type="math_number" id="j%3McXs02u%CX_VW})A^"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="T;Ns]C$y76/;Ui1ue_)i"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="0ko@}Gx=@0mq48%Bht6+"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="FIND"> <shadow type="text" id="V]29fmoUoyFHw;T.xZ4T"> <field name="TEXT"></field> </shadow> <block type="text" id="XFy7yi!^rf^_|%qh3MRl"> <field name="TEXT">}, {"ts":</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="#4]*cHk$vs@(Kdpcx6pc"> <field name="TEXT">]</field> </block> </value> </block> </value> <next> <block type="controls_if" id="86la_%Fcc#WF^7H,s@,]"> <value name="IF0"> <block type="variables_get" id="+WvBy#m2UUC2O;yOdV.q"> <field name="VAR" id="XySa}1L62YN64ae4XfHM">nur_Daten_fuer_heute</field> </block> </value> <statement name="DO0"> <block type="comment" id="o]ij6m)-!!DICl`LJ=l|"> <field name="COMMENT">Datensatz für Morgen ist leer --> Nullwerte generieren:</field> <next> <block type="variables_set" id="gD3`IQQl1$Y4-0qyN-)d"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="variables_get" id="qh5+/5hIqtn9M7J9#q5g"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <next> <block type="variables_set" id="j?l_qPu/xvSYMfp(8V~g"> <field name="VAR" id="ChO!f~2yOOGR^a{VPiM-">Quelldaten2_fuer_Ladezeiten</field> <value name="VALUE"> <block type="variables_get" id="0f/d4@lP=-vaIATx@|FV"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <next> <block type="variables_set" id="!pc/o4@Im(;$?a$;3||*"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="h7Bh(+.}Gu4_nYTi/SbQ"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id=".YI|FT{G?*|I$QFoNqp," inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="cawG5S.},`rE,(1UQ}$Y"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="AT1"> <block type="math_number" id="iTfca=:8b70)/L)25aRj"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="L)#_x?nsnz#;S4;k%V3,"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="bw|+8jJOK_K4)_I3EYv{"> <field name="NUM">1</field> </shadow> <block type="text_length" id="IVS4[dGGePINgBmd]Ed."> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="!v9:dAc1d=?iJM^u:I6v"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="=V!(gGZr[A409F!*%7#}"> <field name="NUM">1</field> </shadow> <block type="math_number" id="uH){9uI_I37Wp+*j:4/["> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="#8U-kx~caWd4:uC,1[YO"> <field name="TEXT">, {"ts": </field> </block> </value> </block> </value> <next> <block type="variables_set" id="]WFU]gq`;0vb3Q^Os!A1"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id="Av*UA~kR4jnkD6?i!a[:"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="Kota[5w]mLWW{B*@EnWT" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="S.6lQ}D8igC={k4g:GM!"> <field name="VAR" id="ChO!f~2yOOGR^a{VPiM-">Quelldaten2_fuer_Ladezeiten</field> </block> </value> <value name="AT1"> <block type="math_number" id="EV/SNyc82gg]@`J!pktF"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="=Qp{oX6iL:6v;`fThLzJ"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="fd^;jmCo]~R`kHB%whJx"> <field name="NUM">1</field> </shadow> <block type="text_length" id="D[(Q~4,r$J_U77KPd,@s"> <value name="VALUE"> <shadow type="text" id="41lWr!V+g--Aj]jX=1=]"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="LJGeaOl)OAvhXR;nY**1"> <field name="VAR" id="ChO!f~2yOOGR^a{VPiM-">Quelldaten2_fuer_Ladezeiten</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="nMYn:r$P)IVlCuPtNBO7"> <field name="NUM">1</field> </shadow> <block type="math_number" id="I4gG!22a16Jhd.{_|%o3"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="oX_Y3jUp.;7I8Gww~W7w"> <field name="TEXT">, {"ts": </field> </block> </value> </block> </value> <next> <block type="controls_whileUntil" id="m]q5RE}CY~[c`0!GyVk."> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id="V!/KT=]nI)2|H/nDCaJI"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="wuH_wEn$*eJk}tgU(qT1"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="0w#?0kkPV#7XY;E]~An7"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="j!?v?UM+G?,Q;nh(NaP{"> <field name="TEXT">abc</field> </shadow> <block type="text" id="U;(^~RH;f*ZvVMcO@03b"> <field name="TEXT">ts</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="x-,7w6}h0|=XfANDdy0v"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="variables_set" id="{bN@W+8PuniN?h,(md$-"> <field name="VAR" id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</field> <value name="VALUE"> <block type="text_length" id=")Rl`9ldo0*DlCa(){1]!"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="|p,1MI7g5P!?dzN:^/23"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <next> <block type="variables_set" id="0`FJHIxQwGV($CHbTJx0"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="W@C5X4?fyrCf.)@{+PR;"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="uR)UUwMGn2/1`dovW2l?"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="ADD1"> <block type="math_arithmetic" id=")FEnl.}OG-}9iLR_aW(y"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="B|i9F*R?TEp(_S-6%s54"> <field name="NUM">1</field> </shadow> <block type="get_attr" id="@TIM:@|ZX27e.MvaEK6N"> <value name="PATH"> <shadow type="text" id="9t|Jvs{@QmB`6$O~v*dS"> <field name="TEXT">0.ts</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="EkPaPf2+*}?o?/2EecH."> <value name="VALUE"> <block type="variables_get" id="n/k?gPLBH/.%{uY}*6|4"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="xF`8s.CLdbuCv(kV^e.7"> <field name="NUM">86400000</field> </shadow> </value> </block> </value> <value name="ADD2"> <block type="text" id="h*jt[3.kg;Y1~(hZvbkM"> <field name="TEXT">, "val": 0.30}, {"ts": </field> </block> </value> </block> </value> <next> <block type="variables_set" id="207TT3nA;w:X.IibC=s("> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id=".!]oJF@#(}G-jR%igF#J"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="OnXHrd55=tjIpxy)#e0#"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="ADD1"> <block type="math_arithmetic" id="HAL$KG(n?WAMPEJpr{j,"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="L4zc`5$X#j4lB)O$P@k^"> <field name="NUM">1</field> </shadow> <block type="get_attr" id="J8LMv+-9@^zzT?@_-5-p"> <value name="PATH"> <shadow type="text" id="9wcojx@T?wMlHu_lEo2}"> <field name="TEXT">0.ts</field> </shadow> </value> <value name="OBJECT"> <block type="convert_json2object" id="M]-M+Rrad5!)+SE/xTnW"> <value name="VALUE"> <block type="variables_get" id="MnIuOOzN!cjfMAH*b8S~"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="tGhLNI1ciV4KtJQ~4f?W"> <field name="NUM">86400000</field> </shadow> </value> </block> </value> <value name="ADD2"> <block type="text" id="Kl/]j74_29@d5p:BWOp|"> <field name="TEXT">, "val": 0}, {"ts": </field> </block> </value> </block> </value> <next> <block type="controls_if" id="c$~x,w^N.S1+EAuFp/=K"> <value name="IF0"> <block type="logic_compare" id="J!/b-m^KtUP5}jsQ`oA2"> <field name="OP">LT</field> <value name="A"> <block type="text_indexOf" id=",Gx-rl/qm_N0pAj7ysBj"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="w.e/b(:IuZeB;(?u-#p+"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="NWElsWJ:Nsq*=bl7jqP)"> <field name="TEXT">},</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="6!_I7XWs`!?UNEe[NVkZ"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_flow_statements" id="RD,/rn)Of(opd6|rK4n)"> <field name="FLOW">BREAK</field> </block> </statement> <next> <block type="variables_set" id="fvBRgtgdFJe$16ZhRer5"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> <value name="VALUE"> <block type="text_join" id="8/_Hdl}{F-[r@OD#._/g"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="n18P8v}YqCEcI(8)@9rM"> <field name="TEXT">[</field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id="XtqP-][+WAXK2$Ac;E4e" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="{9_T4tYGA52Y4WTK/~!9"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="7VgqFOEyhiqGovvsziWy" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="/=mesw]/(ZD)iAu5hnlv"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="Lw+EtjMzc^ckVP0-]i]p"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="r3xv;Cl@p-Z^J2h3-n#V"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="~Ph0,-WgbD`2ALD!*DE2"> <field name="TEXT">},</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=",B$`Uzx#P[v}BGy_p[Eg"> <field name="NUM">1</field> </shadow> <block type="math_number" id="YZjBfdG;@DNoo#e%Oc:6"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="AT2"> <block type="text_length" id="mU^M?s]gOq#^e]BnV8%M"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="~bi};3g31uIk;%[5=d[r"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="comment" id="ntQ__$]pU)1r=Ffz$0=t"> <field name="COMMENT">Zwangsabbruch, falls Endlosschleife droht:</field> <next> <block type="controls_if" id="FVd2}C$+Az/~..U[aUrr"> <value name="IF0"> <block type="logic_compare" id="wN@%zfTZg/aDfy:+s49@"> <field name="OP">EQ</field> <value name="A"> <block type="text_length" id="h@+8`6*hN=.RgEtvPJg7"> <value name="VALUE"> <shadow type="text" id="C!?@juiq+p/.iDcD}F2h"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id=")YEl/$12H_5Gm!{yuK`R"> <field name="VAR" id="3Sh8geT9s$T{B+^tMyJR">Quelldaten</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="Y(bID]xUwid~%rGH,`Gr"> <field name="VAR" id="5^mq-W7yKyl?zo,-JG;J">letzte_Laenge</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_flow_statements" id="b88S-]wIUMFhfk#8sGrw"> <field name="FLOW">BREAK</field> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="variables_set" id="Yp#yVom0a;z{hx_~P{gq"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> <value name="VALUE"> <block type="text_join" id="Su*RA7Sgi){q3Y2)g(?t"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="UKr*@(1qvNL)zK{^ju!V" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="ng?ZsWZJ7@+G!o=*B3hf"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="AT1"> <block type="math_number" id="[X3a8cp~*bn1pRuy+xKN"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="fPKb{5nI%dqV?NvW-da?"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="KnphqO}_@K}skd@u(;7-"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <value name="FIND"> <shadow type="text" id="TD]vqrZwd@LCR9Lesv$="> <field name="TEXT"></field> </shadow> <block type="text" id="($$nVWn;2,aG@.lH-dRs"> <field name="TEXT">}, {"ts":</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="tsiA~JF-2QO_]VHQ.nIT"> <field name="TEXT">]</field> </block> </value> </block> </value> <next> <block type="variables_set" id="[Z_YrWhtl*=.3-PxzSxp"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> <value name="VALUE"> <block type="text_join" id="*f}/`v;|cjz47$~Exr0t"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="rq}xeyi:IO{0(LZ}kJ)b" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="8|G@jZnm9/KkX$,{9^Wl"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="AT1"> <block type="math_number" id="k5-obcqD3lTG9*(E}Z]B"> <field name="NUM">1</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="KVLda*n=#:}:8k0;AQ~z"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="|uakI)M`E7_px5Qyty#Q"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <value name="FIND"> <shadow type="text" id="GF0nFs?@aBSgHiZk=k[J"> <field name="TEXT"></field> </shadow> <block type="text" id="%8;0@ZR#w|n1y2=4,SCg"> <field name="TEXT">}, {"ts":</field> </block> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="7Dcz,=B~tqh}GM(3gqB;"> <field name="TEXT">]</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id="N.|qwvjYxIdZW.vU{kAL" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="aHAm@AgjhT(Vyz4Ott0P"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="~RI.H3-sc!/,J/#s8[=g"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <next> <block type="debug" id="q*-le}[O2Ple{)Jc3WU]"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="}9yONGZRaoZLEA)qQVW^"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="MwJS;1k-SK3B`i;.BSA)"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> <next> <block type="update" id="*lcpA/r+),kB;k;%Gq=4"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Preise</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="}2yJ*lD#!^fLXv[VQ*tB"> <field name="VAR" id="D,$rcP=9}`_*/G|X6y{f">JSON_fuer_ECharts</field> </block> </value> <next> <block type="update" id=":@(lyw?~_eQdsKF7[HK1"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Stromversorgung.Tibber-Ladezeiten_aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Jz}4m0qy;agJ@,_f$tI6"> <field name="VAR" id="914l0(IgAR%F#+i[ywL!">JSON_fuer_Ladezeiten</field> </block> </value> </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> </statement> </block> </next> </block> </xml> -
@maas-meister Hier ist der Blockly Code zum erzeugen des JSON welches in eCharts direkt angezeigt werden kann. Bitte vor dem Import "DEINE_TIBBERLINK_ID" durch Deine Tibber ID ersetzen, damit die Datenpunkte passen.
Nicht wundern. Ich mache noch ein wenig mehr in dem Script. Ich schreibe noch ein zweites JSON, welches bezogen auf einen Triggerpreis die Info enthält ob die jeweilige Stunde unter oder oberhalb liegt. Damit kann ich dann im eChart diesen grünen Bereich erzeugen. Und ich zähle, wieviele Stunden dann unter dem Triggerpreis liegen.
Und die Variablen mit 0_userdata.0.xxx müssen natürlich angelegt werden. Viel Erfolg!Leider ist der Blockly Script zu lang. Ich versuche es mal in 2 Teilen zu posten. Diese vor dem importieren hintereinander zusammenfügen (hoffe das geht - ansonsten bitte kurze Info).
@allelectrified Leider läut Dein Script bei mir nicht. Mit welchen Einstellungen hast Du die Variablen mit 0_userdata.0.xxx angelegt? Hast Du eine JSON Datei zum einladen dafür?
-
@allelectrified Leider läut Dein Script bei mir nicht. Mit welchen Einstellungen hast Du die Variablen mit 0_userdata.0.xxx angelegt? Hast Du eine JSON Datei zum einladen dafür?
@lui1307 Leider nicht so auf die schnelle. Hatte die Variablen manuell angelegt während ich die Tibber-Scripte entwickelt hatte. Hier auf die schnelle mal der Variablenbaum den ich für alle Tibberscripte nehme (in dem Konvertierungsscript brauchst Du glaube ich nur 3 der Variablen):


