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.0k

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

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

Test PV Forecast Adapter

Test PV Forecast Adapter

Scheduled Pinned Locked Moved Tester
forecastphotovoltaik
881 Posts 114 Posters 284.3k 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.
  • B Ben. 0

    Sind die hourly-Werte kWh oder kW und sind die Werte um 18:00:00 Uhr der Ertrag zwischen 17 und 18 Uhr?

    Sorry, mir ist das nicht klar.

    PS: Bei mir sind die Forecast-Werte präziser als Solcast.

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

    @ben-0 sagte in Test PV Forecast Adapter:

    Sind die hourly-Werte kWh oder kW und sind die Werte um 18:00:00 Uhr der Ertrag zwischen 17 und 18 Uhr?

    Eigentlich sollten an allen Datenpunkten die Einheiten stehen.

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

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

      @ben-0 sagte in Test PV Forecast Adapter:

      Sind die hourly-Werte kWh oder kW und sind die Werte um 18:00:00 Uhr der Ertrag zwischen 17 und 18 Uhr?

      Eigentlich sollten an allen Datenpunkten die Einheiten stehen.

      B Offline
      B Offline
      Ben. 0
      wrote on last edited by
      #522

      @haus-automatisierung Ja, es stehen kW dran, aber kW ist dann die Leistung um genau 18:00:00 oder ein Durchschnittswert vor- oder rückwirkend?

      1 Reply Last reply
      0
      • B Ben. 0

        Sind die hourly-Werte kWh oder kW und sind die Werte um 18:00:00 Uhr der Ertrag zwischen 17 und 18 Uhr?

        Sorry, mir ist das nicht klar.

        PS: Bei mir sind die Forecast-Werte präziser als Solcast.

        DiginixD Offline
        DiginixD Offline
        Diginix
        wrote on last edited by Diginix
        #523

        @ben-0 Meiner Meinung nach ist z.B. pvforecast.0.summary.power.hoursToday.08:00:00 der Leistungswert um 8 Uhr und der gilt pauschal bis 9 Uhr.
        Aktuell habe ich um 08:50 Uhr 2600 W Ertrag und pvforecast.0.summary.power.now sagt 1600 W und pvforecast.0.summary.power.hoursToday.09:00:00 sagt 2400 W. Die 8 Uhr Prognose war nur 890 W und real hatte ich 8:00 Uhr 715 W Ertrag.

        Stündliche Energiewerte habe ich mit Solcast nicht. Aber der für z.B. 10 Uhr wären dann die bis 10:00 erreichten kWh.

        ..:: So long! Tom ::..

        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

        B 1 Reply Last reply
        1
        • DiginixD Diginix

          @ben-0 Meiner Meinung nach ist z.B. pvforecast.0.summary.power.hoursToday.08:00:00 der Leistungswert um 8 Uhr und der gilt pauschal bis 9 Uhr.
          Aktuell habe ich um 08:50 Uhr 2600 W Ertrag und pvforecast.0.summary.power.now sagt 1600 W und pvforecast.0.summary.power.hoursToday.09:00:00 sagt 2400 W. Die 8 Uhr Prognose war nur 890 W und real hatte ich 8:00 Uhr 715 W Ertrag.

          Stündliche Energiewerte habe ich mit Solcast nicht. Aber der für z.B. 10 Uhr wären dann die bis 10:00 erreichten kWh.

          B Offline
          B Offline
          Ben. 0
          wrote on last edited by
          #524

          @diginix Super, danke! So kann ich damit arbeiten. Danke dir!

          1 Reply Last reply
          0
          • S Offline
            S Offline
            srwilli
            wrote on last edited by
            #525

            Hallo,
            mein WR kann maximalen Output von 4kw gleichzeitig.
            Kann man das irgendwo berücksichtigen?

            Viele Grüße und Danke

            B 1 Reply Last reply
            0
            • S srwilli

              Hallo,
              mein WR kann maximalen Output von 4kw gleichzeitig.
              Kann man das irgendwo berücksichtigen?

              Viele Grüße und Danke

              B Offline
              B Offline
              Ben. 0
              wrote on last edited by
              #526

              @srwilli Du gibst in den Einstellungen doch die Leistung an. Trag dort doch die 4kW ein? Oder was meinst du?

              S 1 Reply Last reply
              0
              • B Ben. 0

                @srwilli Du gibst in den Einstellungen doch die Leistung an. Trag dort doch die 4kW ein? Oder was meinst du?

                S Offline
                S Offline
                srwilli
                wrote on last edited by
                #527

                @ben-0 Ich habe 6,4 KW Input der Module vom Dach. Mein WR kann insgesamt Input 8kw und Output maximal 4kw.
                Zur Mittagszeit könnten die Module viel mehr produzieren, aber da der WR ja ne Output Begrenzung hat, ist dies nicht möglich. Das müsste berücksichtigt werden, damit Prognose Daten (bei mir) stimmen.

                B haus-automatisierungH 3 Replies Last reply
                0
                • S srwilli

                  @ben-0 Ich habe 6,4 KW Input der Module vom Dach. Mein WR kann insgesamt Input 8kw und Output maximal 4kw.
                  Zur Mittagszeit könnten die Module viel mehr produzieren, aber da der WR ja ne Output Begrenzung hat, ist dies nicht möglich. Das müsste berücksichtigt werden, damit Prognose Daten (bei mir) stimmen.

                  B Offline
                  B Offline
                  Ben. 0
                  wrote on last edited by
                  #528

                  @srwilli Ok, verstehe. Die Modulleistung auf 4 kW zu reduzieren würde dann das Ergebnis auch verfälschen, wenn du unter 4 kW produzierst.

                  In der API-Doku habe ich für diesen Fall leider nichts gefunden.

                  1 Reply Last reply
                  0
                  • S srwilli

                    @ben-0 Ich habe 6,4 KW Input der Module vom Dach. Mein WR kann insgesamt Input 8kw und Output maximal 4kw.
                    Zur Mittagszeit könnten die Module viel mehr produzieren, aber da der WR ja ne Output Begrenzung hat, ist dies nicht möglich. Das müsste berücksichtigt werden, damit Prognose Daten (bei mir) stimmen.

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

                    @srwilli sagte in Test PV Forecast Adapter:

                    Zur Mittagszeit könnten die Module viel mehr produzieren, aber da der WR ja ne Output Begrenzung hat, ist dies nicht möglich. Das müsste berücksichtigt werden, damit Prognose Daten (bei mir) stimmen.

                    Das ist ja das gleiche Thema wie bei der Wirkleistungsbegrenzung. Für die maximale Leistung wäre das kein Problem. Aber was mache ich mit den kWh? Man kann ja schlecht einfach per Dreisatz arbeiten.

                    Fiktives Beispiel:

                    Wenn da z.B. von 15 bis 16 Uhr 2 kWh Ertrag stehen, dann weiß ich ja nicht, ob das Tool mit dauerhaft 2kW Leistung über die Stunde rechnet, oder ob z.B. in den ersten 10 Minuten der Stunde die Leistung der Anlage auf 12kW lief und danach ist die Leistung auf 0 kW gefallen. Das kann man mit den Angaben nicht aufschlüsseln.

                    Würde die Anlage also in der Stunde mit Dauerhaft 2kW rechnen, würde das alles funktionieren. Hätten wir zwischendurch höhere Peaks, müsste man Wert X abziehen (weil WR zu klein).

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

                    1 Reply Last reply
                    0
                    • S srwilli

                      @ben-0 Ich habe 6,4 KW Input der Module vom Dach. Mein WR kann insgesamt Input 8kw und Output maximal 4kw.
                      Zur Mittagszeit könnten die Module viel mehr produzieren, aber da der WR ja ne Output Begrenzung hat, ist dies nicht möglich. Das müsste berücksichtigt werden, damit Prognose Daten (bei mir) stimmen.

                      B Offline
                      B Offline
                      Ben. 0
                      wrote on last edited by
                      #530

                      @srwilli Ich denke du musst die Prognosedaten als theoretisches Maximum betrachten in deinem Fall und die Auswertung mit Logik versehen.

                      Alles was >4 kW ist, wird auf 4 kW gesetzt oder so. Der Adapter wird das nicht für dich lösen können.

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        srwilli
                        wrote on last edited by
                        #531

                        Vielen Dank an alle für die Antworten 🙂

                        1 Reply Last reply
                        0
                        • DiginixD Diginix

                          @oxident Ja, bei solcast bekommt man nur die stündlichen Werte für die Zukunft. Sieht man zB wenn man den Adapter tagsüber mal neustartet. Dann fliegen alle Prognosewerte bis zur aktuellen Stunde weg. Deswegen wird nur nachts einmal aktualisiert. Genauer würde es später logischerweise aber eben mit Verlust der historischen Werte des laufenden Tages. Aber selbst der initiale Tageswert ist schon verdammt gut und seit Monaten bei mir bis auf wenige kWh passend zum relaen Ertrag. forecast liegt da zT mehr als 50% daneben und das selbst mit Aktualisierungen während des Tages.

                          T Offline
                          T Offline
                          technikaffin
                          wrote on last edited by
                          #532

                          @diginix

                          Wie wäre es denn wenn man den Adapter erweitert, und zusätzlich noch die realen (tatsächlich erzeugten) Werte der Anlage einfüttert.
                          Also "Erzeugung heute bis jetzt / tagesgesamt in kWh"
                          Die meisten dürften diesen Wert mit iobroker von irgendwo bekommen können, vom Wechselrichter oder Cloud-Portal oder wo auch immer.

                          Dann könnte der pv-forecast-adapter einmal nachts den IST-Wert und den Prognose-Wert vom vergangenen Tag abgleichen und ein Korrektur-Delta für die Anlage errechnen, das würde dann im Laufe der Zeit immer genauer werden.

                          Natürlich kann man sich das auch selber extra basteln, aber wenns der Adapter gleich mit erledigt wäre das sehr fein.

                          BananaJoeB 1 Reply Last reply
                          0
                          • T technikaffin

                            @diginix

                            Wie wäre es denn wenn man den Adapter erweitert, und zusätzlich noch die realen (tatsächlich erzeugten) Werte der Anlage einfüttert.
                            Also "Erzeugung heute bis jetzt / tagesgesamt in kWh"
                            Die meisten dürften diesen Wert mit iobroker von irgendwo bekommen können, vom Wechselrichter oder Cloud-Portal oder wo auch immer.

                            Dann könnte der pv-forecast-adapter einmal nachts den IST-Wert und den Prognose-Wert vom vergangenen Tag abgleichen und ein Korrektur-Delta für die Anlage errechnen, das würde dann im Laufe der Zeit immer genauer werden.

                            Natürlich kann man sich das auch selber extra basteln, aber wenns der Adapter gleich mit erledigt wäre das sehr fein.

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

                            @technikaffin sagte in Test PV Forecast Adapter:

                            @diginix

                            Wie wäre es denn wenn man den Adapter erweitert, und zusätzlich noch die realen (tatsächlich erzeugten) Werte der Anlage einfüttert.
                            Also "Erzeugung heute bis jetzt / tagesgesamt in kWh"
                            Die meisten dürften diesen Wert mit iobroker von irgendwo bekommen können, vom Wechselrichter oder Cloud-Portal oder wo auch immer.

                            Dann könnte der pv-forecast-adapter einmal nachts den IST-Wert und den Prognose-Wert vom vergangenen Tag abgleichen und ein Korrektur-Delta für die Anlage errechnen, das würde dann im Laufe der Zeit immer genauer werden.

                            Natürlich kann man sich das auch selber extra basteln, aber wenns der Adapter gleich mit erledigt wäre das sehr fein.

                            Die Korrektur findet doch schon statt. Wenn ich die Vorhersage für den Tag um 08:00 betrachte sieht die anders aus als wenn ich die um 16:00 anschaue - es wird "nachgeführt". Dementsprechend schwierig wäre eine Anpassung. Die würde ja nur passen wenn der Fehler / das Delta immer identisch ist.
                            Als analoger Vergleich: Wäre als wenn man versucht die Wettervorhersage zu korrigieren ... (letztendlich ist der Adapter ja eine Wettervorhersage). Z.B. wird bei uns immer Regen angesagt, es regnet aber meist bei uns dann nicht (aber 2km weiter / andere Flussseite schon). Aber wie sollte ich das korrigieren / Entscheiden ob der Regen es nicht doch über den Fluss schafft.

                            Also, korrigiert wäre genauso ungenau wie nicht korrigiert. Bei mir gibt es Zeiten da passt es sehr genau ... und Zeiten da passt es gar nicht. Aber der Trend passt (also ob es Sonnenstunden sind oder nicht) ... jedenfalls meistens

                            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

                            T 1 Reply Last reply
                            0
                            • BananaJoeB BananaJoe

                              @technikaffin sagte in Test PV Forecast Adapter:

                              @diginix

                              Wie wäre es denn wenn man den Adapter erweitert, und zusätzlich noch die realen (tatsächlich erzeugten) Werte der Anlage einfüttert.
                              Also "Erzeugung heute bis jetzt / tagesgesamt in kWh"
                              Die meisten dürften diesen Wert mit iobroker von irgendwo bekommen können, vom Wechselrichter oder Cloud-Portal oder wo auch immer.

                              Dann könnte der pv-forecast-adapter einmal nachts den IST-Wert und den Prognose-Wert vom vergangenen Tag abgleichen und ein Korrektur-Delta für die Anlage errechnen, das würde dann im Laufe der Zeit immer genauer werden.

                              Natürlich kann man sich das auch selber extra basteln, aber wenns der Adapter gleich mit erledigt wäre das sehr fein.

                              Die Korrektur findet doch schon statt. Wenn ich die Vorhersage für den Tag um 08:00 betrachte sieht die anders aus als wenn ich die um 16:00 anschaue - es wird "nachgeführt". Dementsprechend schwierig wäre eine Anpassung. Die würde ja nur passen wenn der Fehler / das Delta immer identisch ist.
                              Als analoger Vergleich: Wäre als wenn man versucht die Wettervorhersage zu korrigieren ... (letztendlich ist der Adapter ja eine Wettervorhersage). Z.B. wird bei uns immer Regen angesagt, es regnet aber meist bei uns dann nicht (aber 2km weiter / andere Flussseite schon). Aber wie sollte ich das korrigieren / Entscheiden ob der Regen es nicht doch über den Fluss schafft.

                              Also, korrigiert wäre genauso ungenau wie nicht korrigiert. Bei mir gibt es Zeiten da passt es sehr genau ... und Zeiten da passt es gar nicht. Aber der Trend passt (also ob es Sonnenstunden sind oder nicht) ... jedenfalls meistens

                              T Offline
                              T Offline
                              technikaffin
                              wrote on last edited by
                              #534

                              @bananajoe

                              Ja das Wetter wird nachgeführt, also die Daten vom API, das ist mir schon klar. Eine einzelne Wolke lässt die Erzeugung ja einbrechen und so feingranular ist keine Wettervorhersage.

                              Das meine ich aber nicht. Nehmen wir mal an die Wettervorhersage wäre 100% korrekt. Dann passt die Vorhersage trotzdem nicht genau zu meinen Paneelen, weil die vielleicht älter sind und die Leistung nachlässt, oder ich den Neigungswinkel oder die Südrichtung nicht genau eingetragen hab, oder meine Paneele besser oder schlechter sind als der Durchschnitt, etc.etc.

                              Es gibt also ein Delta zwischen errechneter Leistung (Theorie) und tatsächlicher (Praxis), unabhängig vom Wetter. Dieses Delta ist aber immer gleich (bzw. es wird im Laufe der Zeit mit Alterung der Zellen etwas größer).
                              Das will ich statistisch ausrechnen.

                              Also im nachhinein, wenn man ganz genau weiss wie das Wetter war und der Theoriewert gut ist, dann vergleichen mit dem tatsächlichen Ertrag.

                              BananaJoeB 1 Reply Last reply
                              0
                              • T technikaffin

                                @bananajoe

                                Ja das Wetter wird nachgeführt, also die Daten vom API, das ist mir schon klar. Eine einzelne Wolke lässt die Erzeugung ja einbrechen und so feingranular ist keine Wettervorhersage.

                                Das meine ich aber nicht. Nehmen wir mal an die Wettervorhersage wäre 100% korrekt. Dann passt die Vorhersage trotzdem nicht genau zu meinen Paneelen, weil die vielleicht älter sind und die Leistung nachlässt, oder ich den Neigungswinkel oder die Südrichtung nicht genau eingetragen hab, oder meine Paneele besser oder schlechter sind als der Durchschnitt, etc.etc.

                                Es gibt also ein Delta zwischen errechneter Leistung (Theorie) und tatsächlicher (Praxis), unabhängig vom Wetter. Dieses Delta ist aber immer gleich (bzw. es wird im Laufe der Zeit mit Alterung der Zellen etwas größer).
                                Das will ich statistisch ausrechnen.

                                Also im nachhinein, wenn man ganz genau weiss wie das Wetter war und der Theoriewert gut ist, dann vergleichen mit dem tatsächlichen Ertrag.

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

                                @technikaffin ok, das ist schon eingebaut und habe ich schon mal genutzt: Bei zeigte die vorhersage immer 20% zu wenig an. Also habe ich die Leistung meiner Anlage im Adapter entsprechen zu groß angegeben und schon passte es. Geht natürlich auch mit kleiner.

                                Da ich die Werte aber eh einmal in einen SQL-Datenpunkt schreibe addiere ich nun an dieser Stelle was dazu

                                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 Offline
                                  sonnenscheinS Offline
                                  sonnenschein
                                  wrote on last edited by sonnenschein
                                  #536

                                  Guten Morgen Zusammen!

                                  Nach dem mein PVForecast mit dem Blockly Script von Bananajoe bis vor kurzem ohne Probleme lief, will es jetzt nicht mehr so richtig.
                                  Es gab verschiedene Updates von verschiedenen Adaptern die ich installiert habe. Leider kann ich nicht nach vollziehen ab wann genau das Blockly Script nicht mehr funktioniert.
                                  Meine Installation ist Iobrker auf Raspberry Pi 4.
                                  PVForcast Adapter V 2.3.0
                                  Javascript v 6.0.3
                                  Admin v 6.2.23
                                  Daten schreibe ich in sql MariaDB mit SQL Adapter V 2.2.0

                                  Das Blocly Script liest die json table aus dem Objekten PVForcast
                                  aktuell pvforecast.1.plants.sonnenschein.JSONTable

                                  Objekte_PVForcast.png
                                  Der Adapter schein die Daten auch zu aktualisieren.

                                  PVForcast Adapter Logging auf ALLES; JavaSkript auch auf ALLES

                                  Reins chreiben soll das Script in dieses Objekt 0_userdata.0.PVForecast.Sonnenschein

                                  Das Blockly sieht so aus:
                                  Blockly.png

                                  angezeigt als Java script sieht das so aus:

                                  var x, myVAL, myTS, JSONTable, JSONListe, counter, i, tempDatum, tempLeistung;
                                  
                                  // Beschreibe diese Funktion …
                                  async function ReplaceHyphen(x) {
                                      return x.replace("/-/g",".");
                                  }
                                  
                                  // Beschreibe diese Funktion …
                                  async function SendTo_SQL_storeState(myVAL, myTS) {
                                      // Und wert erstellen wie geplant
                                      sendTo("sql.0", "storeState", {
                                          "id": '0_userdata.0.PVForecast.Sonnenschein',
                                          "state": { 
                                              "val": myVAL, 
                                              "ts": myTS,
                                              "ack": true
                                          }
                                      }, async function (result) {
                                          console.log(result);
                                      });
                                  }
                                  
                                  // Beschreibe diese Funktion …
                                  async function SendTo_SQL_deleteAll() {
                                      // Alles löschen
                                      sendTo("sql.0", "deleteAll", {
                                          "id": '0_userdata.0.PVForecast.Sonnenschein',
                                      }, async function (result) {
                                            console.log(result);
                                      });
                                  
                                  }
                                  
                                  
                                  // Trigger auf den Datenpunkt JSONTable der
                                  // gewünschten Anlage
                                  on({id: [].concat(['pvforecast.1.plants.sonnenschein.JSONTable']), change: "any"}, async function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    // Den JSON in eine Variable als Objekt holen
                                    JSONTable = (obj.state ? obj.state.val : "");
                                    // Den JSON nochmal als Liste
                                    JSONListe = (obj.state ? obj.state.val : "").split('},{');
                                    // Zähler für die einzelnen Werte
                                    counter = -1;
                                    // Vorherige Werte löschen
                                    await SendTo_SQL_deleteAll();
                                    // Kurz warten ...
                                    await wait(2000);
                                    // Die Werte abarbeiten:
                                    for (var i_index in JSONListe) {
                                      i = JSONListe[i_index];
                                      // Wird beim ersten mal 0 sein
                                      counter = (typeof counter == 'number' ? counter : 0) + 1;
                                      // Wir arbeiten die Liste ab, nutzen aber das Objekt!
                                      tempDatum = getAttr(JSONTable, (String(counter) + '.Uhrzeit'));
                                      // Die - in . umwandeln
                                      tempDatum = await ReplaceHyphen(tempDatum);
                                      // In ein Datum-Objekt umwandeln
                                      tempDatum = getDateObject(tempDatum).getTime();
                                      // Die Leistung holen (hier in Wh statt kWh)
                                      tempLeistung = parseFloat(getAttr(JSONTable, (String(counter) + '.Leistung'))) * 1000;
                                      // Und in die Datenbank schreiben
                                      await SendTo_SQL_storeState(tempLeistung, tempDatum);
                                    }
                                  });
                                  
                                  //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyeHIlM0ZDJTI1JTNBJTdERiUyNUhSJTJDJTJCYmFDJTI1VzhuJTIyJTNFeCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMmQlMkYuYk9QJTNEN1ZsQzUlMkYlNUIlMkIlM0Q4ZyUyRnUlMjIlM0VteVZBTCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMlNMJTI0ZDYlMkYlNjBDbE82aXFmZWZoNUxOJTIyJTNFbXlUUyUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMkIlMjRuXyU3Q0x0JTNGViUzRmRsdEclMjQxJTNEJTI1VSElMjIlM0VKU09OVGFibGUlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJ6cVNTdDEubFBCclAhcHJ0SnAlM0ElNUIlMjIlM0VKU09OTGlzdGUlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIlNUIlMkNub1olMkIhJTIzUiglNUJ2KVZsaSU1QkpBQyUyMiUzRWNvdW50ZXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjI5JTVCeFMlM0RzSCkuREtCUzhvR04lNDBjcyUyMiUzRWklM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJ0a0glMjNxY0UlM0RINSUyRl83fk90dFc1KCUyMiUzRXRlbXBEYXR1bSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMmYlM0RNWDVieFhDZSU2MCUyMyU2MCUyNHp+SFhjRyUyMiUzRXRlbXBMZWlzdHVuZyUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21yZXR1cm4lMjIlMjBpZCUzRCUyMmY1JTJCZSUyNGkhJTQwaGRGZFA3JTVCSkExJTVFJTYwJTIyJTIweCUzRCUyMjI4OCUyMiUyMHklM0QlMjItMjEyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyeCUyMiUyMHZhcmlkJTNEJTIyeHIlM0ZDJTI1JTNBJTdERiUyNUhSJTJDJTJCYmFDJTI1VzhuJTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFUmVwbGFjZUh5cGhlbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFY21WMGRYSnVJSGd1Y21Wd2JHRmpaU2dpTHkwdlp5SXNJaTRpS1RzJTNEJTNDJTJGZmllbGQlM0UlM0Njb21tZW50JTIwcGlubmVkJTNEJTIyZmFsc2UlMjIlMjBoJTNEJTIyODAlMjIlMjB3JTNEJTIyMTYwJTIyJTNFQmVzY2hyZWliZSUyMGRpZXNlJTIwRnVua3Rpb24lMjAlRTIlODAlQTYlM0MlMkZjb21tZW50JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2RlZmN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJXJTNGQmpUUXMhcGd1V3c0SFB3VClwJTIyJTIweCUzRCUyMjI4NyUyMiUyMHklM0QlMjItMTYyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIybXlWQUwlMjIlMjB2YXJpZCUzRCUyMmQlMkYuYk9QJTNEN1ZsQzUlMkYlNUIlMkIlM0Q4ZyUyRnUlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIybXlUUyUyMiUyMHZhcmlkJTNEJTIyU0wlMjRkNiUyRiU2MENsTzZpcWZlZmg1TE4lMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VTZW5kVG9fU1FMX3N0b3JlU3RhdGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRUx5OGdWVzVrSUhkbGNuUWdaWEp6ZEdWc2JHVnVJSGRwWlNCblpYQnNZVzUwRFFwelpXNWtWRzhvSW5OeGJDNHdJaXdnSW5OMGIzSmxVM1JoZEdVaUxDQjdEUW9nSUNBZ0ltbGtJam9nSnpCZmRYTmxjbVJoZEdFdU1DNVFWa1p2Y21WallYTjBMbE52Ym01bGJuTmphR1ZwYmljc0RRb2dJQ0FnSW5OMFlYUmxJam9nZXlBTkNpQWdJQ0FnSUNBZ0luWmhiQ0k2SUcxNVZrRk1MQ0FOQ2lBZ0lDQWdJQ0FnSW5Seklqb2diWGxVVXl3TkNpQWdJQ0FnSUNBZ0ltRmpheUk2SUhSeWRXVU5DaUFnSUNCOURRcDlMQ0JoYzNsdVl5Qm1kVzVqZEdsdmJpQW9jbVZ6ZFd4MEtTQjdEUW9nSUNBZ1kyOXVjMjlzWlM1c2IyY29jbVZ6ZFd4MEtUc05DbjBwT3clM0QlM0QlM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMm0uJTVEZDZEUjRoSVIlN0NyaE0lNjBQM0tVJTIyJTIweCUzRCUyMjI4OCUyMiUyMHklM0QlMjItMTEyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VTZW5kVG9fU1FMX2RlbGV0ZUFsbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFTHk4Z1FXeHNaWE1nYk1PMmMyTm9aVzROQ25ObGJtUlVieWdpYzNGc0xqQWlMQ0FpWkdWc1pYUmxRV3hzSWl3Z2V3MEtJQ0FnSUNKcFpDSTZJQ2N3WDNWelpYSmtZWFJoTGpBdVVGWkdiM0psWTJGemRDNVRiMjV1Wlc1elkyaGxhVzRuTEEwS2ZTd2dZWE41Ym1NZ1puVnVZM1JwYjI0Z0tISmxjM1ZzZENrZ2V3MEtJQ0FnSUNBZ1kyOXVjMjlzWlM1c2IyY29jbVZ6ZFd4MEtUc05DbjBwT3cwSyUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyZW1GOTBOJTVCeEElNUQudyUzQWUlMjQwYTUlNjBBJTIyJTIweCUzRCUyMjI4OCUyMiUyMHklM0QlMjItNjIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFVHJpZ2dlciUyMGF1ZiUyMGRlbiUyMERhdGVucHVua3QlMjBKU09OVGFibGUlMjBkZXIlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJ2JTdDZzVSJTQwUEJTbGZSJTdCJTdEZ3F0V1IxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRWdldyVDMyVCQ25zY2h0ZW4lMjBBbmxhZ2UlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMjIlN0Q4MWdOU1BuNDhteHQtQzMyTjMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiUyNGZVQyUyRmtnaCU1RTclNUJwQlpqZHMlMkMlNUJOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyUX4lNUJ+TDclNjAlM0ZqZmY5dzAhJTdDJTdCUiF+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXB2Zm9yZWNhc3QuMS5wbGFudHMuc29ubmVuc2NoZWluLkpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJ4aXBrJTJDUTRtJTJGJTI0WmJxKDl4UCU1RE4lM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFRGVuJTIwSlNPTiUyMGluJTIwZWluZSUyMFZhcmlhYmxlJTIwYWxzJTIwT2JqZWt0JTIwaG9sZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI5bGU4bkJfJTdERSUyQiU3QiUzRCU1RXpoJTNBRnV0YSUyMiUyMGRpc2FibGVkJTNEJTIydHJ1ZSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQiUyNG5fJTdDTHQlM0ZWJTNGZGx0RyUyNDElM0QlMjVVISUyMiUzRUpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X2pzb24yb2JqZWN0JTIyJTIwaWQlM0QlMjJDJTVFJTYwKTZlIVc0YXRkLiElMkIlN0IoaSU2MEQlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMkNYJTNGcSU1REdjOGolNUJLczJGNC55YyUzRGMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyWSUzQWVleEhjVU5pNWFQJTYwJTNEc2g1XyUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjJ5VjkyJTI1ayU3QmMlNDBhUiUyNHQlNDBGViU3Q1ZLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXB2Zm9yZWNhc3QuMS5wbGFudHMuc29ubmVuc2NoZWluLkpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnklM0FKJTdDeU9JNjlhS3JfJTVEZSU3RFglN0QpcSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQiUyNG5fJTdDTHQlM0ZWJTNGZGx0RyUyNDElM0QlMjVVISUyMiUzRUpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMkdEUmR5SiUyNVlVaTRVJTdCUCUzQXhoZSUyNUwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMjc4JTdCJTJGKHElNUV6byUzQVZtMyklN0RZZU1LcyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VEZW4lMjBKU09OJTIwbm9jaG1hbCUyMGFscyUyMExpc3RlJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTI0QyUzQSUzQiU3Q0ZfRU5lJTNGS2MlN0JmOUUqdEUlMjIlMjBkaXNhYmxlZCUzRCUyMnRydWUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnpxU1N0MS5sUEJyUCFwcnRKcCUzQSU1QiUyMiUzRUpTT05MaXN0ZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19zcGxpdCUyMiUyMGlkJTNEJTIyJTNBNCU1QiU1QjlCc1Z3U3UtJTIzU0ZTJTJGcXAlMjMlMjIlM0UlM0NtdXRhdGlvbiUyMG1vZGUlM0QlMjJTUExJVCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTU9ERSUyMiUzRVNQTElUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJTlBVVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMmslMjQlN0JfTHhKbFF+SmMlMjUlNUU4bVElM0JKMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTQwKExMRU85RGNaQ18xMDdQWTdlJTNCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXB2Zm9yZWNhc3QuMS5wbGFudHMuc29ubmVuc2NoZWluLkpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxJTSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJfJTNEaXIpLS1DfksuNSElMkMlNDAzISUyNSU0MDQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTdEJTJDJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyS1RISWFlaiU3Qk1WNVRUeHNlaHUlM0FoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ6cVNTdDEubFBCclAhcHJ0SnAlM0ElNUIlMjIlM0VKU09OTGlzdGUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfc3BsaXQlMjIlMjBpZCUzRCUyMiU2MCUyMyU1QnRwJTVEOCU1RHkhTCU1RUxFcDhPTClKJTIyJTNFJTNDbXV0YXRpb24lMjBtb2RlJTNEJTIyU1BMSVQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk1PREUlMjIlM0VTUExJVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySU5QVVQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMmMpJTJDcSU2MCk3ZFp5WClHdFclM0JPZTBZJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkRFTElNJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmtvUEp1QnUlMkZIbSUyRkQ3JTJCJTVCJTI0RFIlMjQlNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTdEJTJDJTdCJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyX2REV1J3cW9yaHYlN0NLNHIyMCUyQkNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRVolQzMlQTRobGVyJTIwZiVDMyVCQ3IlMjBkaWUlMjBlaW56ZWxuZW4lMjBXZXJ0ZSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnclNUJITlFGWihwS0MlM0IoTG9uc3BwRyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTVCJTJDbm9aJTJCISUyM1IoJTVCdilWbGklNUJKQUMlMjIlM0Vjb3VudGVyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMjRZRCUyMylaNiU1RC4hMHdVOCUzQSFJRlktJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFLTElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIybk9OJTJGLklNKi5YNUw3QlNmcW4uaiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VWb3JoZXJpZ2UlMjBXZXJ0ZSUyMGwlQzMlQjZzY2hlbiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJNampsQWQlMkMlMjMwMmRIOSUzQiU1QjkxQSUzQWUlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJTZW5kVG9fU1FMX2RlbGV0ZUFsbCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMiUyQlV4UCU1RFVGWCpLKkF5OCU0MCUyQi4zRCglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFS3VyeiUyMHdhcnRlbiUyMC4uLiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3dhaXQlMjIlMjBpZCUzRCUyMmIlMjMlNUI1QkNVNCUyM3ZELiUyQiU0MFJJZ3h3ciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkRFTEFZJTIyJTNFMiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRXNlYyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMiUzRnFsRyU0MGJWMW5qN0slMjVoOCUzRiU2MFMtaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VEaWUlMjBXZXJ0ZSUyMGFiYXJiZWl0ZW4lM0ElM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3JFYWNoJTIyJTIwaWQlM0QlMjJzWiUyNU5oTlN4QzEwc0FnJTQwTyU1REt6NiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSU1QnhTJTNEc0gpLkRLQlM4b0dOJTQwY3MlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIycHNCM1JRNDJkbUh5JTVCJTNEYUtycyEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ6cVNTdDEubFBCclAhcHJ0SnAlM0ElNUIlMjIlM0VKU09OTGlzdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIwaSUzRlh1MiU0MGhVdiUyQ2c0JTNGJTNCaTVGaGwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFV2lyZCUyMGJlaW0lMjBlcnN0ZW4lMjBtYWwlMjAwJTIwc2VpbiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfY2hhbmdlJTIyJTIwaWQlM0QlMjJsaWV0JTVCNSUyM0wlNDB+JTYwSSU1RHQlN0I4JTNBJTJGRXMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU1QiUyQ25vWiUyQiElMjNSKCU1QnYpVmxpJTVCSkFDJTIyJTNFY291bnRlciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMVEElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjk4NnFMdkNGJTVCSjJWSyU1RW5vMCU0MFJwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyJTdEZlBJJTJGUSUzQmZWdTdWLXVZdVgySSUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VXaXIlMjBhcmJlaXRlbiUyMGRpZSUyMExpc3RlJTIwYWIlMkMlMjBudXR6ZW4lMjBhYmVyJTIwZGFzJTIwT2JqZWt0ISUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiU1RXcpJTNCJTQwaV9rZHRqV1dmJTNGYyU3REJjTyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGtIJTIzcWNFJTNESDUlMkZfN35PdHRXNSglMjIlM0V0ZW1wRGF0dW0lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X2F0dHIlMjIlMjBpZCUzRCUyMmpUUmJXXy13STQtJTdELiElMkM1VihWSiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlBBVEglMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyM3IlNjBXOSUyRn5Ub0VqJTdCQWJ4JTNBKWFneCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyeG9GbVNiflklMkJ4bkQlM0Jjdk0lN0NnJTNCLSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIySzklM0I0TFElMjQxUyUyRiU2MGF0JTIzWVk1Mi5qJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlNUIlMkNub1olMkIhJTIzUiglNUJ2KVZsaSU1QkpBQyUyMiUzRWNvdW50ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyS2t0OHFWci55a3B+TlYlM0IlNDAlN0JVYXMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFLlVocnplaXQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0JKRUNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTYwLXJ3NzRJJTYwa3F5bFVXZ2VIKiUyQiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkIlMjRuXyU3Q0x0JTNGViUzRmRsdEclMjQxJTNEJTI1VSElMjIlM0VKU09OVGFibGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMmIlM0YlNURQJTJCSDlCd3Fma0RSdiUyNCUyRiUzQWooJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRURpZSUyMC0lMjBpbiUyMC4lMjB1bXdhbmRlbG4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJrJTQwdjE1QS1jWXBmJTJGdmJwUmElM0JfeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGtIJTIzcWNFJTNESDUlMkZfN35PdHRXNSglMjIlM0V0ZW1wRGF0dW0lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsY3VzdG9tcmV0dXJuJTIyJTIwaWQlM0QlMjJwJTVCa3coJTNCeUkpcFhCamp6RCUyM0QpfiUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMlJlcGxhY2VIeXBoZW4lMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyeCUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMk4paCUzRCgxVFIlNjAuOSUyMzk2JTNEbSUzRkEwWSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGtIJTIzcWNFJTNESDUlMkZfN35PdHRXNSglMjIlM0V0ZW1wRGF0dW0lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMkktNlBqemMyaW41ZlUlN0MlMkZMJTQweExUJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUluJTIwZWluJTIwRGF0dW0tT2JqZWt0JTIwdW13YW5kZWxuJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyRnNJTEJPUnNhTHJyYXpCaTFMKUolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnRrSCUyM3FjRSUzREg1JTJGXzd+T3R0VzUoJTIyJTNFdGVtcERhdHVtJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfZnJvbV9kYXRlJTIyJTIwaWQlM0QlMjI0YmJ3JTdEWkpocEhlJTdEZS4qbkowJTYwTSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGZvcm1hdCUzRCUyMmZhbHNlJTIyJTIwbGFuZ3VhZ2UlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1BUSU9OJTIyJTNFb2JqZWN0JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlJqQyUzQiUzREFjJTNCblBIRnJIQ050JTI0U0clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnRrSCUyM3FjRSUzREg1JTJGXzd+T3R0VzUoJTIyJTNFdGVtcERhdHVtJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlM0YlMkYuQWpTJTJCJTdCMTltRV9FaEM2JTNGJTdCJTI1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRURpZSUyMExlaXN0dW5nJTIwaG9sZW4lMjAoaGllciUyMGluJTIwV2glMjBzdGF0dCUyMGtXaCklM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI3JTI0ZTElM0RaLiU3QyU3Q3R0LSU3RGIlN0QlMjQlNjBRVVglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmYlM0RNWDVieFhDZSU2MCUyMyU2MCUyNHp+SFhjRyUyMiUzRXRlbXBMZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMmN6VllFKWQlM0YlNUVoaiUzQnNCOHRRVyUyNWMlMjIlMjBpbmxpbmUlM0QlMjJmYWxzZSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTVVMVElQTFklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlFYWEklMjNuYjUxdGhVKGdZdWpPN2wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfYXR0ciUyMiUyMGlkJTNEJTIyIXAoUTIlN0IqdSUyRlUlNDAoTGRMYVdPJTNCcyUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlBBVEglMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyZU8lMkJLYyU0MEolMjM1bmNKZXhnQ2ElM0JYRyUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyNmglNDAlMkZ3JTNCdiUyQjVmSiUzQTJrJTVFZlJ1JTI0JTYwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlNUIlMkNub1olMkIhJTIzUiglNUJ2KVZsaSU1QkpBQyUyMiUzRWNvdW50ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIydSUzQmxXJTJDRU1xMWxvJTNCMHdsJTQwJTVFc35aJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRS5MZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPQkpFQ1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlM0F3QyUyNW1fKjUlMjNrVW1qU0N0Umh0KiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQiUyNG5fJTdDTHQlM0ZWJTNGZGx0RyUyNDElM0QlMjVVISUyMiUzRUpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIub1VSIUI0eTglM0IlN0RrTFh2M0hZVkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyLnIlN0RjLjYlMjQlNUJKRGYlM0QuJTdDJTIzMDBwWmolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFVW5kJTIwaW4lMjBkaWUlMjBEYXRlbmJhbmslMjBzY2hyZWliZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyQyUyQyUyRl9FbWIwXyUyQ0hYUzAlM0ElM0IwJTNGQ2IlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJTZW5kVG9fU1FMX3N0b3JlU3RhdGUlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIybXlWQUwlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIybXlUUyUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlpYJTYwJTYwJTJDMH5xVloqSCUzQmQ3NUlUIVMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmYlM0RNWDVieFhDZSU2MCUyMyU2MCUyNHp+SFhjRyUyMiUzRXRlbXBMZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFSRzElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIyckMlMkNkdkZQZDMqXyUyQzEpRU9ka04lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnRrSCUyM3FjRSUzREg1JTJGXzd+T3R0VzUoJTIyJTNFdGVtcERhdHVtJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                                  

                                  Jetzt sehe ich aber das das Skript nicht mehr in mein User Objekt schreibt. Wenn ich hier von Hand einen Wert schreibe geht der nach SQL, aber vom Skript wird nicht geschrieben!

                                  Was ist nun anders oder wo liegt das Problem. Kann hier jemand helfen?
                                  Ich möchte die PVForecast Daten wieder in die SQL DB schreiben damit ich sie in Garfana wieder darstellen kann.
                                  Zum Testen des Blockly habe ich den Trigger von
                                  "wurde geändert" auf "wurde aktualisiert" geändert damit evtl. Infos zum Fehler bekomme.

                                  09:27:54.855 error javascript.0 (853) script.js.common.115_PVForecast_01: TypeError: Cannot read property 'replace' of undefined
                                  09:27:54.856 error javascript.0 (853) at ReplaceHyphen (script.js.common.115_PVForecast_01:5:14)
                                  09:27:54.856 error javascript.0 (853) at Object.<anonymous> (script.js.common.115_PVForecast_01:58:23)

                                  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

                                    Guten Morgen Zusammen!

                                    Nach dem mein PVForecast mit dem Blockly Script von Bananajoe bis vor kurzem ohne Probleme lief, will es jetzt nicht mehr so richtig.
                                    Es gab verschiedene Updates von verschiedenen Adaptern die ich installiert habe. Leider kann ich nicht nach vollziehen ab wann genau das Blockly Script nicht mehr funktioniert.
                                    Meine Installation ist Iobrker auf Raspberry Pi 4.
                                    PVForcast Adapter V 2.3.0
                                    Javascript v 6.0.3
                                    Admin v 6.2.23
                                    Daten schreibe ich in sql MariaDB mit SQL Adapter V 2.2.0

                                    Das Blocly Script liest die json table aus dem Objekten PVForcast
                                    aktuell pvforecast.1.plants.sonnenschein.JSONTable

                                    Objekte_PVForcast.png
                                    Der Adapter schein die Daten auch zu aktualisieren.

                                    PVForcast Adapter Logging auf ALLES; JavaSkript auch auf ALLES

                                    Reins chreiben soll das Script in dieses Objekt 0_userdata.0.PVForecast.Sonnenschein

                                    Das Blockly sieht so aus:
                                    Blockly.png

                                    angezeigt als Java script sieht das so aus:

                                    var x, myVAL, myTS, JSONTable, JSONListe, counter, i, tempDatum, tempLeistung;
                                    
                                    // Beschreibe diese Funktion …
                                    async function ReplaceHyphen(x) {
                                        return x.replace("/-/g",".");
                                    }
                                    
                                    // Beschreibe diese Funktion …
                                    async function SendTo_SQL_storeState(myVAL, myTS) {
                                        // Und wert erstellen wie geplant
                                        sendTo("sql.0", "storeState", {
                                            "id": '0_userdata.0.PVForecast.Sonnenschein',
                                            "state": { 
                                                "val": myVAL, 
                                                "ts": myTS,
                                                "ack": true
                                            }
                                        }, async function (result) {
                                            console.log(result);
                                        });
                                    }
                                    
                                    // Beschreibe diese Funktion …
                                    async function SendTo_SQL_deleteAll() {
                                        // Alles löschen
                                        sendTo("sql.0", "deleteAll", {
                                            "id": '0_userdata.0.PVForecast.Sonnenschein',
                                        }, async function (result) {
                                              console.log(result);
                                        });
                                    
                                    }
                                    
                                    
                                    // Trigger auf den Datenpunkt JSONTable der
                                    // gewünschten Anlage
                                    on({id: [].concat(['pvforecast.1.plants.sonnenschein.JSONTable']), change: "any"}, async function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;
                                      // Den JSON in eine Variable als Objekt holen
                                      JSONTable = (obj.state ? obj.state.val : "");
                                      // Den JSON nochmal als Liste
                                      JSONListe = (obj.state ? obj.state.val : "").split('},{');
                                      // Zähler für die einzelnen Werte
                                      counter = -1;
                                      // Vorherige Werte löschen
                                      await SendTo_SQL_deleteAll();
                                      // Kurz warten ...
                                      await wait(2000);
                                      // Die Werte abarbeiten:
                                      for (var i_index in JSONListe) {
                                        i = JSONListe[i_index];
                                        // Wird beim ersten mal 0 sein
                                        counter = (typeof counter == 'number' ? counter : 0) + 1;
                                        // Wir arbeiten die Liste ab, nutzen aber das Objekt!
                                        tempDatum = getAttr(JSONTable, (String(counter) + '.Uhrzeit'));
                                        // Die - in . umwandeln
                                        tempDatum = await ReplaceHyphen(tempDatum);
                                        // In ein Datum-Objekt umwandeln
                                        tempDatum = getDateObject(tempDatum).getTime();
                                        // Die Leistung holen (hier in Wh statt kWh)
                                        tempLeistung = parseFloat(getAttr(JSONTable, (String(counter) + '.Leistung'))) * 1000;
                                        // Und in die Datenbank schreiben
                                        await SendTo_SQL_storeState(tempLeistung, tempDatum);
                                      }
                                    });
                                    
                                    //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyeHIlM0ZDJTI1JTNBJTdERiUyNUhSJTJDJTJCYmFDJTI1VzhuJTIyJTNFeCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMmQlMkYuYk9QJTNEN1ZsQzUlMkYlNUIlMkIlM0Q4ZyUyRnUlMjIlM0VteVZBTCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMlNMJTI0ZDYlMkYlNjBDbE82aXFmZWZoNUxOJTIyJTNFbXlUUyUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMkIlMjRuXyU3Q0x0JTNGViUzRmRsdEclMjQxJTNEJTI1VSElMjIlM0VKU09OVGFibGUlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJ6cVNTdDEubFBCclAhcHJ0SnAlM0ElNUIlMjIlM0VKU09OTGlzdGUlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIlNUIlMkNub1olMkIhJTIzUiglNUJ2KVZsaSU1QkpBQyUyMiUzRWNvdW50ZXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjI5JTVCeFMlM0RzSCkuREtCUzhvR04lNDBjcyUyMiUzRWklM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJ0a0glMjNxY0UlM0RINSUyRl83fk90dFc1KCUyMiUzRXRlbXBEYXR1bSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMmYlM0RNWDVieFhDZSU2MCUyMyU2MCUyNHp+SFhjRyUyMiUzRXRlbXBMZWlzdHVuZyUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21yZXR1cm4lMjIlMjBpZCUzRCUyMmY1JTJCZSUyNGkhJTQwaGRGZFA3JTVCSkExJTVFJTYwJTIyJTIweCUzRCUyMjI4OCUyMiUyMHklM0QlMjItMjEyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyeCUyMiUyMHZhcmlkJTNEJTIyeHIlM0ZDJTI1JTNBJTdERiUyNUhSJTJDJTJCYmFDJTI1VzhuJTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFUmVwbGFjZUh5cGhlbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFY21WMGRYSnVJSGd1Y21Wd2JHRmpaU2dpTHkwdlp5SXNJaTRpS1RzJTNEJTNDJTJGZmllbGQlM0UlM0Njb21tZW50JTIwcGlubmVkJTNEJTIyZmFsc2UlMjIlMjBoJTNEJTIyODAlMjIlMjB3JTNEJTIyMTYwJTIyJTNFQmVzY2hyZWliZSUyMGRpZXNlJTIwRnVua3Rpb24lMjAlRTIlODAlQTYlM0MlMkZjb21tZW50JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2RlZmN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJXJTNGQmpUUXMhcGd1V3c0SFB3VClwJTIyJTIweCUzRCUyMjI4NyUyMiUyMHklM0QlMjItMTYyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIybXlWQUwlMjIlMjB2YXJpZCUzRCUyMmQlMkYuYk9QJTNEN1ZsQzUlMkYlNUIlMkIlM0Q4ZyUyRnUlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIybXlUUyUyMiUyMHZhcmlkJTNEJTIyU0wlMjRkNiUyRiU2MENsTzZpcWZlZmg1TE4lMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VTZW5kVG9fU1FMX3N0b3JlU3RhdGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRUx5OGdWVzVrSUhkbGNuUWdaWEp6ZEdWc2JHVnVJSGRwWlNCblpYQnNZVzUwRFFwelpXNWtWRzhvSW5OeGJDNHdJaXdnSW5OMGIzSmxVM1JoZEdVaUxDQjdEUW9nSUNBZ0ltbGtJam9nSnpCZmRYTmxjbVJoZEdFdU1DNVFWa1p2Y21WallYTjBMbE52Ym01bGJuTmphR1ZwYmljc0RRb2dJQ0FnSW5OMFlYUmxJam9nZXlBTkNpQWdJQ0FnSUNBZ0luWmhiQ0k2SUcxNVZrRk1MQ0FOQ2lBZ0lDQWdJQ0FnSW5Seklqb2diWGxVVXl3TkNpQWdJQ0FnSUNBZ0ltRmpheUk2SUhSeWRXVU5DaUFnSUNCOURRcDlMQ0JoYzNsdVl5Qm1kVzVqZEdsdmJpQW9jbVZ6ZFd4MEtTQjdEUW9nSUNBZ1kyOXVjMjlzWlM1c2IyY29jbVZ6ZFd4MEtUc05DbjBwT3clM0QlM0QlM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMm0uJTVEZDZEUjRoSVIlN0NyaE0lNjBQM0tVJTIyJTIweCUzRCUyMjI4OCUyMiUyMHklM0QlMjItMTEyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VTZW5kVG9fU1FMX2RlbGV0ZUFsbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFTHk4Z1FXeHNaWE1nYk1PMmMyTm9aVzROQ25ObGJtUlVieWdpYzNGc0xqQWlMQ0FpWkdWc1pYUmxRV3hzSWl3Z2V3MEtJQ0FnSUNKcFpDSTZJQ2N3WDNWelpYSmtZWFJoTGpBdVVGWkdiM0psWTJGemRDNVRiMjV1Wlc1elkyaGxhVzRuTEEwS2ZTd2dZWE41Ym1NZ1puVnVZM1JwYjI0Z0tISmxjM1ZzZENrZ2V3MEtJQ0FnSUNBZ1kyOXVjMjlzWlM1c2IyY29jbVZ6ZFd4MEtUc05DbjBwT3cwSyUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyZW1GOTBOJTVCeEElNUQudyUzQWUlMjQwYTUlNjBBJTIyJTIweCUzRCUyMjI4OCUyMiUyMHklM0QlMjItNjIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFVHJpZ2dlciUyMGF1ZiUyMGRlbiUyMERhdGVucHVua3QlMjBKU09OVGFibGUlMjBkZXIlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJ2JTdDZzVSJTQwUEJTbGZSJTdCJTdEZ3F0V1IxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRWdldyVDMyVCQ25zY2h0ZW4lMjBBbmxhZ2UlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMjIlN0Q4MWdOU1BuNDhteHQtQzMyTjMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiUyNGZVQyUyRmtnaCU1RTclNUJwQlpqZHMlMkMlNUJOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyUX4lNUJ+TDclNjAlM0ZqZmY5dzAhJTdDJTdCUiF+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXB2Zm9yZWNhc3QuMS5wbGFudHMuc29ubmVuc2NoZWluLkpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJ4aXBrJTJDUTRtJTJGJTI0WmJxKDl4UCU1RE4lM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFRGVuJTIwSlNPTiUyMGluJTIwZWluZSUyMFZhcmlhYmxlJTIwYWxzJTIwT2JqZWt0JTIwaG9sZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI5bGU4bkJfJTdERSUyQiU3QiUzRCU1RXpoJTNBRnV0YSUyMiUyMGRpc2FibGVkJTNEJTIydHJ1ZSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQiUyNG5fJTdDTHQlM0ZWJTNGZGx0RyUyNDElM0QlMjVVISUyMiUzRUpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X2pzb24yb2JqZWN0JTIyJTIwaWQlM0QlMjJDJTVFJTYwKTZlIVc0YXRkLiElMkIlN0IoaSU2MEQlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMkNYJTNGcSU1REdjOGolNUJLczJGNC55YyUzRGMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyWSUzQWVleEhjVU5pNWFQJTYwJTNEc2g1XyUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjJ5VjkyJTI1ayU3QmMlNDBhUiUyNHQlNDBGViU3Q1ZLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXB2Zm9yZWNhc3QuMS5wbGFudHMuc29ubmVuc2NoZWluLkpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnklM0FKJTdDeU9JNjlhS3JfJTVEZSU3RFglN0QpcSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQiUyNG5fJTdDTHQlM0ZWJTNGZGx0RyUyNDElM0QlMjVVISUyMiUzRUpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMkdEUmR5SiUyNVlVaTRVJTdCUCUzQXhoZSUyNUwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUudmFsJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMjc4JTdCJTJGKHElNUV6byUzQVZtMyklN0RZZU1LcyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VEZW4lMjBKU09OJTIwbm9jaG1hbCUyMGFscyUyMExpc3RlJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTI0QyUzQSUzQiU3Q0ZfRU5lJTNGS2MlN0JmOUUqdEUlMjIlMjBkaXNhYmxlZCUzRCUyMnRydWUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnpxU1N0MS5sUEJyUCFwcnRKcCUzQSU1QiUyMiUzRUpTT05MaXN0ZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19zcGxpdCUyMiUyMGlkJTNEJTIyJTNBNCU1QiU1QjlCc1Z3U3UtJTIzU0ZTJTJGcXAlMjMlMjIlM0UlM0NtdXRhdGlvbiUyMG1vZGUlM0QlMjJTUExJVCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTU9ERSUyMiUzRVNQTElUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJTlBVVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMmslMjQlN0JfTHhKbFF+SmMlMjUlNUU4bVElM0JKMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTQwKExMRU85RGNaQ18xMDdQWTdlJTNCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXB2Zm9yZWNhc3QuMS5wbGFudHMuc29ubmVuc2NoZWluLkpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxJTSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJfJTNEaXIpLS1DfksuNSElMkMlNDAzISUyNSU0MDQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTdEJTJDJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyS1RISWFlaiU3Qk1WNVRUeHNlaHUlM0FoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ6cVNTdDEubFBCclAhcHJ0SnAlM0ElNUIlMjIlM0VKU09OTGlzdGUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfc3BsaXQlMjIlMjBpZCUzRCUyMiU2MCUyMyU1QnRwJTVEOCU1RHkhTCU1RUxFcDhPTClKJTIyJTNFJTNDbXV0YXRpb24lMjBtb2RlJTNEJTIyU1BMSVQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk1PREUlMjIlM0VTUExJVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySU5QVVQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMmMpJTJDcSU2MCk3ZFp5WClHdFclM0JPZTBZJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkRFTElNJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmtvUEp1QnUlMkZIbSUyRkQ3JTJCJTVCJTI0RFIlMjQlNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTdEJTJDJTdCJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyX2REV1J3cW9yaHYlN0NLNHIyMCUyQkNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRVolQzMlQTRobGVyJTIwZiVDMyVCQ3IlMjBkaWUlMjBlaW56ZWxuZW4lMjBXZXJ0ZSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnclNUJITlFGWihwS0MlM0IoTG9uc3BwRyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTVCJTJDbm9aJTJCISUyM1IoJTVCdilWbGklNUJKQUMlMjIlM0Vjb3VudGVyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMjRZRCUyMylaNiU1RC4hMHdVOCUzQSFJRlktJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFLTElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIybk9OJTJGLklNKi5YNUw3QlNmcW4uaiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VWb3JoZXJpZ2UlMjBXZXJ0ZSUyMGwlQzMlQjZzY2hlbiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbGN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjJNampsQWQlMkMlMjMwMmRIOSUzQiU1QjkxQSUzQWUlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJTZW5kVG9fU1FMX2RlbGV0ZUFsbCUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMiUyQlV4UCU1RFVGWCpLKkF5OCU0MCUyQi4zRCglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFS3VyeiUyMHdhcnRlbiUyMC4uLiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3dhaXQlMjIlMjBpZCUzRCUyMmIlMjMlNUI1QkNVNCUyM3ZELiUyQiU0MFJJZ3h3ciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkRFTEFZJTIyJTNFMiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRXNlYyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMiUzRnFsRyU0MGJWMW5qN0slMjVoOCUzRiU2MFMtaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VEaWUlMjBXZXJ0ZSUyMGFiYXJiZWl0ZW4lM0ElM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3JFYWNoJTIyJTIwaWQlM0QlMjJzWiUyNU5oTlN4QzEwc0FnJTQwTyU1REt6NiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSU1QnhTJTNEc0gpLkRLQlM4b0dOJTQwY3MlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIycHNCM1JRNDJkbUh5JTVCJTNEYUtycyEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ6cVNTdDEubFBCclAhcHJ0SnAlM0ElNUIlMjIlM0VKU09OTGlzdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIwaSUzRlh1MiU0MGhVdiUyQ2c0JTNGJTNCaTVGaGwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFV2lyZCUyMGJlaW0lMjBlcnN0ZW4lMjBtYWwlMjAwJTIwc2VpbiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfY2hhbmdlJTIyJTIwaWQlM0QlMjJsaWV0JTVCNSUyM0wlNDB+JTYwSSU1RHQlN0I4JTNBJTJGRXMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU1QiUyQ25vWiUyQiElMjNSKCU1QnYpVmxpJTVCSkFDJTIyJTNFY291bnRlciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMVEElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjk4NnFMdkNGJTVCSjJWSyU1RW5vMCU0MFJwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyJTdEZlBJJTJGUSUzQmZWdTdWLXVZdVgySSUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VXaXIlMjBhcmJlaXRlbiUyMGRpZSUyMExpc3RlJTIwYWIlMkMlMjBudXR6ZW4lMjBhYmVyJTIwZGFzJTIwT2JqZWt0ISUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiU1RXcpJTNCJTQwaV9rZHRqV1dmJTNGYyU3REJjTyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGtIJTIzcWNFJTNESDUlMkZfN35PdHRXNSglMjIlM0V0ZW1wRGF0dW0lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X2F0dHIlMjIlMjBpZCUzRCUyMmpUUmJXXy13STQtJTdELiElMkM1VihWSiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlBBVEglMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyM3IlNjBXOSUyRn5Ub0VqJTdCQWJ4JTNBKWFneCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyeG9GbVNiflklMkJ4bkQlM0Jjdk0lN0NnJTNCLSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIySzklM0I0TFElMjQxUyUyRiU2MGF0JTIzWVk1Mi5qJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlNUIlMkNub1olMkIhJTIzUiglNUJ2KVZsaSU1QkpBQyUyMiUzRWNvdW50ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyS2t0OHFWci55a3B+TlYlM0IlNDAlN0JVYXMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFLlVocnplaXQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0JKRUNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTYwLXJ3NzRJJTYwa3F5bFVXZ2VIKiUyQiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkIlMjRuXyU3Q0x0JTNGViUzRmRsdEclMjQxJTNEJTI1VSElMjIlM0VKU09OVGFibGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMmIlM0YlNURQJTJCSDlCd3Fma0RSdiUyNCUyRiUzQWooJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRURpZSUyMC0lMjBpbiUyMC4lMjB1bXdhbmRlbG4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJrJTQwdjE1QS1jWXBmJTJGdmJwUmElM0JfeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGtIJTIzcWNFJTNESDUlMkZfN35PdHRXNSglMjIlM0V0ZW1wRGF0dW0lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsY3VzdG9tcmV0dXJuJTIyJTIwaWQlM0QlMjJwJTVCa3coJTNCeUkpcFhCamp6RCUyM0QpfiUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMlJlcGxhY2VIeXBoZW4lMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyeCUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMk4paCUzRCgxVFIlNjAuOSUyMzk2JTNEbSUzRkEwWSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGtIJTIzcWNFJTNESDUlMkZfN35PdHRXNSglMjIlM0V0ZW1wRGF0dW0lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMkktNlBqemMyaW41ZlUlN0MlMkZMJTQweExUJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUluJTIwZWluJTIwRGF0dW0tT2JqZWt0JTIwdW13YW5kZWxuJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyRnNJTEJPUnNhTHJyYXpCaTFMKUolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnRrSCUyM3FjRSUzREg1JTJGXzd+T3R0VzUoJTIyJTNFdGVtcERhdHVtJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfZnJvbV9kYXRlJTIyJTIwaWQlM0QlMjI0YmJ3JTdEWkpocEhlJTdEZS4qbkowJTYwTSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGZvcm1hdCUzRCUyMmZhbHNlJTIyJTIwbGFuZ3VhZ2UlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1BUSU9OJTIyJTNFb2JqZWN0JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlJqQyUzQiUzREFjJTNCblBIRnJIQ050JTI0U0clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnRrSCUyM3FjRSUzREg1JTJGXzd+T3R0VzUoJTIyJTNFdGVtcERhdHVtJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlM0YlMkYuQWpTJTJCJTdCMTltRV9FaEM2JTNGJTdCJTI1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRURpZSUyMExlaXN0dW5nJTIwaG9sZW4lMjAoaGllciUyMGluJTIwV2glMjBzdGF0dCUyMGtXaCklM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjI3JTI0ZTElM0RaLiU3QyU3Q3R0LSU3RGIlN0QlMjQlNjBRVVglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmYlM0RNWDVieFhDZSU2MCUyMyU2MCUyNHp+SFhjRyUyMiUzRXRlbXBMZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMmN6VllFKWQlM0YlNUVoaiUzQnNCOHRRVyUyNWMlMjIlMjBpbmxpbmUlM0QlMjJmYWxzZSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTVVMVElQTFklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlFYWEklMjNuYjUxdGhVKGdZdWpPN2wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfYXR0ciUyMiUyMGlkJTNEJTIyIXAoUTIlN0IqdSUyRlUlNDAoTGRMYVdPJTNCcyUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlBBVEglMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyZU8lMkJLYyU0MEolMjM1bmNKZXhnQ2ElM0JYRyUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyNmglNDAlMkZ3JTNCdiUyQjVmSiUzQTJrJTVFZlJ1JTI0JTYwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlNUIlMkNub1olMkIhJTIzUiglNUJ2KVZsaSU1QkpBQyUyMiUzRWNvdW50ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIydSUzQmxXJTJDRU1xMWxvJTNCMHdsJTQwJTVFc35aJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRS5MZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPQkpFQ1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlM0F3QyUyNW1fKjUlMjNrVW1qU0N0Umh0KiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQiUyNG5fJTdDTHQlM0ZWJTNGZGx0RyUyNDElM0QlMjVVISUyMiUzRUpTT05UYWJsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIub1VSIUI0eTglM0IlN0RrTFh2M0hZVkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyLnIlN0RjLjYlMjQlNUJKRGYlM0QuJTdDJTIzMDBwWmolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFVW5kJTIwaW4lMjBkaWUlMjBEYXRlbmJhbmslMjBzY2hyZWliZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyQyUyQyUyRl9FbWIwXyUyQ0hYUzAlM0ElM0IwJTNGQ2IlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJTZW5kVG9fU1FMX3N0b3JlU3RhdGUlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIybXlWQUwlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIybXlUUyUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlpYJTYwJTYwJTJDMH5xVloqSCUzQmQ3NUlUIVMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmYlM0RNWDVieFhDZSU2MCUyMyU2MCUyNHp+SFhjRyUyMiUzRXRlbXBMZWlzdHVuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFSRzElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIyckMlMkNkdkZQZDMqXyUyQzEpRU9ka04lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnRrSCUyM3FjRSUzREg1JTJGXzd+T3R0VzUoJTIyJTNFdGVtcERhdHVtJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                                    

                                    Jetzt sehe ich aber das das Skript nicht mehr in mein User Objekt schreibt. Wenn ich hier von Hand einen Wert schreibe geht der nach SQL, aber vom Skript wird nicht geschrieben!

                                    Was ist nun anders oder wo liegt das Problem. Kann hier jemand helfen?
                                    Ich möchte die PVForecast Daten wieder in die SQL DB schreiben damit ich sie in Garfana wieder darstellen kann.
                                    Zum Testen des Blockly habe ich den Trigger von
                                    "wurde geändert" auf "wurde aktualisiert" geändert damit evtl. Infos zum Fehler bekomme.

                                    09:27:54.855 error javascript.0 (853) script.js.common.115_PVForecast_01: TypeError: Cannot read property 'replace' of undefined
                                    09:27:54.856 error javascript.0 (853) at ReplaceHyphen (script.js.common.115_PVForecast_01:5:14)
                                    09:27:54.856 error javascript.0 (853) at Object.<anonymous> (script.js.common.115_PVForecast_01:58:23)

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

                                    @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.

                                    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 2 Replies Last reply
                                    0
                                    • 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 Offline
                                      sonnenscheinS Offline
                                      sonnenschein
                                      wrote on last edited by
                                      #538

                                      @bananajoe
                                      Vielen Dank für die Hilfe, das hat geholfen und jetzt werden wieder Daten in die SQL DB geschrieben. Die Verbesserung mit dem NICHT alles löschen finde ich Super.

                                      VIS_Prognose.png

                                      ..muß jetzt erst mal weg, schauen nach her noch mal auf die Daten.

                                      Danke 👍

                                      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
                                      • 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 Offline
                                        sonnenscheinS Offline
                                        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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          539

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          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