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 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
                            • paul53
                              paul53 @babl last edited by paul53

                              @babl sagte:

                              den datenpunkt "0_userdata.0.Solar." muß ich selbst erstellen in den objekten, oder?

                              Nein, die Struktur wird durch das Script erzeugt. Das ist kein Datenpunkt, sondern ein Ordner.

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

                                @paul53 ok danke, ich habe es dann mal aktiviert, schaun wir mal was passiert, aufgeregt.👍

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

                                  @paul53 sagte in Solarprognose:

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

                                  Ich habe leider auch keine andere Lösung gefunden.

                                  Da wir eine PV-Anlage nutzen, wäre auch ich sehr an der Prognose interessiert.
                                  Vor allem die grafische Darstellung.

                                  Grüße

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

                                    @paul53 hallo schaut gut aus, die punkte werden erzeugt und stehen in den objekten, coole sache aber was mir gerade so kommt hier bläht sich ja dann die datenbank immens auf kann man eventuell dieses script erweitern und die vergangen tage us den objekten löschen?. Und ein weiteres Problem sehe ich noch wie ich die Daten verwenden kann denn morgen ist es ja ein anderer Datenpunkt. Hast du da eine Idee oder jemand anderes?

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

                                      @babl
                                      Da Du keine Auskunft gegeben hast, welche Daten Du abholst, musste das Datum mit in die Datenpunkt-ID. Ich habe es nur an den Daten selbst gesehen, dass es die Daten von 2 Tagen sind. Wenn Du mitteilst, dass immer die Werte von heute und morgen abgeholt werden, kann man auch mit festen Datenpunkt-IDs arbeiten, so dass deren Anzahl konstant bleibt.

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

                                        @paul53 sorry dafür, das wußte ich nicht, schäm😥

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

                                          @babl
                                          Wenn nur die Werte von heute und morgen abgeholt werden, kann es so aussehen:

                                          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;
                                                          let wdHeute = new Date().getDay();
                                                          for(let entry in data) {
                                                              let wd = new Date(1000 * parseInt(entry)).getDay();
                                                              let time = formatDate(parseInt(entry), 'hh:mm');
                                                              if(wd == wdHeute) time = 'heute_' + time;
                                                              else time = 'morgen_' + time;
                                                              if(existsState(idLeistung + time)) setState(idLeistung + time, data[entry][0]);
                                                              else createState(idLeistung + time, data[entry][0], {
                                                                  type: 'number', 
                                                                  role: 'value', 
                                                                  name: 'Solarleistung ' + time,
                                                                  read: true,
                                                                  write: false,
                                                                  unit: 'kW'
                                                              });
                                                              if(existsState(idEnergie + time)) setState(idEnergie + time, data[entry][1]);
                                                              else createState(idEnergie + time, data[entry][1], {
                                                                  type: 'number', 
                                                                  role: 'value', 
                                                                  name: 'Solarenergie ' + time,
                                                                  read: true,
                                                                  write: false,
                                                                  unit: 'kWh'
                                                              });
                                                          }
                                                      }
                                                  }
                                              });
                                          });
                                          
                                          B R 2 Replies Last reply Reply Quote 1
                                          • B
                                            babl @paul53 last edited by

                                            @paul53 top, jetzt muß ich nur noch das irgendwie zum anzeigen bringen

                                            R 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

                                            732
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter javascript solarprognose
                                            27
                                            157
                                            18786
                                            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