Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Scriptoptimierung Solarprognose

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    853

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Scriptoptimierung Solarprognose

Scheduled Pinned Locked Moved JavaScript
18 Posts 5 Posters 1.2k Views 5 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.
  • arteckA Offline
    arteckA Offline
    arteck
    Developer Most Active
    wrote on last edited by
    #2

    @icebear sagte in Scriptoptimierung Solarprognose:

    Leider weiß ich nicht mehr wer der Ersteller des Script ist, sonst hätte ich mich direkt an den gewandt. Vielleicht kann ja hier einer eine Anpassung vornehmen, das die Ordner in der Vergangenheit automatisch gelöscht werden. (Also alles was älter als heute ist.)

    na ja eigentlich ist das was da gemacht wird mumpitz... eine historie legt man über entsprechendes adapter (influx oder history oder oder)
    und nicht über Datenpunkte....

    zigbee hab ich, zwave auch, nuc's genauso und HA auch

    icebearI 1 Reply Last reply
    0
    • arteckA arteck

      @icebear sagte in Scriptoptimierung Solarprognose:

      Leider weiß ich nicht mehr wer der Ersteller des Script ist, sonst hätte ich mich direkt an den gewandt. Vielleicht kann ja hier einer eine Anpassung vornehmen, das die Ordner in der Vergangenheit automatisch gelöscht werden. (Also alles was älter als heute ist.)

      na ja eigentlich ist das was da gemacht wird mumpitz... eine historie legt man über entsprechendes adapter (influx oder history oder oder)
      und nicht über Datenpunkte....

      icebearI Offline
      icebearI Offline
      icebear
      wrote on last edited by icebear
      #3

      @arteck said in Scriptoptimierung Solarprognose:

      na ja eigentlich ist das was da gemacht wird mumpitz... eine historie legt man über entsprechendes adapter (influx oder history oder oder)
      und nicht über Datenpunkte....

      Da bin ich ja ganz bei dir, nur leider fehlt mir die Kenntnis, um das anzupassen. Mich interessieren eigentlich nur die Ordner, die die Werte für 'Heute' und die nächsten drei Tage enthalten.

      1 Reply Last reply
      0
      • arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        wrote on last edited by arteck
        #4

        @icebear

        kommst du damit besser klar

        const url = 'http://www.solarprognose.de/web/solarprediction/api/v1?_format=json&access-token=xxxxxxxxxxxxxxxxxxxxxx&item=location&id=xxxx&type=hourly';
        const path = '0_userdata.0.Solar2';
        
        schedule('4 8,10,12,14,16 * * *', function() {
             abfrage();
        });
        
        function abfrage() {
            httpGet(url, function (error, response) {
                if (error) {
                    log(error, 'error');
                }
                else {
                    let obj = JSON.parse(response.data);
                    dpCreate('', obj.data, 'string');
                    dpFill(obj);
                }
            });
        }
        
        function dpFill(obj) {
            if (obj.status) { 
                log('Fehler: ' + obj.status, 'warn');
            } else {
                let data = obj.data;
                
                const outArray = formatAndSplitData(data);
        
                dpCreate('.heute', outArray.heute);   
                dpCreate('.morgen', outArray.morgen); 
                dpCreate('.uebermorgen', outArray.uebermorgen); 
        
            }
        }
        
        
        function formatAndSplitData(data) {
            const SECONDS_IN_A_DAY = 86400;
            const MS_IN_A_SECOND = 1000;
        
            const now = new Date();
            const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime();
            const tomorrowStart = todayStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
            const dayAfterTomorrowStart = tomorrowStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
        
            const result = {
                heute: [],
                morgen: [],
                uebermorgen: []
            };
        
            for (const [timestamp, values] of Object.entries(data)) {
                const ts = Number(timestamp) * MS_IN_A_SECOND; // Convert timestamp to milliseconds
                const date = new Date(ts);
                const formattedTime = date.toLocaleTimeString("de-DE", { hour: "2-digit", minute: "2-digit" }); // Format as "hh:mm"
        
                const entry = [formattedTime, ...values];
        
                if (ts >= todayStart && ts < tomorrowStart) {
                    result.heute.push(entry);
                } else if (ts >= tomorrowStart && ts < dayAfterTomorrowStart) {
                    result.morgen.push(entry);
                } else if (ts >= dayAfterTomorrowStart) {
                    result.uebermorgen.push(entry);
                }
            }
        
            return result;
        }
        
        function dpCreate(text, data, typ) {
            createState(path + text + '.Json', [], false, {
                name: 'json' + text,
                type: typ == "string" ? typ : 'array', 
                role: 'json', 
                read: true,
                write: false
            });
        
            setTimeout(function () { 
                setState(path + text + '.Json', data, true);
            }, 600);
        }
        

        der genereirt nur arrays für heute morgen und übermorgen
        3b2bfd57-0058-41a0-97ff-65c0f3252361-grafik.png

        die kannst du dann im blockly weiterverarbeiten

        zigbee hab ich, zwave auch, nuc's genauso und HA auch

        icebearI Meister MopperM 3 Replies Last reply
        0
        • arteckA arteck

          @icebear

          kommst du damit besser klar

          const url = 'http://www.solarprognose.de/web/solarprediction/api/v1?_format=json&access-token=xxxxxxxxxxxxxxxxxxxxxx&item=location&id=xxxx&type=hourly';
          const path = '0_userdata.0.Solar2';
          
          schedule('4 8,10,12,14,16 * * *', function() {
               abfrage();
          });
          
          function abfrage() {
              httpGet(url, function (error, response) {
                  if (error) {
                      log(error, 'error');
                  }
                  else {
                      let obj = JSON.parse(response.data);
                      dpCreate('', obj.data, 'string');
                      dpFill(obj);
                  }
              });
          }
          
          function dpFill(obj) {
              if (obj.status) { 
                  log('Fehler: ' + obj.status, 'warn');
              } else {
                  let data = obj.data;
                  
                  const outArray = formatAndSplitData(data);
          
                  dpCreate('.heute', outArray.heute);   
                  dpCreate('.morgen', outArray.morgen); 
                  dpCreate('.uebermorgen', outArray.uebermorgen); 
          
              }
          }
          
          
          function formatAndSplitData(data) {
              const SECONDS_IN_A_DAY = 86400;
              const MS_IN_A_SECOND = 1000;
          
              const now = new Date();
              const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime();
              const tomorrowStart = todayStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
              const dayAfterTomorrowStart = tomorrowStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
          
              const result = {
                  heute: [],
                  morgen: [],
                  uebermorgen: []
              };
          
              for (const [timestamp, values] of Object.entries(data)) {
                  const ts = Number(timestamp) * MS_IN_A_SECOND; // Convert timestamp to milliseconds
                  const date = new Date(ts);
                  const formattedTime = date.toLocaleTimeString("de-DE", { hour: "2-digit", minute: "2-digit" }); // Format as "hh:mm"
          
                  const entry = [formattedTime, ...values];
          
                  if (ts >= todayStart && ts < tomorrowStart) {
                      result.heute.push(entry);
                  } else if (ts >= tomorrowStart && ts < dayAfterTomorrowStart) {
                      result.morgen.push(entry);
                  } else if (ts >= dayAfterTomorrowStart) {
                      result.uebermorgen.push(entry);
                  }
              }
          
              return result;
          }
          
          function dpCreate(text, data, typ) {
              createState(path + text + '.Json', [], false, {
                  name: 'json' + text,
                  type: typ == "string" ? typ : 'array', 
                  role: 'json', 
                  read: true,
                  write: false
              });
          
              setTimeout(function () { 
                  setState(path + text + '.Json', data, true);
              }, 600);
          }
          

          der genereirt nur arrays für heute morgen und übermorgen
          3b2bfd57-0058-41a0-97ff-65c0f3252361-grafik.png

          die kannst du dann im blockly weiterverarbeiten

          icebearI Offline
          icebearI Offline
          icebear
          wrote on last edited by
          #5

          @arteck said in Scriptoptimierung Solarprognose:

          kommst du damit besser klar

          Ersteinmal vielen Dank für deine Hilfe, soweit klappt das schonmal und er hat die JSON in die DP abgelegt.

          Jetzt muß ich mal schauen wie ich die mit Blockly so verarbeite das er mir die höchsten Werte und die Uhrzeit in ein DP schreibt.

          HomoranH 1 Reply Last reply
          0
          • icebearI icebear

            @arteck said in Scriptoptimierung Solarprognose:

            kommst du damit besser klar

            Ersteinmal vielen Dank für deine Hilfe, soweit klappt das schonmal und er hat die JSON in die DP abgelegt.

            Jetzt muß ich mal schauen wie ich die mit Blockly so verarbeite das er mir die höchsten Werte und die Uhrzeit in ein DP schreibt.

            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #6

            @icebear sagte in Scriptoptimierung Solarprognose:

            er hat die JSON in die DP abgelegt.

            wie sieht denn das JSON aus?

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Reply Last reply
            0
            • icebearI Offline
              icebearI Offline
              icebear
              wrote on last edited by
              #7

              @homoran said in Scriptoptimierung Solarprognose:

              wie sieht denn das JSON aus?

              [["06:00",[0,0]],["07:00",[1.077,1.077]],["08:00",[2.167,3.244]],["09:00",[3.308,6.552]],["10:00",[4.04,10.592]],["11:00",[4.29,14.882]],["12:00",[3.934,18.816]],["13:00",[2.361,21.177]],["14:00",[1.77,22.947]],["15:00",[0,22.947]]]
              

              Also Uhrzeit dann Leistung und Energie.

              Also müsste ich ein Blockly haben was mir dann aus der JSON zwei Werte in DP schreibt, hier von heute:

              DP Uhrzeit 12:00
              DP Leistung 3.934

              HomoranH paul53P 2 Replies Last reply
              0
              • icebearI icebear

                @homoran said in Scriptoptimierung Solarprognose:

                wie sieht denn das JSON aus?

                [["06:00",[0,0]],["07:00",[1.077,1.077]],["08:00",[2.167,3.244]],["09:00",[3.308,6.552]],["10:00",[4.04,10.592]],["11:00",[4.29,14.882]],["12:00",[3.934,18.816]],["13:00",[2.361,21.177]],["14:00",[1.77,22.947]],["15:00",[0,22.947]]]
                

                Also Uhrzeit dann Leistung und Energie.

                Also müsste ich ein Blockly haben was mir dann aus der JSON zwei Werte in DP schreibt, hier von heute:

                DP Uhrzeit 12:00
                DP Leistung 3.934

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #8

                @icebear Screenshot_20241130-170940_Firefox.jpg

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Reply Last reply
                0
                • icebearI icebear

                  @homoran said in Scriptoptimierung Solarprognose:

                  wie sieht denn das JSON aus?

                  [["06:00",[0,0]],["07:00",[1.077,1.077]],["08:00",[2.167,3.244]],["09:00",[3.308,6.552]],["10:00",[4.04,10.592]],["11:00",[4.29,14.882]],["12:00",[3.934,18.816]],["13:00",[2.361,21.177]],["14:00",[1.77,22.947]],["15:00",[0,22.947]]]
                  

                  Also Uhrzeit dann Leistung und Energie.

                  Also müsste ich ein Blockly haben was mir dann aus der JSON zwei Werte in DP schreibt, hier von heute:

                  DP Uhrzeit 12:00
                  DP Leistung 3.934

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #9

                  @icebear sagte: DP Uhrzeit 12:00
                  DP Leistung 3.934

                  Das Leistungs-Maximum ist um 11:00 Uhr.

                  Blockly_temp.JPG

                  EDIT: Da die Datenpunkte offenbar vom Typ "array" sind, muss man die Wandlung weglassen, da es der Javascript-Adapter macht.

                  Blockly_temp.JPG

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Reply Last reply
                  0
                  • arteckA arteck

                    @icebear

                    kommst du damit besser klar

                    const url = 'http://www.solarprognose.de/web/solarprediction/api/v1?_format=json&access-token=xxxxxxxxxxxxxxxxxxxxxx&item=location&id=xxxx&type=hourly';
                    const path = '0_userdata.0.Solar2';
                    
                    schedule('4 8,10,12,14,16 * * *', function() {
                         abfrage();
                    });
                    
                    function abfrage() {
                        httpGet(url, function (error, response) {
                            if (error) {
                                log(error, 'error');
                            }
                            else {
                                let obj = JSON.parse(response.data);
                                dpCreate('', obj.data, 'string');
                                dpFill(obj);
                            }
                        });
                    }
                    
                    function dpFill(obj) {
                        if (obj.status) { 
                            log('Fehler: ' + obj.status, 'warn');
                        } else {
                            let data = obj.data;
                            
                            const outArray = formatAndSplitData(data);
                    
                            dpCreate('.heute', outArray.heute);   
                            dpCreate('.morgen', outArray.morgen); 
                            dpCreate('.uebermorgen', outArray.uebermorgen); 
                    
                        }
                    }
                    
                    
                    function formatAndSplitData(data) {
                        const SECONDS_IN_A_DAY = 86400;
                        const MS_IN_A_SECOND = 1000;
                    
                        const now = new Date();
                        const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime();
                        const tomorrowStart = todayStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
                        const dayAfterTomorrowStart = tomorrowStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
                    
                        const result = {
                            heute: [],
                            morgen: [],
                            uebermorgen: []
                        };
                    
                        for (const [timestamp, values] of Object.entries(data)) {
                            const ts = Number(timestamp) * MS_IN_A_SECOND; // Convert timestamp to milliseconds
                            const date = new Date(ts);
                            const formattedTime = date.toLocaleTimeString("de-DE", { hour: "2-digit", minute: "2-digit" }); // Format as "hh:mm"
                    
                            const entry = [formattedTime, ...values];
                    
                            if (ts >= todayStart && ts < tomorrowStart) {
                                result.heute.push(entry);
                            } else if (ts >= tomorrowStart && ts < dayAfterTomorrowStart) {
                                result.morgen.push(entry);
                            } else if (ts >= dayAfterTomorrowStart) {
                                result.uebermorgen.push(entry);
                            }
                        }
                    
                        return result;
                    }
                    
                    function dpCreate(text, data, typ) {
                        createState(path + text + '.Json', [], false, {
                            name: 'json' + text,
                            type: typ == "string" ? typ : 'array', 
                            role: 'json', 
                            read: true,
                            write: false
                        });
                    
                        setTimeout(function () { 
                            setState(path + text + '.Json', data, true);
                        }, 600);
                    }
                    

                    der genereirt nur arrays für heute morgen und übermorgen
                    3b2bfd57-0058-41a0-97ff-65c0f3252361-grafik.png

                    die kannst du dann im blockly weiterverarbeiten

                    icebearI Offline
                    icebearI Offline
                    icebear
                    wrote on last edited by
                    #10

                    @arteck said in Scriptoptimierung Solarprognose:

                    kommst du damit besser klar

                    Soweit funktioniert das Script, allerdings ist mir aufgefallen, das anscheinend in das JSON 'Z-Zeiten' eingetragen werden.
                    Da, wenn man mal reinschaut die Zeiten mit den höchsten Erträgen um zwei Stunden nach vorne verschoben sind.

                    Ich denke nicht das um 11:00L Uhr der höchste Ertrag zu erwarten ist.

                    [["06:00",[0,0]],["07:00",[0.435,0.435]],["08:00",[1.472,1.907]],["09:00",[2.19,4.097]],["10:00",[2.819,6.916]],["11:00",[3.486,10.402]],["12:00",[3.202,13.604]],["13:00",[2.175,15.779]],["14:00",[0.953,16.732]],["15:00",[0,16.732]]]
                    
                    arteckA 1 Reply Last reply
                    0
                    • icebearI icebear

                      @arteck said in Scriptoptimierung Solarprognose:

                      kommst du damit besser klar

                      Soweit funktioniert das Script, allerdings ist mir aufgefallen, das anscheinend in das JSON 'Z-Zeiten' eingetragen werden.
                      Da, wenn man mal reinschaut die Zeiten mit den höchsten Erträgen um zwei Stunden nach vorne verschoben sind.

                      Ich denke nicht das um 11:00L Uhr der höchste Ertrag zu erwarten ist.

                      [["06:00",[0,0]],["07:00",[0.435,0.435]],["08:00",[1.472,1.907]],["09:00",[2.19,4.097]],["10:00",[2.819,6.916]],["11:00",[3.486,10.402]],["12:00",[3.202,13.604]],["13:00",[2.175,15.779]],["14:00",[0.953,16.732]],["15:00",[0,16.732]]]
                      
                      arteckA Offline
                      arteckA Offline
                      arteck
                      Developer Most Active
                      wrote on last edited by arteck
                      #11

                      @icebear jetzt wo du es sagst... ziehmal das script nochmal

                      ich hab aber auch die ausgabe geändert .. so kann man es direkt im JSON Table widget nutzen

                      [["07:00",0,0],["08:00",0.291,0.291],["09:00",1.333,1.624],["10:00",2.62,4.244],["11:00",3.213,7.457],["12:00",3.677,11.134],["13:00",3.686,14.82],["14:00",3.247,18.067],["15:00",1.353,19.42],["16:00",0,19.42]]
                      

                      4ccdfd9b-fe5f-4c47-ac27-3cfcc0b42af9-grafik.png

                      zigbee hab ich, zwave auch, nuc's genauso und HA auch

                      paul53P 1 Reply Last reply
                      1
                      • arteckA arteck

                        @icebear jetzt wo du es sagst... ziehmal das script nochmal

                        ich hab aber auch die ausgabe geändert .. so kann man es direkt im JSON Table widget nutzen

                        [["07:00",0,0],["08:00",0.291,0.291],["09:00",1.333,1.624],["10:00",2.62,4.244],["11:00",3.213,7.457],["12:00",3.677,11.134],["13:00",3.686,14.82],["14:00",3.247,18.067],["15:00",1.353,19.42],["16:00",0,19.42]]
                        

                        4ccdfd9b-fe5f-4c47-ac27-3cfcc0b42af9-grafik.png

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #12

                        @arteck sagte: die ausgabe geändert

                        Damit vereinfacht sich auch das Blockly zur Ermittlung des Leistungsmaximums.

                        Blockly_temp.JPG

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Reply Last reply
                        0
                        • icebearI Offline
                          icebearI Offline
                          icebear
                          wrote on last edited by
                          #13

                          @arteck
                          @paul53

                          Super vielen Dank für eure Hilfe, soweit ich jetzt getestet hab funktioniert das ganze jetzt so wie ich mir das vorgestellt hab.

                          Also nochmal vielen Dank!!!!

                          1 Reply Last reply
                          0
                          • arteckA arteck

                            @icebear

                            kommst du damit besser klar

                            const url = 'http://www.solarprognose.de/web/solarprediction/api/v1?_format=json&access-token=xxxxxxxxxxxxxxxxxxxxxx&item=location&id=xxxx&type=hourly';
                            const path = '0_userdata.0.Solar2';
                            
                            schedule('4 8,10,12,14,16 * * *', function() {
                                 abfrage();
                            });
                            
                            function abfrage() {
                                httpGet(url, function (error, response) {
                                    if (error) {
                                        log(error, 'error');
                                    }
                                    else {
                                        let obj = JSON.parse(response.data);
                                        dpCreate('', obj.data, 'string');
                                        dpFill(obj);
                                    }
                                });
                            }
                            
                            function dpFill(obj) {
                                if (obj.status) { 
                                    log('Fehler: ' + obj.status, 'warn');
                                } else {
                                    let data = obj.data;
                                    
                                    const outArray = formatAndSplitData(data);
                            
                                    dpCreate('.heute', outArray.heute);   
                                    dpCreate('.morgen', outArray.morgen); 
                                    dpCreate('.uebermorgen', outArray.uebermorgen); 
                            
                                }
                            }
                            
                            
                            function formatAndSplitData(data) {
                                const SECONDS_IN_A_DAY = 86400;
                                const MS_IN_A_SECOND = 1000;
                            
                                const now = new Date();
                                const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime();
                                const tomorrowStart = todayStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
                                const dayAfterTomorrowStart = tomorrowStart + SECONDS_IN_A_DAY * MS_IN_A_SECOND;
                            
                                const result = {
                                    heute: [],
                                    morgen: [],
                                    uebermorgen: []
                                };
                            
                                for (const [timestamp, values] of Object.entries(data)) {
                                    const ts = Number(timestamp) * MS_IN_A_SECOND; // Convert timestamp to milliseconds
                                    const date = new Date(ts);
                                    const formattedTime = date.toLocaleTimeString("de-DE", { hour: "2-digit", minute: "2-digit" }); // Format as "hh:mm"
                            
                                    const entry = [formattedTime, ...values];
                            
                                    if (ts >= todayStart && ts < tomorrowStart) {
                                        result.heute.push(entry);
                                    } else if (ts >= tomorrowStart && ts < dayAfterTomorrowStart) {
                                        result.morgen.push(entry);
                                    } else if (ts >= dayAfterTomorrowStart) {
                                        result.uebermorgen.push(entry);
                                    }
                                }
                            
                                return result;
                            }
                            
                            function dpCreate(text, data, typ) {
                                createState(path + text + '.Json', [], false, {
                                    name: 'json' + text,
                                    type: typ == "string" ? typ : 'array', 
                                    role: 'json', 
                                    read: true,
                                    write: false
                                });
                            
                                setTimeout(function () { 
                                    setState(path + text + '.Json', data, true);
                                }, 600);
                            }
                            

                            der genereirt nur arrays für heute morgen und übermorgen
                            3b2bfd57-0058-41a0-97ff-65c0f3252361-grafik.png

                            die kannst du dann im blockly weiterverarbeiten

                            Meister MopperM Offline
                            Meister MopperM Offline
                            Meister Mopper
                            wrote on last edited by
                            #14

                            @arteck sagte in Scriptoptimierung Solarprognose:

                            kommst du damit besser klar

                            Ich habe das Skript mal hier implementiert, bekomme aber für uebermorgen keine Ergebnisse, obwohl ich heute bei solarprognose.de die Prognose von 2 auf 3 Tage erhöht habe.

                            f92496a6-a19d-409f-9e10-12d5a78c69ea-grafik.png

                            Hast Du eine Idee, woran das liegen könnte, und was hast Du da eingetragen?

                            752b8346-7d67-4e43-8217-b670907f2732-grafik.png

                            Proxmox und HA

                            arteckA 1 Reply Last reply
                            0
                            • Meister MopperM Meister Mopper

                              @arteck sagte in Scriptoptimierung Solarprognose:

                              kommst du damit besser klar

                              Ich habe das Skript mal hier implementiert, bekomme aber für uebermorgen keine Ergebnisse, obwohl ich heute bei solarprognose.de die Prognose von 2 auf 3 Tage erhöht habe.

                              f92496a6-a19d-409f-9e10-12d5a78c69ea-grafik.png

                              Hast Du eine Idee, woran das liegen könnte, und was hast Du da eingetragen?

                              752b8346-7d67-4e43-8217-b670907f2732-grafik.png

                              arteckA Offline
                              arteckA Offline
                              arteck
                              Developer Most Active
                              wrote on last edited by arteck
                              #15

                              @meister-mopper ich weiss nicht wann die die Daten für welchen Tag zur verfügung stellen..

                              1bccc4e2-f126-48b8-b6a5-cefbce1d1143-grafik.png

                              zigbee hab ich, zwave auch, nuc's genauso und HA auch

                              icebearI 1 Reply Last reply
                              0
                              • arteckA arteck

                                @meister-mopper ich weiss nicht wann die die Daten für welchen Tag zur verfügung stellen..

                                1bccc4e2-f126-48b8-b6a5-cefbce1d1143-grafik.png

                                icebearI Offline
                                icebearI Offline
                                icebear
                                wrote on last edited by
                                #16

                                @arteck

                                Ich glaub du mußt auch nochmal nach dem Script schauen, weil ich bei 'übermorgen' drei Tage im JSON drin stehen hab.

                                [["08:00",0,0],["09:00",0.237,0.237],["10:00",2.297,2.534],["11:00",2.928,5.462],["12:00",1.611,7.073],["13:00",1.399,8.472],["14:00",2.316,10.788],["15:00",0.543,11.331],["16:00",0,11.331],["07:00",0,0],["08:00",0.004,0.004],["09:00",0.157,0.161],["10:00",0.443,0.604],["11:00",0.641,1.245],["12:00",0.731,1.976],["13:00",0.726,2.702],["14:00",0.65,3.352],["15:00",0.429,3.781],["16:00",0,3.781],["08:00",0,0],["09:00",0.144,0.144],["10:00",0.443,0.587],["11:00",0.614,1.201],["12:00",0.702,1.903],["13:00",0.699,2.602],["14:00",0.59,3.192],["15:00",0.396,3.588],["16:00",0,3.588]]
                                

                                Ist mir erst gar nicht aufgefallen.

                                1 Reply Last reply
                                0
                                • arteckA Offline
                                  arteckA Offline
                                  arteck
                                  Developer Most Active
                                  wrote on last edited by
                                  #17

                                  @icebear poste mal den JSON aus dem Hauptordner

                                  zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                  icebearI 1 Reply Last reply
                                  0
                                  • arteckA arteck

                                    @icebear poste mal den JSON aus dem Hauptordner

                                    icebearI Offline
                                    icebearI Offline
                                    icebear
                                    wrote on last edited by
                                    #18

                                    @arteck said in Scriptoptimierung Solarprognose:

                                    poste mal den JSON aus dem Hauptordner

                                    {"1733468400":[0,0],"1733472000":[0.144,0.144],"1733475600":[0.443,0.587],"1733479200":[0.668,1.255],"1733482800":[0.702,1.957],"1733486400":[0.753,2.71],"1733490000":[0.63,3.34],"1733493600":[0.56,3.9],"1733497200":[0,3.9],"1733551200":[0,0],"1733554800":[0.144,0.144],"1733558400":[0.21,0.354],"1733562000":[0.443,0.797],"1733565600":[0.614,1.411],"1733569200":[1.962,3.373],"1733572800":[1.775,5.148],"1733576400":[0.951,6.099],"1733580000":[1.068,7.167],"1733583600":[0,7.167],"1733637600":[0,0],"1733641200":[0.048,0.048],"1733644800":[0.157,0.205],"1733648400":[0.506,0.711],"1733652000":[3.037,3.748],"1733655600":[3.281,7.029],"1733659200":[2.798,9.827],"1733662800":[2.275,12.102],"1733666400":[1.092,13.194],"1733670000":[0,13.194],"1733727600":[0,0],"1733731200":[0.144,0.144],"1733734800":[0.443,0.587],"1733738400":[0.641,1.228],"1733742000":[0.761,1.989],"1733745600":[0.78,2.769],"1733749200":[0.65,3.419],"1733752800":[0.421,3.84],"1733756400":[0,3.84],"1733814000":[0,0],"1733817600":[0.144,0.144],"1733821200":[0.443,0.587],"1733824800":[0.614,1.201],"1733828400":[0.702,1.903],"1733832000":[0.699,2.602],"1733835600":[0.59,3.192],"1733839200":[0.396,3.588],"1733842800":[0,3.588]}
                                    
                                    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

                                    414

                                    Online

                                    32.6k

                                    Users

                                    82.1k

                                    Topics

                                    1.3m

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

                                    • Don't have an account? Register

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