@bananajoe sagte in Test PV Forecast Adapter:
@sonnenschein sagte in Test PV Forecast Adapter:
0_userdata.0.PVForecast.Sonnenschein
Schick mal die Daten von deinem Datenpunkt 0_userdata.0.PVForecast.Sonnenschein
, also den Stift am Ende anklicken und den Inhalt des 2. Reiters. Das ganze bitte in Code-Tags.
Bei mir funktioniert es noch - ich habe aber inzwischen eine verbesserte Version bei der die Daten nicht mehr vor dem Schreiben gelöscht werden müssen (ich kann also auch die Tage und Wochen vorher sehen) und die mehrere Anlagen berücksichtigt.
Ich meine das sich der Aufbau des JSON geändert hat.
Mein aktuelles Blockly ist im Moment aber eine 3-Anlagen Version, ich habe mal versucht das wieder zusammenzustreichen auf eine:
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="RtPM2%k{F`%!q{Rk]|a.">id</variable>
<variable id=";!)T*gf?`G!J~iZ#4,CG">ts</variable>
<variable id="epT$}5hcYx3b^`jz:~#d">value</variable>
<variable id="GAGtL,+-C3?x`s;u1nsR">ack</variable>
<variable id="rHJp6FCFj,U],$ysF[xX">from</variable>
<variable id="p~yp5Fejp5Y|*K$i[(u%">q</variable>
<variable id="xr?C%:}F%HR,+baC%W8n">x</variable>
<variable id="F^DL7ecjBQr1k@hYE+{=">myId</variable>
<variable id="d/.bOP=7VlC5/[+=8g/u">myVAL</variable>
<variable id="SL$d6/`ClO6iqfefh5LN">myTS</variable>
<variable id="eF:WEr]2Ns:niv]0A2?4">myIdDeleteAll</variable>
<variable id="!X-*UNPMzEuy~Y#t}/dN">dp_Forecast_600W</variable>
<variable id="B$n_|Lt?V?dltG$1=%U!">JSONTable</variable>
<variable id="zqSSt1.lPBrP!prtJp:[">JSONListe</variable>
<variable id="[,noZ+!#R([v)Vli[JAC">counter</variable>
<variable id="9[xS=sH).DKBS8oGN@cs">i</variable>
<variable id="tkH#qcE=H5/_7~OttW5(">tempDatum</variable>
<variable id="Qc{Jo]quM_J722)2(/*i">tempLeistung600W</variable>
</variables>
<block type="procedures_defcustomnoreturn" id="ppt|ajrQncolYtqyk1q1" x="288" y="-337">
<mutation statements="false">
<arg name="id" varid="RtPM2%k{F`%!q{Rk]|a."></arg>
<arg name="ts" varid=";!)T*gf?`G!J~iZ#4,CG"></arg>
<arg name="value" varid="epT$}5hcYx3b^`jz:~#d"></arg>
<arg name="ack" varid="GAGtL,+-C3?x`s;u1nsR"></arg>
<arg name="from" varid="rHJp6FCFj,U],$ysF[xX"></arg>
<arg name="q" varid="p~yp5Fejp5Y|*K$i[(u%"></arg>
</mutation>
<field name="NAME">InsertToHistory</field>
<field name="SCRIPT">bGV0IHN0YXRlbWVudCA9IGANCiAgICBSRVBMQUNFIElOVE8gaW9icm9rZXIudHNfbnVtYmVyIA0KICAgICAgICAoaWQsIHRzLCB2YWwsIGFjaywgX2Zyb20sIHEpIA0KICAgICAgICBWQUxVRVMgKChTRUxFQ1QgaWQgRlJPTSBpb2Jyb2tlci5kYXRhcG9pbnRzIFdIRVJFIG5hbWUgPSAiJHtpZH0iKSwgJHt0c30sICR7dmFsdWV9LCAke2Fja30sICR7ZnJvbX0sICR7cX0pDQpgDQovL2xvZyhzdGF0ZW1lbnQpDQpzZW5kVG8oInNxbC4wIiwgInF1ZXJ5Iiwgc3RhdGVtZW50LCBlID0+IHsNCiAgICBpZiAoZSAmJiBlLmVycm9yKSB7DQogICAgICAgIGxvZyhlLmVycm9yKQ0KICAgIH0gZWxzZSB7DQogICAgICAgIC8vIGxvZygiRG9uZSEiKQ0KICAgIH0NCn0p</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="procedures_defcustomreturn" id="YKZ7]x,bTzIFH|2uVS[r" x="288" y="-312">
<mutation statements="false">
<arg name="x" varid="xr?C%:}F%HR,+baC%W8n"></arg>
</mutation>
<field name="NAME">ReplaceDot</field>
<field name="SCRIPT">cmV0dXJuIHgucmVwbGFjZSgiLiIsIiIpOw==</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="procedures_defcustomreturn" id="f5+e$i!@hdFdP7[JA1^`" x="288" y="-287">
<mutation statements="false">
<arg name="x" varid="xr?C%:}F%HR,+baC%W8n"></arg>
</mutation>
<field name="NAME">ReplaceHyphen</field>
<field name="SCRIPT">cmV0dXJuIHgucmVwbGFjZSgiLy0vZyIsIi4iKTs=</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="procedures_defcustomnoreturn" id="W?BjTQs!pguWw4HPwT)p" x="288" y="-262">
<mutation statements="false">
<arg name="myId" varid="F^DL7ecjBQr1k@hYE+{="></arg>
<arg name="myVAL" varid="d/.bOP=7VlC5/[+=8g/u"></arg>
<arg name="myTS" varid="SL$d6/`ClO6iqfefh5LN"></arg>
</mutation>
<field name="NAME">SendTo_SQL_storeState</field>
<field name="SCRIPT">Ly8gVW5kIHdlcnQgZXJzdGVsbGVuIHdpZSBnZXBsYW50DQpzZW5kVG8oInNxbC4wIiwgInN0b3JlU3RhdGUiLCB7DQovL3NlbmRUbygic3FsLjAiLCAidXBkYXRlIiwgew0KICAgIC8vICJpZCI6ICcwX3VzZXJkYXRhLjAuU29sYXJhbmxhZ2UucHZmb3JlY2FzdCcsDQogICAgImlkIjogbXlJZCwNCiAgICAic3RhdGUiOiB7IA0KICAgICAgICAidmFsIjogbXlWQUwsIA0KICAgICAgICAidHMiOiBteVRTLA0KICAgICAgICAiYWNrIjogdHJ1ZQ0KICAgIH0NCn0sIGFzeW5jIGZ1bmN0aW9uIChyZXN1bHQpIHsNCiAgICAvL2NvbnNvbGUubG9nKHJlc3VsdCk7DQp9KTs=</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="procedures_defcustomnoreturn" id="m.]d6DR4hIR|rhM`P3KU" x="288" y="-237">
<mutation statements="false">
<arg name="myIdDeleteAll" varid="eF:WEr]2Ns:niv]0A2?4"></arg>
</mutation>
<field name="NAME">SendTo_SQL_deleteAll</field>
<field name="SCRIPT">Ly8gQWxsZXMgbMO2c2NoZW4NCnNlbmRUbygic3FsLjAiLCAiZGVsZXRlQWxsIiwgew0KICAgIC8vICJpZCI6ICcwX3VzZXJkYXRhLjAuU29sYXJhbmxhZ2UucHZmb3JlY2FzdCcsDQogICAgImlkIjogbXlJZERlbGV0ZUFsbCwNCn0sIGFzeW5jIGZ1bmN0aW9uIChyZXN1bHQpIHsNCiAgICAgIC8vY29uc29sZS5sb2cocmVzdWx0KTsNCn0pOw0K</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="comment" id="emF90N[xA].w:e$0a5`A" x="288" y="-187">
<field name="COMMENT">Trigger auf den Datenpunkt JSONTable der</field>
<next>
<block type="comment" id="v|g5R@PBSlfR{}gqtWR1">
<field name="COMMENT">gewünschten Anlage</field>
<next>
<block type="variables_set" id="IK$-$m]~F![8fw3OLm2r">
<field name="VAR" id="!X-*UNPMzEuy~Y#t}/dN">dp_Forecast_600W</field>
<value name="VALUE">
<block type="text" id="-u)LAh^;Kq(U?ig^gOnf">
<field name="TEXT">0_userdata.0.Solaranlage.pvforecasts.Forecast_solar.600W</field>
</block>
</value>
<next>
<block type="on_ext" id="2}81gNSPn48mxt-C32N3">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="$fUC/kgh^7[pBZjds,[N">
<field name="oid">default</field>
</shadow>
<block type="text" id="Q~[~L7`?jff9w0!|{R!~">
<field name="TEXT">pvforecast.0.summary.JSONTable</field>
</block>
</value>
<statement name="STATEMENT">
<block type="comment" id="xipk,Q4m/$Zbq(9xP]N;">
<field name="COMMENT">Den JSON in eine Variable als Objekt holen</field>
<next>
<block type="variables_set" id="9le8nB_}E+{=^zh:Futa">
<field name="VAR" id="B$n_|Lt?V?dltG$1=%U!">JSONTable</field>
<value name="VALUE">
<block type="convert_json2object" id="C^`)6e!W4atd.!+{(i`D">
<value name="VALUE">
<block type="get_value_var" id="CX?q]Gc8j[Ks2F4.yc=c">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text" id="Y:eexHcUNi5aP`=sh5_;">
<field name="TEXT"></field>
</shadow>
<block type="text" id="2yV92%k{c@aR$t@FV|VK">
<field name="TEXT">pvforecast.0.summary.JSONTable</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="78{/(q^zo:Vm3)}YeMKs">
<field name="COMMENT">Den JSON nochmal als Liste</field>
<next>
<block type="variables_set" id="$C:;|F_ENe?Kc{f9E*tE">
<field name="VAR" id="zqSSt1.lPBrP!prtJp:[">JSONListe</field>
<value name="VALUE">
<block type="lists_split" id=":4[[9BsVwSu-#SFS/qp#">
<mutation mode="SPLIT"></mutation>
<field name="MODE">SPLIT</field>
<value name="INPUT">
<block type="get_value_var" id="k${_LxJlQ~Jc%^8mQ;J3">
<field name="ATTR">val</field>
<value name="OID">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="text" id="@(LLEO9DcZC_107PY7e;">
<field name="TEXT">pvforecast.0.summary.JSONTable</field>
</block>
</value>
</block>
</value>
<value name="DELIM">
<shadow type="text" id="_=ir)--C~K.5!,@3!%@4">
<field name="TEXT">},</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="comment" id="_dDWRwqorhv|K4r20+CF">
<field name="COMMENT">Zähler für die einzelnen Werte</field>
<next>
<block type="variables_set" id="w[HNQFZ(pKC;(LonsppG">
<field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
<value name="VALUE">
<block type="math_number" id="$YD#)Z6].!0wU8:!IFY-">
<field name="NUM">-1</field>
</block>
</value>
<next>
<block type="comment" id="+UxP]UFX*K*Ay8@+.3D(">
<field name="COMMENT">Kurz warten ...</field>
<next>
<block type="timeouts_wait" id="b#[5BCU4#vD.+@RIgxwr">
<field name="DELAY">2</field>
<field name="UNIT">sec</field>
<next>
<block type="comment" id="?qlG@bV1nj7K%h8?`S-h">
<field name="COMMENT">Die Werte abarbeiten:</field>
<next>
<block type="controls_forEach" id="sZ%NhNSxC10sAg@O]Kz6">
<field name="VAR" id="9[xS=sH).DKBS8oGN@cs">i</field>
<value name="LIST">
<block type="variables_get" id="psB3RQ42dmHy[=aKrs!2">
<field name="VAR" id="zqSSt1.lPBrP!prtJp:[">JSONListe</field>
</block>
</value>
<statement name="DO">
<block type="comment" id="0i?Xu2@hUv,g4?;i5Fhl">
<field name="COMMENT">Wird beim ersten mal 0 sein</field>
<next>
<block type="math_change" id="liet[5#L@~`I]t{8:/Es">
<field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
<value name="DELTA">
<shadow type="math_number" id="986qLvCF[J2VK^no0@Rp">
<field name="NUM">1</field>
</shadow>
</value>
<next>
<block type="comment" id="}fPI/Q;fVu7V-uYuX2I+">
<field name="COMMENT">Wir arbeiten die Liste ab, nutzen aber das Objekt!</field>
<next>
<block type="variables_set" id="^w);@i_kdtjWWf?c}BcO">
<field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
<value name="VALUE">
<block type="get_attr" id="jTRbW_-wI4-}.!,5V(VJ">
<value name="PATH">
<shadow type="text" id="3r`W9/~ToEj{Abx:)agx">
<field name="TEXT"></field>
</shadow>
<block type="text_join" id="xoFmSb~Y+xnD;cvM|g;-">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="variables_get" id="K9;4LQ$1S/`at#YY52.j">
<field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="Kkt8qVr.ykp~NV;@{Uas">
<field name="TEXT">.Time</field>
</block>
</value>
</block>
</value>
<value name="OBJECT">
<block type="variables_get" id="`-rw74I`kqylUWgeH*+(">
<field name="VAR" id="B$n_|Lt?V?dltG$1=%U!">JSONTable</field>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="b?]P+H9BwqfkDRv$/:j(">
<field name="COMMENT">Die - in . umwandeln</field>
<next>
<block type="variables_set" id="k@v15A-cYpf/vbpRa;_z">
<field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
<value name="VALUE">
<block type="procedures_callcustomreturn" id="p[kw(;yI)pXBjjzD#D)~">
<mutation name="ReplaceHyphen">
<arg name="x"></arg>
</mutation>
<value name="ARG0">
<block type="variables_get" id="N)h=(1TR`.9#96=m?A0Y">
<field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="I-6Pjzc2in5fU|/L@xLT">
<field name="COMMENT">In ein Datum-Objekt umwandeln</field>
<next>
<block type="variables_set" id="FsILBORsaLrrazBi1L)J">
<field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
<value name="VALUE">
<block type="convert_from_date" id="4bbw}ZJhpHe}e.*nJ0`M">
<mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
<field name="OPTION">object</field>
<value name="VALUE">
<block type="variables_get" id="RjC;=Ac;nPHFrHCNt$SG">
<field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="?/.AjS+{19mE_EhC6?{%">
<field name="COMMENT">Leistungswerte holen</field>
<next>
<block type="variables_set" id="Bs]rzL5Ou(TgO8/9n(?c">
<field name="VAR" id="Qc{Jo]quM_J722)2(/*i">tempLeistung600W</field>
<value name="VALUE">
<block type="convert_tonumber" id="tMmS$h!@}Ow%t)=ItX0,">
<value name="VALUE">
<block type="procedures_callcustomreturn" id="d8ICH/{6V[$h=0#xy+i^">
<mutation name="ReplaceDot">
<arg name="x"></arg>
</mutation>
<value name="ARG0">
<block type="get_attr" id="]yk~Vja4R|8vn@1,V]/O">
<value name="PATH">
<shadow type="text" id="S|8FNN7w6)sBHuhiephR">
<field name="TEXT"></field>
</shadow>
<block type="text_join" id="50|S}#qaQ?XsjIlp$eUH">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="variables_get" id="89zd[}sNs{07o$(Q`/Wv">
<field name="VAR" id="[,noZ+!#R([v)Vli[JAC">counter</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="Q:K|d_%wW60Lz}|pyP,X">
<field name="TEXT">.600W</field>
</block>
</value>
</block>
</value>
<value name="OBJECT">
<block type="variables_get" id="en([*{/z)4M*6nR%,jHM">
<field name="VAR" id="B$n_|Lt?V?dltG$1=%U!">JSONTable</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id=".r}c.6$[JDf=.|#00pZj">
<field name="COMMENT">Und in die Datenbank schreiben</field>
<next>
<block type="procedures_callcustomnoreturn" id="M^AAkuV`a@Z.)aHzF*cS" inline="false">
<mutation name="InsertToHistory">
<arg name="id"></arg>
<arg name="ts"></arg>
<arg name="value"></arg>
<arg name="ack"></arg>
<arg name="from"></arg>
<arg name="q"></arg>
</mutation>
<value name="ARG0">
<block type="variables_get" id="5);}w+nl3mmT2P1)PfZv">
<field name="VAR" id="!X-*UNPMzEuy~Y#t}/dN">dp_Forecast_600W</field>
</block>
</value>
<value name="ARG1">
<block type="variables_get" id="r(_ZS`H9#9L[XZBs,r2o">
<field name="VAR" id="tkH#qcE=H5/_7~OttW5(">tempDatum</field>
</block>
</value>
<value name="ARG2">
<block type="variables_get" id="PVq;+vyh]6](gm[cMdG{">
<field name="VAR" id="Qc{Jo]quM_J722)2(/*i">tempLeistung600W</field>
</block>
</value>
<value name="ARG3">
<block type="math_number" id="`F,$`peh0`2grx8z0C{I">
<field name="NUM">1</field>
</block>
</value>
<value name="ARG4">
<block type="math_number" id="F,vah,1EQo9C4e6~J:(n">
<field name="NUM">1</field>
</block>
</value>
<value name="ARG5">
<block type="math_number" id=";,x`))M,iJvBaeR@3UPZ">
<field name="NUM">0</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>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>
Die Version nutzt den Datenpunkt pvforecast.0.summary.JSONTable
, da werden alle vorhandenen Anlagen in einem Datenpunkt bereit gestellt. Den sollte es auch geben wenn du nur eine Anlage hast. Bei Bedarf könnte man das Skript auf mehrere Anlagen erweitern.
Zum "Setup":
Da muss dein Zieldatenpunkt rein, also wohin geschrieben werden soll:
Und hier musst du die .600W
durch den Namen deiner Anlage ändern, also den Namen den du gewählt hast. Vermutlich .sonnenschein
Und - wenn es läuft - könntest du in allen Variablen die eine 600W im Namen haben dieses durch Sonnenschein ersetzen.
Hallo noch mal:
Ich habe jetzt noch mal als Datenquelle auf die json Tabelle meiner Anlage im Blockly geändert, dann habe ich sofort wieder den Fehler mit dem Hinweis auf Replace Methode.
Hier der Inhalt aus json Tabelle Summery
[{"Time":"2022-10-30 08:07:00","Total":"0","Sonnenschein":"0"},{"Time":"2022-10-30 09:00:00","Total":"2.747","Sonnenschein":"2.747"},{"Time":"2022-10-30 10:00:00","Total":"4.139","Sonnenschein":"4.139"},{"Time":"2022-10-30 11:00:00","Total":"4.964","Sonnenschein":"4.964"},{"Time":"2022-10-30 12:00:00","Total":"5.168","Sonnenschein":"5.168"},{"Time":"2022-10-30 13:00:00","Total":"4.757","Sonnenschein":"4.757"},{"Time":"2022-10-30 14:00:00","Total":"4.102","Sonnenschein":"4.102"},{"Time":"2022-10-30 15:00:00","Total":"3.034","Sonnenschein":"3.034"},{"Time":"2022-10-30 16:00:00","Total":"1.458","Sonnenschein":"1.458"},{"Time":"2022-10-30 17:00:00","Total":"465","Sonnenschein":"465"},{"Time":"2022-10-30 17:54:00","Total":"0","Sonnenschein":"0"},{"Time":"2022-10-31 07:09:00","Total":"0","Sonnenschein":"0"},{"Time":"2022-10-31 08:00:00","Total":"181","Sonnenschein":"181"},{"Time":"2022-10-31 09:00:00","Total":"700","Sonnenschein":"700"},{"Time":"2022-10-31 10:00:00","Total":"1.321","Sonnenschein":"1.321"},{"Time":"2022-10-31 11:00:00","Total":"1.399","Sonnenschein":"1.399"},{"Time":"2022-10-31 12:00:00","Total":"1.269","Sonnenschein":"1.269"},{"Time":"2022-10-31 13:00:00","Total":"925","Sonnenschein":"925"},{"Time":"2022-10-31 14:00:00","Total":"508","Sonnenschein":"508"},{"Time":"2022-10-31 15:00:00","Total":"186","Sonnenschein":"186"},{"Time":"2022-10-31 16:00:00","Total":"35","Sonnenschein":"35"},{"Time":"2022-10-31 16:52:00","Total":"0","Sonnenschein":"0"}]
und hier der Inhalt json Tabelle plant
[{"Time":"2022-10-30 08:07:00","Power":"0"},{"Time":"2022-10-30 09:00:00","Power":"2.747"},{"Time":"2022-10-30 10:00:00","Power":"4.139"},{"Time":"2022-10-30 11:00:00","Power":"4.964"},{"Time":"2022-10-30 12:00:00","Power":"5.168"},{"Time":"2022-10-30 13:00:00","Power":"4.757"},{"Time":"2022-10-30 14:00:00","Power":"4.102"},{"Time":"2022-10-30 15:00:00","Power":"3.034"},{"Time":"2022-10-30 16:00:00","Power":"1.458"},{"Time":"2022-10-30 17:00:00","Power":"465"},{"Time":"2022-10-30 17:54:00","Power":"0"},{"Time":"2022-10-31 07:09:00","Power":"0"},{"Time":"2022-10-31 08:00:00","Power":"181"},{"Time":"2022-10-31 09:00:00","Power":"700"},{"Time":"2022-10-31 10:00:00","Power":"1.321"},{"Time":"2022-10-31 11:00:00","Power":"1.399"},{"Time":"2022-10-31 12:00:00","Power":"1.269"},{"Time":"2022-10-31 13:00:00","Power":"925"},{"Time":"2022-10-31 14:00:00","Power":"508"},{"Time":"2022-10-31 15:00:00","Power":"186"},{"Time":"2022-10-31 16:00:00","Power":"35"},{"Time":"2022-10-31 16:52:00","Power":"0"}]
Klar die Inhalte sind unterschiedlich, aber ich sehe kein Unterschied im json Aufbau warum die replace Methode nicht funktioniert!?
Der Pfad zu meinem Anlagen Objekt: pvforecast.1.plants.sonnenschein.JSONTable
Der Pfad zum Summery Objekt: pvforecast.1.summary.JSONTable