Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test PV Forecast Adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Test PV Forecast Adapter

Scheduled Pinned Locked Moved Tester
forecastphotovoltaik
881 Posts 114 Posters 284.4k Views 108 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BananaJoeB BananaJoe

    @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:
    3d909e16-9830-482e-afc2-36a7501a59b3-image.png

    Und hier musst du die .600W durch den Namen deiner Anlage ändern, also den Namen den du gewählt hast. Vermutlich .sonnenschein
    64a0cf07-7bf8-45fc-b072-49dd549124e6-image.png

    Und - wenn es läuft - könntest du in allen Variablen die eine 600W im Namen haben dieses durch Sonnenschein ersetzen.

    sonnenscheinS Online
    sonnenscheinS Online
    sonnenschein
    wrote on last edited by sonnenschein
    #539

    @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:
    3d909e16-9830-482e-afc2-36a7501a59b3-image.png

    Und hier musst du die .600W durch den Namen deiner Anlage ändern, also den Namen den du gewählt hast. Vermutlich .sonnenschein
    64a0cf07-7bf8-45fc-b072-49dd549124e6-image.png

    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

    PlatformBetriebssystem:linux Architektur:arm64 CPUs:4 Geschwindigkeit:1800 MHz Modell:Cortex-A72
    RAM:3.7 GB System-Betriebszeit:00:19:02 Node.js:v20.18.0
    _nodeCurrent:20.18.0
    _npmCurrent:10.8.2
    Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.6.57-v8+

    BananaJoeB 1 Reply Last reply
    0
    • sonnenscheinS sonnenschein

      @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:
      3d909e16-9830-482e-afc2-36a7501a59b3-image.png

      Und hier musst du die .600W durch den Namen deiner Anlage ändern, also den Namen den du gewählt hast. Vermutlich .sonnenschein
      64a0cf07-7bf8-45fc-b072-49dd549124e6-image.png

      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

      BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      wrote on last edited by
      #540

      @sonnenschein GROß und kleinschreibung passt? die .600 muss .Sonnenschein sein bei Block "setze tempLeistung600W"

      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

      sonnenscheinS 1 Reply Last reply
      0
      • BananaJoeB BananaJoe

        @sonnenschein GROß und kleinschreibung passt? die .600 muss .Sonnenschein sein bei Block "setze tempLeistung600W"

        sonnenscheinS Online
        sonnenscheinS Online
        sonnenschein
        wrote on last edited by sonnenschein
        #541

        @bananajoe sagte in Test PV Forecast Adapter:

        Sollte so passen:
        TeilBlockly.png

        ...und im PVForecastadpater habe ich die Leistung auf W statt kw gestellt. Im alten Blockly war da glaube ich die Umrechnung drin. Weil bei W statt KW kommt dann der Punkt in den Werten zum tragen. Oder, bin mir nicht ganz so sicher. Aber mit dem Summery scheint das ganze ja zu funktionieren.

        PlatformBetriebssystem:linux Architektur:arm64 CPUs:4 Geschwindigkeit:1800 MHz Modell:Cortex-A72
        RAM:3.7 GB System-Betriebszeit:00:19:02 Node.js:v20.18.0
        _nodeCurrent:20.18.0
        _npmCurrent:10.8.2
        Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.6.57-v8+

        BananaJoeB 1 Reply Last reply
        0
        • sonnenscheinS sonnenschein

          @bananajoe sagte in Test PV Forecast Adapter:

          Sollte so passen:
          TeilBlockly.png

          ...und im PVForecastadpater habe ich die Leistung auf W statt kw gestellt. Im alten Blockly war da glaube ich die Umrechnung drin. Weil bei W statt KW kommt dann der Punkt in den Werten zum tragen. Oder, bin mir nicht ganz so sicher. Aber mit dem Summery scheint das ganze ja zu funktionieren.

          BananaJoeB Online
          BananaJoeB Online
          BananaJoe
          Most Active
          wrote on last edited by
          #542

          @sonnenschein ob kW oder W kannst du ja im Skript ergänzen - bei meiner kleine Anlage reichen halt W
          Wenn es gut aussieht passt es 🙂

          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

          sonnenscheinS 1 Reply Last reply
          0
          • BananaJoeB BananaJoe

            @sonnenschein ob kW oder W kannst du ja im Skript ergänzen - bei meiner kleine Anlage reichen halt W
            Wenn es gut aussieht passt es 🙂

            sonnenscheinS Online
            sonnenscheinS Online
            sonnenschein
            wrote on last edited by
            #543

            @bananajoe
            ja in die SQL DB werden keine Kommawerte geschrieben, deshalb KW Darstellung ungenügend.
            Mit den Watt paßt das schon.

            SQL.png

            PlatformBetriebssystem:linux Architektur:arm64 CPUs:4 Geschwindigkeit:1800 MHz Modell:Cortex-A72
            RAM:3.7 GB System-Betriebszeit:00:19:02 Node.js:v20.18.0
            _nodeCurrent:20.18.0
            _npmCurrent:10.8.2
            Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.6.57-v8+

            1 Reply Last reply
            0
            • sonnenscheinS Online
              sonnenscheinS Online
              sonnenschein
              wrote on last edited by sonnenschein
              #544

              @sonnenschein sagte in Test PV Forecast Adapter:

              @bananajoe
              ja in die SQL DB werden keine Kommawerte geschrieben, deshalb KW Darstellung ungenügend.
              Mit den Watt paßt das schon.

              SQL.png

              Habe im Blockly mal Debug Bausteine eingebaut.
              Demnach steht eine Kommazahl in json Tabelle aber die Variable Leistungswert holen tempLeistungSonnenschein ist ohne Kommastelle!
              2022_10_30 19_35_38-Window.png

              2022_10_30 19_36_40-Window.png

              Hast da jemand deine Erklärung?

              Warum die json Tabelle meiner Einzelanlage nicht funktioniert, scheint daran zu liegen das in der Tabelle kein Anlagenname steht! Also in Summery steht der "Sonnenschein" als Anlagenname , in der Tabelle unter plants aber nicht! da steht nur Power! Habe das im Blockly angepaßt und dann kommt auch kein REPLACE Fehler wie oben beschrieben.
              ac6a3edf-f4e2-4369-b8c8-593831da72da-image.png

              PlatformBetriebssystem:linux Architektur:arm64 CPUs:4 Geschwindigkeit:1800 MHz Modell:Cortex-A72
              RAM:3.7 GB System-Betriebszeit:00:19:02 Node.js:v20.18.0
              _nodeCurrent:20.18.0
              _npmCurrent:10.8.2
              Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.6.57-v8+

              BananaJoeB 1 Reply Last reply
              0
              • sonnenscheinS sonnenschein

                @sonnenschein sagte in Test PV Forecast Adapter:

                @bananajoe
                ja in die SQL DB werden keine Kommawerte geschrieben, deshalb KW Darstellung ungenügend.
                Mit den Watt paßt das schon.

                SQL.png

                Habe im Blockly mal Debug Bausteine eingebaut.
                Demnach steht eine Kommazahl in json Tabelle aber die Variable Leistungswert holen tempLeistungSonnenschein ist ohne Kommastelle!
                2022_10_30 19_35_38-Window.png

                2022_10_30 19_36_40-Window.png

                Hast da jemand deine Erklärung?

                Warum die json Tabelle meiner Einzelanlage nicht funktioniert, scheint daran zu liegen das in der Tabelle kein Anlagenname steht! Also in Summery steht der "Sonnenschein" als Anlagenname , in der Tabelle unter plants aber nicht! da steht nur Power! Habe das im Blockly angepaßt und dann kommt auch kein REPLACE Fehler wie oben beschrieben.
                ac6a3edf-f4e2-4369-b8c8-593831da72da-image.png

                BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                wrote on last edited by BananaJoe
                #545

                @sonnenschein weil SQL das mit Punkt statt Komma haben will?
                Man müsste noch einen Replace machen, sind ja 2 Beispiele dafür drin (Ich hatte eine extra JavaScript Funktion genommen weil ich die nativen Blockly Wege sehr umständlich fand, in JavaScript ist es ein Einzeiler)

                Ich hab es nicht richtig gelesen.

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                sonnenscheinS 1 Reply Last reply
                0
                • BananaJoeB BananaJoe

                  @sonnenschein weil SQL das mit Punkt statt Komma haben will?
                  Man müsste noch einen Replace machen, sind ja 2 Beispiele dafür drin (Ich hatte eine extra JavaScript Funktion genommen weil ich die nativen Blockly Wege sehr umständlich fand, in JavaScript ist es ein Einzeiler)

                  Ich hab es nicht richtig gelesen.

                  sonnenscheinS Online
                  sonnenscheinS Online
                  sonnenschein
                  wrote on last edited by sonnenschein
                  #546

                  @bananajoe
                  Hallo BananaJoe!
                  Ich habe meinen Adapter noch mal auf KW statt W umgestellt.

                  Die Werte werden dann als Kommazahl im json dargestellt

                  [{"Time":"2022-11-01 07:11:00","Power":"0,000"},{"Time":"2022-11-01 08:00:00","Power":"0,010"},{"Time":"2022-11-01 09:00:00","Power":"0,065"},{"Time":"2022-11-01 10:00:00","Power":"0,130"},{"Time":"2022-11-01 11:00:00","Power":"2,004"},{"Time":"2022-11-01 12:00:00","Power":"3,986"},{"Time":"2022-11-01 13:00:00","Power":"4,769"},{"Time":"2022-11-01 14:00:00","Power":"4,433"},{"Time":"2022-11-01 15:00:00","Power":"3,079"},{"Time":"2022-11-01 16:00:00","Power":"1,663"},{"Time":"2022-11-01 16:51:00","Power":"0,000"},{"Time":"2022-11-02 07:13:00","Power":"0,000"},{"Time":"2022-11-02 08:00:00","Power":"1,179"},{"Time":"2022-11-02 09:00:00","Power":"3,049"},{"Time":"2022-11-02 10:00:00","Power":"4,314"},{"Time":"2022-11-02 11:00:00","Power":"5,254"},{"Time":"2022-11-02 12:00:00","Power":"5,109"},{"Time":"2022-11-02 13:00:00","Power":"4,829"},{"Time":"2022-11-02 14:00:00","Power":"4,644"},{"Time":"2022-11-02 15:00:00","Power":"3,027"},{"Time":"2022-11-02 16:00:00","Power":"1,493"},{"Time":"2022-11-02 16:49:00","Power":"0,000"}]
                  

                  Ich verstehe aber Deine Blockly Zeile evtl. noch nicht richtig.

                  2022_11_01 18_04_03-Window.png

                  Die Funktion "Replace Dot" wirkt nicht, da es keinen Punkt gibt. OK
                  Wenn ich zwischen "Replace DOT" und "nach Zahl" einen addierer mit 0.001 einbaue, bekomme ich auch eine Kommazahl in meiner Variablen angezeigt. Also scheint doch die Kommastelle oder das Komma aus dem json nicht gelesen zu werden. Oder bin ich auf dem Holzweg?
                  Evtl hast Du hier noch eine Idee?
                  Erst mal lasse ich den Adapter auf Watt stehen damit es erst mal läuft.

                  2022_11_01 18_11_10-Window.png

                  2022_11_01 18_11_39-Window.png

                  PlatformBetriebssystem:linux Architektur:arm64 CPUs:4 Geschwindigkeit:1800 MHz Modell:Cortex-A72
                  RAM:3.7 GB System-Betriebszeit:00:19:02 Node.js:v20.18.0
                  _nodeCurrent:20.18.0
                  _npmCurrent:10.8.2
                  Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.6.57-v8+

                  BananaJoeB haus-automatisierungH 2 Replies Last reply
                  0
                  • sonnenscheinS sonnenschein

                    @bananajoe
                    Hallo BananaJoe!
                    Ich habe meinen Adapter noch mal auf KW statt W umgestellt.

                    Die Werte werden dann als Kommazahl im json dargestellt

                    [{"Time":"2022-11-01 07:11:00","Power":"0,000"},{"Time":"2022-11-01 08:00:00","Power":"0,010"},{"Time":"2022-11-01 09:00:00","Power":"0,065"},{"Time":"2022-11-01 10:00:00","Power":"0,130"},{"Time":"2022-11-01 11:00:00","Power":"2,004"},{"Time":"2022-11-01 12:00:00","Power":"3,986"},{"Time":"2022-11-01 13:00:00","Power":"4,769"},{"Time":"2022-11-01 14:00:00","Power":"4,433"},{"Time":"2022-11-01 15:00:00","Power":"3,079"},{"Time":"2022-11-01 16:00:00","Power":"1,663"},{"Time":"2022-11-01 16:51:00","Power":"0,000"},{"Time":"2022-11-02 07:13:00","Power":"0,000"},{"Time":"2022-11-02 08:00:00","Power":"1,179"},{"Time":"2022-11-02 09:00:00","Power":"3,049"},{"Time":"2022-11-02 10:00:00","Power":"4,314"},{"Time":"2022-11-02 11:00:00","Power":"5,254"},{"Time":"2022-11-02 12:00:00","Power":"5,109"},{"Time":"2022-11-02 13:00:00","Power":"4,829"},{"Time":"2022-11-02 14:00:00","Power":"4,644"},{"Time":"2022-11-02 15:00:00","Power":"3,027"},{"Time":"2022-11-02 16:00:00","Power":"1,493"},{"Time":"2022-11-02 16:49:00","Power":"0,000"}]
                    

                    Ich verstehe aber Deine Blockly Zeile evtl. noch nicht richtig.

                    2022_11_01 18_04_03-Window.png

                    Die Funktion "Replace Dot" wirkt nicht, da es keinen Punkt gibt. OK
                    Wenn ich zwischen "Replace DOT" und "nach Zahl" einen addierer mit 0.001 einbaue, bekomme ich auch eine Kommazahl in meiner Variablen angezeigt. Also scheint doch die Kommastelle oder das Komma aus dem json nicht gelesen zu werden. Oder bin ich auf dem Holzweg?
                    Evtl hast Du hier noch eine Idee?
                    Erst mal lasse ich den Adapter auf Watt stehen damit es erst mal läuft.

                    2022_11_01 18_11_10-Window.png

                    2022_11_01 18_11_39-Window.png

                    BananaJoeB Online
                    BananaJoeB Online
                    BananaJoe
                    Most Active
                    wrote on last edited by
                    #547

                    @sonnenschein ReplaceDot macht ja aus dem Punkt ein "", also nichts .... ich meine das wegen 1.000 Zeichen notwendig.
                    Kann bei dir also raus, schadet aber auch nicht.
                    Wenn du aus dem , einen Punkt brauchts so schau dir die Funktion an:

                    return x.replace(",",".");
                    

                    würde aus Kommas dann Punkte machen.

                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    1 Reply Last reply
                    0
                    • sonnenscheinS sonnenschein

                      @bananajoe
                      Hallo BananaJoe!
                      Ich habe meinen Adapter noch mal auf KW statt W umgestellt.

                      Die Werte werden dann als Kommazahl im json dargestellt

                      [{"Time":"2022-11-01 07:11:00","Power":"0,000"},{"Time":"2022-11-01 08:00:00","Power":"0,010"},{"Time":"2022-11-01 09:00:00","Power":"0,065"},{"Time":"2022-11-01 10:00:00","Power":"0,130"},{"Time":"2022-11-01 11:00:00","Power":"2,004"},{"Time":"2022-11-01 12:00:00","Power":"3,986"},{"Time":"2022-11-01 13:00:00","Power":"4,769"},{"Time":"2022-11-01 14:00:00","Power":"4,433"},{"Time":"2022-11-01 15:00:00","Power":"3,079"},{"Time":"2022-11-01 16:00:00","Power":"1,663"},{"Time":"2022-11-01 16:51:00","Power":"0,000"},{"Time":"2022-11-02 07:13:00","Power":"0,000"},{"Time":"2022-11-02 08:00:00","Power":"1,179"},{"Time":"2022-11-02 09:00:00","Power":"3,049"},{"Time":"2022-11-02 10:00:00","Power":"4,314"},{"Time":"2022-11-02 11:00:00","Power":"5,254"},{"Time":"2022-11-02 12:00:00","Power":"5,109"},{"Time":"2022-11-02 13:00:00","Power":"4,829"},{"Time":"2022-11-02 14:00:00","Power":"4,644"},{"Time":"2022-11-02 15:00:00","Power":"3,027"},{"Time":"2022-11-02 16:00:00","Power":"1,493"},{"Time":"2022-11-02 16:49:00","Power":"0,000"}]
                      

                      Ich verstehe aber Deine Blockly Zeile evtl. noch nicht richtig.

                      2022_11_01 18_04_03-Window.png

                      Die Funktion "Replace Dot" wirkt nicht, da es keinen Punkt gibt. OK
                      Wenn ich zwischen "Replace DOT" und "nach Zahl" einen addierer mit 0.001 einbaue, bekomme ich auch eine Kommazahl in meiner Variablen angezeigt. Also scheint doch die Kommastelle oder das Komma aus dem json nicht gelesen zu werden. Oder bin ich auf dem Holzweg?
                      Evtl hast Du hier noch eine Idee?
                      Erst mal lasse ich den Adapter auf Watt stehen damit es erst mal läuft.

                      2022_11_01 18_11_10-Window.png

                      2022_11_01 18_11_39-Window.png

                      haus-automatisierungH Online
                      haus-automatisierungH Online
                      haus-automatisierung
                      Developer Most Active
                      wrote on last edited by haus-automatisierung
                      #548

                      @sonnenschein sagte in Test PV Forecast Adapter:

                      Die Werte werden dann als Kommazahl im json dargestellt

                      Das von Dir verwendete JSON (wahrscheinlich pvforecast.0.summary.JSONTable ?) ist gar nicht für die weitere Verarbeitung gedacht! Das ist zur Darstellung in einer (wie der Name vermuten lässt) VIS-Tabelle gedacht.

                      Daher liegen in diesem JSON die Daten formatiert (als String) vor. Und zwar in dem Format, wie es in den Systemeinstellungen hinterlegt ist. So wird aus dem Punkt ein Komma usw. Es wäre totaler Quatsch, das jetzt wieder zurück zu formatieren um es in eine Datenbank zu schreiben!

                      Bitte nutze den Datenpunkt pvforecast.0.summary.JSONData um damit weiter zu rechnen oder die Daten in eine Datenbank zu übertragen.

                      @bananajoe sagte in Test PV Forecast Adapter:

                      ReplaceDot macht ja aus dem Punkt ein "", also nichts .... ich meine das wegen 1.000 Zeichen notwendig.

                      Wenn man mit den Daten aus JSONData arbeitet, dann muss man gar nix ersetzen. Kein Komma, keine Tausender-Trennzeichen.

                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                      📚 Meine inoffizielle ioBroker Dokumentation

                      BananaJoeB 1 Reply Last reply
                      0
                      • haus-automatisierungH haus-automatisierung

                        @sonnenschein sagte in Test PV Forecast Adapter:

                        Die Werte werden dann als Kommazahl im json dargestellt

                        Das von Dir verwendete JSON (wahrscheinlich pvforecast.0.summary.JSONTable ?) ist gar nicht für die weitere Verarbeitung gedacht! Das ist zur Darstellung in einer (wie der Name vermuten lässt) VIS-Tabelle gedacht.

                        Daher liegen in diesem JSON die Daten formatiert (als String) vor. Und zwar in dem Format, wie es in den Systemeinstellungen hinterlegt ist. So wird aus dem Punkt ein Komma usw. Es wäre totaler Quatsch, das jetzt wieder zurück zu formatieren um es in eine Datenbank zu schreiben!

                        Bitte nutze den Datenpunkt pvforecast.0.summary.JSONData um damit weiter zu rechnen oder die Daten in eine Datenbank zu übertragen.

                        @bananajoe sagte in Test PV Forecast Adapter:

                        ReplaceDot macht ja aus dem Punkt ein "", also nichts .... ich meine das wegen 1.000 Zeichen notwendig.

                        Wenn man mit den Daten aus JSONData arbeitet, dann muss man gar nix ersetzen. Kein Komma, keine Tausender-Trennzeichen.

                        BananaJoeB Online
                        BananaJoeB Online
                        BananaJoe
                        Most Active
                        wrote on last edited by
                        #549

                        @haus-automatisierung sagte in Test PV Forecast Adapter:

                        Das von Dir verwendete JSON (wahrscheinlich pvforecast.0.summary.JSONTable ?) ist gar nicht für die weitere Verarbeitung gedacht! Das ist zur Darstellung in einer (wie der Name vermuten lässt) VIS-Tabelle gedacht.

                        Daher liegen in diesem JSON die Daten formatiert (als String) vor. Und zwar in dem Format, wie es in den Systemeinstellungen hinterlegt ist. So wird aus dem Punkt ein Komma usw. Es wäre totaler Quatsch, das jetzt wieder zurück zu formatieren um es in eine Datenbank zu schreiben!

                        Bitte nutze den Datenpunkt pvforecast.0.summary.JSONData um damit weiter zu rechnen oder die Daten in eine Datenbank zu übertragen.

                        Da hast du recht, das der Datenpunkt dafür nicht gedacht ist, ist mir bewusst und aus der Historie gewachsen.
                        Ich schau mir den anderen Datenpunkt einmal an und baue mein Skript dann mal um.

                        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                        haus-automatisierungH 1 Reply Last reply
                        0
                        • BananaJoeB BananaJoe

                          @haus-automatisierung sagte in Test PV Forecast Adapter:

                          Das von Dir verwendete JSON (wahrscheinlich pvforecast.0.summary.JSONTable ?) ist gar nicht für die weitere Verarbeitung gedacht! Das ist zur Darstellung in einer (wie der Name vermuten lässt) VIS-Tabelle gedacht.

                          Daher liegen in diesem JSON die Daten formatiert (als String) vor. Und zwar in dem Format, wie es in den Systemeinstellungen hinterlegt ist. So wird aus dem Punkt ein Komma usw. Es wäre totaler Quatsch, das jetzt wieder zurück zu formatieren um es in eine Datenbank zu schreiben!

                          Bitte nutze den Datenpunkt pvforecast.0.summary.JSONData um damit weiter zu rechnen oder die Daten in eine Datenbank zu übertragen.

                          Da hast du recht, das der Datenpunkt dafür nicht gedacht ist, ist mir bewusst und aus der Historie gewachsen.
                          Ich schau mir den anderen Datenpunkt einmal an und baue mein Skript dann mal um.

                          haus-automatisierungH Online
                          haus-automatisierungH Online
                          haus-automatisierung
                          Developer Most Active
                          wrote on last edited by
                          #550

                          @bananajoe sagte in Test PV Forecast Adapter:

                          ist mir bewusst und aus der Historie gewachsen.

                          Dann wäre es schon schön, wenn diese Historie nicht auf einer grünen Wiese bei anderen auch wächst 🙂 Hattest Du Dir nicht sogar den anderen Datenpunkt mit den "RAW-Daten" gewünscht?

                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                          📚 Meine inoffizielle ioBroker Dokumentation

                          BananaJoeB 2 Replies Last reply
                          1
                          • haus-automatisierungH haus-automatisierung

                            @bananajoe sagte in Test PV Forecast Adapter:

                            ist mir bewusst und aus der Historie gewachsen.

                            Dann wäre es schon schön, wenn diese Historie nicht auf einer grünen Wiese bei anderen auch wächst 🙂 Hattest Du Dir nicht sogar den anderen Datenpunkt mit den "RAW-Daten" gewünscht?

                            BananaJoeB Online
                            BananaJoeB Online
                            BananaJoe
                            Most Active
                            wrote on last edited by
                            #551

                            @haus-automatisierung jepp, aber weil es ja gerade lief noch nicht umgesetzt.

                            ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                            1 Reply Last reply
                            0
                            • haus-automatisierungH haus-automatisierung

                              @bananajoe sagte in Test PV Forecast Adapter:

                              ist mir bewusst und aus der Historie gewachsen.

                              Dann wäre es schon schön, wenn diese Historie nicht auf einer grünen Wiese bei anderen auch wächst 🙂 Hattest Du Dir nicht sogar den anderen Datenpunkt mit den "RAW-Daten" gewünscht?

                              BananaJoeB Online
                              BananaJoeB Online
                              BananaJoe
                              Most Active
                              wrote on last edited by
                              #552

                              @haus-automatisierung öhm, ich weis jetzt wieder warum ich die

                              pvforecast.0.summary.JSONData
                              

                              Datenpunkte nicht nutze - weil da nicht genug drin steht ... da steht nur Total drin?

                              pvforecast.0.summary.JSONData:

                              [
                              	{
                              		"t": 1667456580000,
                              		"y": 0
                              	},
                              	{
                              		"t": 1667458800000,
                              		"y": 1
                              	},
                              	{
                              		"t": 1667462400000,
                              		"y": 5
                              	},
                              	{
                              		"t": 1667466000000,
                              		"y": 9
                              	},
                              

                              Und in pvforecast.0.summary.JSONTable:

                              [
                              	{
                              		"Time": "2022-11-03 07:23:00",
                              		"Total": "0",
                              		"600W": "0",
                              		"1500W": "0"
                              	},
                              	{
                              		"Time": "2022-11-03 08:00:00",
                              		"Total": "1",
                              		"600W": "0",
                              		"1500W": "1"
                              	},
                              	{
                              		"Time": "2022-11-03 09:00:00",
                              		"Total": "5",
                              		"600W": "2",
                              		"1500W": "3"
                              	},
                              	{
                              		"Time": "2022-11-03 10:00:00",
                              		"Total": "9",
                              		"600W": "3",
                              		"1500W": "6"
                              	},
                              

                              Da kann ich mir halt sämtliche Anlagen aus einem Datenpunkt holen ...
                              Soll ich einen Request auf GitHub aufmachen?

                              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                              haus-automatisierungH 1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                Maxtor62
                                wrote on last edited by Maxtor62
                                #553

                                Hi Leute,

                                Ich habe den Adapter schon einige Zeit am Laufen und bin nur zufällig auf diesen Thread gestoßen.
                                Erst Mal vielen Dank für Euere Arbeit. Jetzt habe ich ein, zwei Fragen zu dem Adapter. Kann aber auch sein, dass ich mich zu doof anstelle.

                                Ich habe bei den Koordinaten die Werte von den Systemeinstellungen genommen. Leider wird ein Ort in den DP geschrieben, der 6km Luftlinie entfernt ist.

                                Weiter ist die Vorhersage noch weniger als Circa. Es weicht manchmal um etliche KW/h ab.

                                pv-vorcast.PNG

                                Die Version von dem Adapter ist
                                pv-version.PNG

                                Sonnst ist mein System auf dem aktuellen Stand.
                                Grüße

                                Wer meint er ist was, hat aufgehört was zu werden

                                BananaJoeB 1 Reply Last reply
                                0
                                • BananaJoeB BananaJoe

                                  @haus-automatisierung öhm, ich weis jetzt wieder warum ich die

                                  pvforecast.0.summary.JSONData
                                  

                                  Datenpunkte nicht nutze - weil da nicht genug drin steht ... da steht nur Total drin?

                                  pvforecast.0.summary.JSONData:

                                  [
                                  	{
                                  		"t": 1667456580000,
                                  		"y": 0
                                  	},
                                  	{
                                  		"t": 1667458800000,
                                  		"y": 1
                                  	},
                                  	{
                                  		"t": 1667462400000,
                                  		"y": 5
                                  	},
                                  	{
                                  		"t": 1667466000000,
                                  		"y": 9
                                  	},
                                  

                                  Und in pvforecast.0.summary.JSONTable:

                                  [
                                  	{
                                  		"Time": "2022-11-03 07:23:00",
                                  		"Total": "0",
                                  		"600W": "0",
                                  		"1500W": "0"
                                  	},
                                  	{
                                  		"Time": "2022-11-03 08:00:00",
                                  		"Total": "1",
                                  		"600W": "0",
                                  		"1500W": "1"
                                  	},
                                  	{
                                  		"Time": "2022-11-03 09:00:00",
                                  		"Total": "5",
                                  		"600W": "2",
                                  		"1500W": "3"
                                  	},
                                  	{
                                  		"Time": "2022-11-03 10:00:00",
                                  		"Total": "9",
                                  		"600W": "3",
                                  		"1500W": "6"
                                  	},
                                  

                                  Da kann ich mir halt sämtliche Anlagen aus einem Datenpunkt holen ...
                                  Soll ich einen Request auf GitHub aufmachen?

                                  haus-automatisierungH Online
                                  haus-automatisierungH Online
                                  haus-automatisierung
                                  Developer Most Active
                                  wrote on last edited by
                                  #554

                                  @bananajoe Du hast ja pro Plant auch nochmal JSONData. Daher wäre es ja doppelt, das da auch nochmal zu pflegen.

                                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                  📚 Meine inoffizielle ioBroker Dokumentation

                                  BananaJoeB 1 Reply Last reply
                                  0
                                  • haus-automatisierungH haus-automatisierung

                                    @bananajoe Du hast ja pro Plant auch nochmal JSONData. Daher wäre es ja doppelt, das da auch nochmal zu pflegen.

                                    BananaJoeB Online
                                    BananaJoeB Online
                                    BananaJoe
                                    Most Active
                                    wrote on last edited by
                                    #555

                                    @haus-automatisierung ja .... wäre es ..... gilt aber ja auch für JSONTable ...

                                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                    sonnenscheinS 1 Reply Last reply
                                    0
                                    • M Maxtor62

                                      Hi Leute,

                                      Ich habe den Adapter schon einige Zeit am Laufen und bin nur zufällig auf diesen Thread gestoßen.
                                      Erst Mal vielen Dank für Euere Arbeit. Jetzt habe ich ein, zwei Fragen zu dem Adapter. Kann aber auch sein, dass ich mich zu doof anstelle.

                                      Ich habe bei den Koordinaten die Werte von den Systemeinstellungen genommen. Leider wird ein Ort in den DP geschrieben, der 6km Luftlinie entfernt ist.

                                      Weiter ist die Vorhersage noch weniger als Circa. Es weicht manchmal um etliche KW/h ab.

                                      pv-vorcast.PNG

                                      Die Version von dem Adapter ist
                                      pv-version.PNG

                                      Sonnst ist mein System auf dem aktuellen Stand.
                                      Grüße

                                      BananaJoeB Online
                                      BananaJoeB Online
                                      BananaJoe
                                      Most Active
                                      wrote on last edited by
                                      #556

                                      @maxtor62 sagte in Test PV Forecast Adapter:

                                      Weiter ist die Vorhersage noch weniger als Circa. Es weicht manchmal um etliche KW/h ab.

                                      Tja, dann macht deine Anlage nicht was sie machen soll 🤒

                                      Im Sommer passt es eher ... Oder die Anlagendaten "faken", also weniger angeben als wirklich da ist und dann passt es besser.

                                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 44TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=157 Tasmota/Shelly || >=88 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 900/750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                      M 1 Reply Last reply
                                      0
                                      • BananaJoeB BananaJoe

                                        @maxtor62 sagte in Test PV Forecast Adapter:

                                        Weiter ist die Vorhersage noch weniger als Circa. Es weicht manchmal um etliche KW/h ab.

                                        Tja, dann macht deine Anlage nicht was sie machen soll 🤒

                                        Im Sommer passt es eher ... Oder die Anlagendaten "faken", also weniger angeben als wirklich da ist und dann passt es besser.

                                        M Offline
                                        M Offline
                                        Maxtor62
                                        wrote on last edited by Maxtor62
                                        #557

                                        @bananajoe
                                        Super, Danke für die Hilfe 👍

                                        Meine Anlage ist seit 06.2019 am Start und macht genau das was sie soll.

                                        Wer meint er ist was, hat aufgehört was zu werden

                                        1 Reply Last reply
                                        0
                                        • BananaJoeB BananaJoe

                                          @haus-automatisierung ja .... wäre es ..... gilt aber ja auch für JSONTable ...

                                          sonnenscheinS Online
                                          sonnenscheinS Online
                                          sonnenschein
                                          wrote on last edited by sonnenschein
                                          #558

                                          @bananajoe sagte in Test PV Forecast Adapter:

                                          @haus-automatisierung ja .... wäre es ..... gilt aber ja auch für JSONTable ...

                                          Hallo Zusammen!

                                          Ich habe Eure Diskussion verfolgt und mein Problem mit den Datenpunkt und Darstellungen der Prognose noch mal auf den Kopf gestellt.

                                          Erstes Problem welches ich mir eingebaut hatte: Beim Anlegen des Datenpunkt unter Userdata für die SQL Datenbank, hatte ich noch auf archivieren stehen, UND delta Speicherung mit trotzdem alle 3600 Sekunden spichern. Da im Datenpunkt eine 0 stand hat er mir zusätzlich zum Script noch vom SQL Adapter rein geschrieben.

                                          Trotzdem hatte ich dann mit dem Start des Blockly korrekte Daten in der SQL DB in VIS aber nur bis die Zeit der Prognose am nächsten Tag zu Ende war. Das Script hat nicht aktualisiert.
                                          Nach dem ich Stunden mit dem Trigger im Blockly gekämpt habe, habe ich am Ende das Script weggeschmissen und neu angelegt. Anpassungen an meine Anlage bzw. die JSON Tabelle Summery des Adapter.
                                          Seit dem läuft es wieder so wie es soll. Bei Änderung wird in die DB geschrieben. Und die Verbesserung von BananaJoe historische Daten durch das geänderte Schreiben ohne Delete all.

                                          Danke für Eure Diskussion das hat geholfen!

                                          2022_11_13 09_35_25-vis.png

                                          PlatformBetriebssystem:linux Architektur:arm64 CPUs:4 Geschwindigkeit:1800 MHz Modell:Cortex-A72
                                          RAM:3.7 GB System-Betriebszeit:00:19:02 Node.js:v20.18.0
                                          _nodeCurrent:20.18.0
                                          _npmCurrent:10.8.2
                                          Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.6.57-v8+

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          547

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe