NEWS
TibberLink Adapter
-
Ja haken ist gesetzt.
Im tibber api explorer sehe ich auch aktuellen verbrauch.
-
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 -
@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) -
@gismoh Ich brauche die PriceLevel. Wenn ich das abschalte, dann kommen die nicht mehr
-
@karo2204
Deswegen steht dort auch: @DaDue-max
War also nicht explizit an dich gerichtet -
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:
-
@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).
-
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>
-
@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):
-
Hallo,
ich habe auch mal fragen zu diesem Adapter.
Ich habe einen aktivierten Vertrag der zum 1.3.2024 startet. Ich habe den Token eingegeben den ich von Tibber habe. Soweit so gut.
Nun habe ich aber mal die Preise aus der Tibber App (über Analyse) mit der, die mir der Adapter über die API von Tibber holt verglichen und muss feststellen, das das völlig andere Preise sind. Es ist jedoch gesichert, da es definitiv die richtige Addresse ist, da meine Kontaktdaten usw. alles korrekt ist !
Ist das bei euch auch so, oder ist das ein Problem das nur ich habe ?
Grüße
-
Hat wer das mit dem Batterieladen probiert? Setzt er quasi automatisch sobald der Preis x Prozent günstiger ist als am Tag der höchste die Variable auf ein? Oder muss ich noch den Preis ausrechnen.
-
@maduuto Ist schwierig, dazu automatisch den Zeitpunkt zu finden.
Ich mache das im Moment eher halbautomatisch: Schaue mir den Tagesverlauf an und setze dann, wenn es Unterschiede von mehr als 30% gibt via timeswitch die Be- und Entladung frei.
Aber ehrlich gesagt sind mir die Unterschiede in letzter Zeit viel zu gering für sowas.
-
@oxident ja, das rechnet sich auch hinten und vorne nicht sowas. Dafür sind die Kosten für verschleiss sowie Verluste beim Ein und Ausspeichern viel zu teuer. Da legt man drauf wenn man den Akku zum puffern benutzt. Merkt es aber nicht, weil man die Rechnung ja erst viel später bezahlen muss.
-
@oxident Aber dafür gibt es doch die Automatisierung "Smart Batterie Puffer", die bei mir aber irgendwie nicht funktioniert hat. Ansonsten ja sollte es immer angehen wenn der Strom 30% günstiger ist als in den teuren Zeiten denke das ist ein guter Wert um Verluste und Verschleiß auszugleichen. Und 30% Unterschied find ich ist nicht immer.
Leider hat das Smart Batterie Puffer nicht geschaltet, warum auch immer
-
@maduuto nein, damit gleichst du nicht Verluste und Verschleiß aus. Darüber hinaus, sollte ja nicht nur das ausgeglichen werden, sondern auch noch ein Gewinn erwirtschaftet werden. Dies ist auf diese Art nicht möglich, es sei denn man spekuliert, das die Akkus in Zukunft sehr deutlich im Preis fallen und setzt das dann als Ziel an und nicht das, was man eigentlich bezahlt hat.