Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Solarprognose

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Solarprognose

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      babl @paul53 last edited by

      @paul53 in flot ein diagramm zum möglichen solarertrag daß ich dann in vis einbinden kann.

      {"status":0,"iLastPredictionGenerationEpochTime":1601799281,"weather_source_text":"<a target=\"_blank\" href=\"https://www.dwd.de/DE/service/copyright/copyright_node.html\"><img src=\"http://www.solarprognose.de/web/img/dwd_logo_258x69.png\"></a>","datalinename":"Germany > Zimmering","data":{"1601787600":[0,0],"1601791200":[0.09,0.09],"1601794800":[0.829,0.919],"1601798400":[1.838,2.757],"1601802000":[2.698,5.455],"1601805600":[3.14,8.595],"1601809200":[3.371,11.966],"1601812800":[3.168,15.134],"1601816400":[2.518,17.652],"1601820000":[2.029,19.681],"1601823600":[1.753,21.434],"1601827200":[1.205,22.639],"1601830800":[0,22.639],"1601874000":[0,0],"1601877600":[0.045,0.045],"1601881200":[0.466,0.511],"1601884800":[0.995,1.506],"1601888400":[1.372,2.878],"1601892000":[1.553,4.431],"1601895600":[1.617,6.048],"1601899200":[1.497,7.545],"1601902800":[1.356,8.901],"1601906400":[1.215,10.116],"1601910000":[1.063,11.179],"1601913600":[0.778,11.957],"1601917200":[0,11.957]}}
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @babl last edited by

        @babl sagte:

        in flot ein diagramm zum möglichen solarertrag daß ich dann in vis einbinden kann.

        Flot kann nur History-Daten mit Echtzeit als x-Achse darstellen, keine Vorausschau.

        B R 2 Replies Last reply Reply Quote 0
        • B
          babl @paul53 last edited by

          @paul53 aah ok, da hast du auch wieder recht, hmmmm das ist alles nicht so einfach wie ich mir das vorstelle. Wenn man diese dann als Tabelle ausgibt würde mir auch reichen für den anfang, zuerst muß ich mal die daten aus dem json bekommen da geht das 1. problem schon los das andere mit der aufbereitung wäre erst der nächste schritt

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @babl last edited by paul53

            @babl sagte:

            zuerst muß ich mal die daten aus dem json bekommen

            Der JSON-String kann nicht geparst werden, da unzulässige Zeichen (Backslash) enthalten sind. Du solltest es nicht mit dem Parser-Adapter, sondern in Javascript mit request() einlesen.

            const url = 'hier die komplette URL eintragen';
            
            request(url, function (error, response, result) {
                if(error) log(error, 'error');
                else log(result);
            });
            

            Wenn man durch JSON.parse() das Objekt hat, kann man es weiter auswerten:

                if(obj.status) log('Fehler: ' + obj.status, 'warn');
                else {
                    let data = obj.data;
                    for(let entry in data) {
                        log(formatDate(parseInt(entry), 'DD.MM.YYYY hh:mm: ') + data[entry][0] + ' kW, ' + data[entry][1] + ' kWh');
                    }
                }
            

            was folgende Log-Ausgabe erzeugt:

            12:01:06.837	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 07:00: 0 kW, 0 kWh
            12:01:06.838	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 08:00: 0.09 kW, 0.09 kWh
            12:01:06.838	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 09:00: 0.829 kW, 0.919 kWh
            12:01:06.838	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 10:00: 1.838 kW, 2.757 kWh
            12:01:06.838	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 11:00: 2.698 kW, 5.455 kWh
            12:01:06.838	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 12:00: 3.14 kW, 8.595 kWh
            12:01:06.839	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 13:00: 3.371 kW, 11.966 kWh
            12:01:06.839	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 14:00: 3.168 kW, 15.134 kWh
            12:01:06.839	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 15:00: 2.518 kW, 17.652 kWh
            12:01:06.839	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 16:00: 2.029 kW, 19.681 kWh
            12:01:06.839	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 17:00: 1.753 kW, 21.434 kWh
            12:01:06.839	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 18:00: 1.205 kW, 22.639 kWh
            12:01:06.839	info	javascript.1 (1944) script.js.common.Test: 04.10.2020 19:00: 0 kW, 22.639 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 07:00: 0 kW, 0 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 08:00: 0.045 kW, 0.045 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 09:00: 0.466 kW, 0.511 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 10:00: 0.995 kW, 1.506 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 11:00: 1.372 kW, 2.878 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 12:00: 1.553 kW, 4.431 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 13:00: 1.617 kW, 6.048 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 14:00: 1.497 kW, 7.545 kWh
            12:01:06.840	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 15:00: 1.356 kW, 8.901 kWh
            12:01:06.841	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 16:00: 1.215 kW, 10.116 kWh
            12:01:06.841	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 17:00: 1.063 kW, 11.179 kWh
            12:01:06.841	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 18:00: 0.778 kW, 11.957 kWh
            12:01:06.841	info	javascript.1 (1944) script.js.common.Test: 05.10.2020 19:00: 0 kW, 11.957 kWh
            
            B 1 Reply Last reply Reply Quote 0
            • B
              babl @paul53 last edited by

              @paul53 danke für deine mühe, aber ich komme hier überhaupt nicht mit wie das alles funktionieren soll.

              ich habe das 1. script von dir als java script ausführen lassen, da passiert nichts.

              du schreibst dann "wenn man durch JSon.parse() das Objekt hat" sorry keine Ahnung was du damit meinst.

              ich weiß das ist schei.... wenn man als noob hier alles loggen und auslesen will und keine ahnung hat, sorry dafür. habe auch schon gegoogelt aber das mit dem javascript ist totales neuland für mich.

              Gruß Babl (schönen Sonntag wünsch ich)

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @babl last edited by

                @babl sagte:

                ich habe das 1. script von dir als java script ausführen lassen, da passiert nichts.

                Vielleicht wird ein Error zurück geliefert ? Ich habe das Script oben um ein Error-Log erweitert.

                B 1 Reply Last reply Reply Quote 0
                • B
                  babl @paul53 last edited by

                  @paul53 ne das müßte schon passen, aber jetzt ist die max anzahl der api requests erreicht deshalb kommt ein fehler zurück. Habe es deshalb gestoppt. Aber trotzdem hilft mich das alles nichts denn wie gesagt habe keinen plan was dann weiter zu tun ist.

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @babl last edited by

                    @babl sagte:

                    habe keinen plan was dann weiter zu tun ist.

                    Wenn Du den JSON-String in der Log-Ausgabe in Code tags postest, kann ich weiterhelfen.
                    Wie soll die Struktur der Datenpunkte aussehen in die die Werte für Leistung und Energie geschrieben werden sollen ?

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      babl @paul53 last edited by babl

                      @paul53 danke dir, ich probier das morgen nochmal, da sollten die requests wieder passen, ich schau mir das dann auf jeden fall mal an wie du das machst vielleicht komme ich da auch dahinter.

                      Vielleicht könnte man das in dieser Form irgendwie darstellen.

                      auswertung.jpg

                      So könnte ich dann es direkt auf der Webseite anpassen von der ich mir die Daten hole daß es einigermaßen mit der vorhersage stimmt.

                      paul53 Homoran 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @babl last edited by

                        @babl sagte:

                        Vielleicht könnte man das in dieser Form irgendwie darstellen.

                        Keine Ahnung, wie man das in ioBroker mit Vorhersagen hinbekommt.
                        So etwas könnte erzeugt werden:

                        Solar-Objekte.JPG

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          babl @paul53 last edited by

                          @paul53 wow, schaut doch gut aus. aber warum funktioniert das bei dir, und du hast die daten schon, oder hast du nur jetzt die daten aus dem obigen code genommen.

                          paul53 2 Replies Last reply Reply Quote 0
                          • paul53
                            paul53 @babl last edited by paul53

                            @babl sagte:

                            hast du nur jetzt die daten aus dem obigen code genommen.

                            Ja, habe ich in das Script kopiert.

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              babl @paul53 last edited by

                              @paul53 da muß ich noch viel lernen habe mir das ein wenig simpler vorgestellt, da wo die adapter da sind da bekomme ich das auch hin und ein blockly script schreiben um die werte vom orginalen datenpunkt zu einem alias datenpunkt umwandeln und dann von watt nach kw umzurechnen das habe ich auch noch hinbekommen, aber dann trennt sich leider der spreu vom weizen wie man so schön sagt.

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @babl last edited by

                                @babl sagte in Solarprognose:

                                man das in dieser Form irgendwie darstellen.

                                ist jetzt etwas OT, aber 21 kWh am Tag bei maximal 3,1 kW klingt für mich etwas unglaublich.
                                Da müsste ja etwa 7 Stunden die Höchstleistung geliefert worden sein

                                B H 2 Replies Last reply Reply Quote 0
                                • paul53
                                  paul53 @babl last edited by paul53

                                  @babl sagte in Solarprognose:

                                  schaut doch gut aus.

                                  Dann hier ein komplettes Script, das jede Stunde von 4:16 Uhr bis 22:16 Uhr die Daten holt:

                                  const url = 'hier die komplette URL eintragen';
                                  const path = '0_userdata.0.Solar.';
                                  const idLeistung = path + 'Leistung.';
                                  const idEnergie  = path + 'Energie.';
                                  
                                  schedule('16 4-22 * * *', function() { 
                                      request(url, function (error, response, result) {
                                          if(error) log(error, 'error');
                                          else {
                                              let obj = JSON.parse(result);
                                              if(obj.status) log('Fehler: ' + obj.status, 'warn');
                                              else {
                                                  let data = obj.data;
                                                  for(let entry in data) {
                                                      let time = formatDate(parseInt(entry), 'MM-DD.hh:mm');
                                                      if(existsState(idLeistung + time)) setState(idLeistung + time, data[entry][0], true);
                                                      else createState(idLeistung + time, data[entry][0], {
                                                          type: 'number', 
                                                          role: 'value', 
                                                          name: 'Solarleistung ' + formatDate(parseInt(entry), 'DD.MM. hh:mm'),
                                                          read: true,
                                                          write: false,
                                                          unit: 'kW'
                                                      });
                                                      if(existsState(idEnergie + time)) setState(idEnergie + time, data[entry][1], true);
                                                      else createState(idEnergie + time, data[entry][1], {
                                                          type: 'number', 
                                                          role: 'value', 
                                                          name: 'Solarenergie ' + formatDate(parseInt(entry), 'DD.MM. hh:mm'),
                                                          read: true,
                                                          write: false,
                                                          unit: 'kWh'
                                                      });
                                                  }
                                              }
                                          }
                                      });
                                  });
                                  
                                  B 2 Replies Last reply Reply Quote 0
                                  • B
                                    babl @Homoran last edited by

                                    @Homoran jepp, habe ich mir auch schon gedacht noch dazu bin ich heute schon bei 26kw die geproddet wurden.

                                    kann ja auch sein, daß ich irgendwas verkehrt eingestellt habe auf der webseite von denen. Da kümmere ich mich später drum. Zuerst wollte ich mal ein Vis zusammenbasteln, mit den Daten.

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      babl @paul53 last edited by

                                      @paul53 sagte in Solarprognose:

                                      wow, cool wie kann man sowas so schnell erstellen, gibt es hier eine anleitung? ich will dich ja nicht andauernd nerven 🙂

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @babl last edited by

                                        @babl sagte:

                                        wie kann man sowas so schnell erstellen

                                        Etwas Erfahrung gehört schon dazu.

                                        Homoran B 2 Replies Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @paul53 last edited by

                                          @paul53 sagte in Solarprognose:

                                          Etwas Erfahrung gehört schon dazu.

                                          Die Untertreibung des Jahrhunderts ! 😉

                                          Meister Mopper 1 Reply Last reply Reply Quote 0
                                          • B
                                            babl @paul53 last edited by

                                            @paul53 wer es glaubt. eine frage noch den datenpunkt "0_userdata.0.Solar." muß ich selbst erstellen in den objekten, oder?

                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            797
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter javascript solarprognose
                                            27
                                            157
                                            18798
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo