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. Entwicklung
  4. Daten aus Fronius Solarweb auslesen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Daten aus Fronius Solarweb auslesen

Scheduled Pinned Locked Moved Entwicklung
626 Posts 60 Posters 199.6k Views 50 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.
  • S Strobelix

    @maximal1981 da sieht man mal, dass das dynamische Script funktioniert :-)
    Die Daten kommen vom Wattpilot?!

    maximal1981M Offline
    maximal1981M Offline
    maximal1981
    wrote on last edited by
    #468

    @strobelix vermute das der Wattpilot die Daten an solarweb schickt, oder eben der diese aus dem Wattpilot abgreift, denn die werden dann im Chart violett angezeigt.
    und im json ist seither auch ein Wattpilot drin

    1 Reply Last reply
    -1
    • Andre HusselA Offline
      Andre HusselA Offline
      Andre Hussel
      wrote on last edited by Andre Hussel
      #469

      @mods. gerne löschen

      1 Reply Last reply
      0
      • G Offline
        G Offline
        gto
        wrote on last edited by
        #470

        Hallo, habe heute morgen diese Warnmeldung erhalten:

        2024-02-06 00:00:00.046 - warn: javascript.0 (76699) You are assigning a number to the state "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
        2024-02-06 00:00:00.079 - warn: javascript.0 (76699) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20)
        2024-02-06 00:00:00.080 - warn: javascript.0 (76699) at script.js.common.SolarWeb:253:5
        2024-02-06 00:00:00.081 - warn: javascript.0 (76699) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:934:29)
        2024-02-06 00:00:00.081 - warn: javascript.0 (76699) at Tag_reset (script.js.common.SolarWeb:252:9)
        2024-02-06 00:00:00.082 - warn: javascript.0 (76699) at Object. (script.js.common.SolarWeb:1014:11)
        2024-02-06 00:00:00.082 - warn: javascript.0 (76699) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1617:34)
        2024-02-06 00:00:00.083 - warn: javascript.0 (76699) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15)
        2024-02-06 00:00:00.084 - warn: javascript.0 (76699) at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28
        2024-02-06 00:00:00.084 - warn: javascript.0 (76699) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7)
        2024-02-06 00:00:00.084 - warn: javascript.0 (76699) at listOnTimeout (node:internal/timers:569:17)
        2024-02-06 00:00:00.085 - warn: javascript.0 (76699) at processTimers (node:internal/timers:512:7)
        2024-02-06 00:00:00.176 - info: javascript.0 (76699) State value to set for "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen" has to be type "boolean" but received type "number" 
        

        Kann ich selbst etwas korrigieren oder muss da Strobelix ran?
        LG Thomas

        1 Reply Last reply
        0
        • S Strobelix

          Gen24 und Solarweb

          Hallo zusammen.
          Da der Gen24 ja über die lokale xml API nicht die Tages/Monats und Jahreswerte liefert und deren Berechnungen mit Sourceanalytics zu ungenau sind (ausserdem sind manche Werte nicht verfügbar), habe ich die Solarweb App mal abgehört und ein Script geschrieben, dass die aktuellen Tages/Monats/Jahres/Totalwerte der Verbräuche abfragt.

          Falls ihr eine Version vor dem 10. Jan 2021 nutzt, bitte noch mal den gesamten Solarweb Ordner löschen.
          Ich musste zu viele Anpassungen vornehmen um alles in die Ordnerstruktur zu bekommen.

          Ihr müsst die Solarweb Zugangsdaten und die PV-ID (aus dem Browser ersichtlich) einfügen und das Blockly starten.

          Totalwerte und Tages/Monats/Jahres-Werte des dem aktuellen Jahr werden sofort geladen.
          Bereits vergangene Wochentage der aktuellen Woche können mit einem Button nachgeladen werden.

          Vergangene Werte werden entweder zum Ende der Periode (Tag/Woche/Monat/Jahr) geladen oder manuell über den Button.

          Um 0:00 jeden Tag/Woche/Monat/Jahr werden die Vordaten zurückgesetzt und neu befüllt, sobald Solarweb Daten zur Verfügung stellt.

          Die Daten im "Previous" Ordner werden auch um 0:00 der neuen Periode zurückgesetzt, aber erst um 2:00 mit den Daten aus Solarweb aktualisiert.
          Manchmal liefert der Wechselrichter erst nach Mitternacht die letzten Tagesdaten an Solarweb und damit hier nicht - wie mit Sourceanalytix - beim Tagesübergang Fehler entstehen, werden diese Werte erst um 2:00 abgefragt.

          Außerdem kann man durch das manuelle Nachladen, sofort auf Vorjahresdaten zugreifen und muss nicht erst ein Jahr abwarten. Sollte das abfragen von alten Werten mal nicht funktionieren, bitte nach einer Minute nochmal testen.

          Laut Solarweb-API müssten alle Vergangenheitswerte auch als Nicht-Premium-Kunde funktionieren.
          Lediglich beim Forecast erhalten Basic-Nutzer einen Hinweis im Log, das kein Premium vorhanden ist.

          Änderungsprotokoll:
          12. Jan 2021
          Änderung: Umlaute korrigiert, Forecast Wertrundung korrigiert, Premium-Fehlermeldung als Info und nicht als Error
          Einfach Blockly austauschen - Datenpunkte bleiben identisch, wenn ihr das Script vom 10.Jan 2021 genutzt habt

          1. März 2022:
            Fehlerbehebung: Annual Month wurde monatlich zurückgesetzt, statt jährlich.
            Änderung: Ohne Premium Account erfolgt beim Forecast nur noch eine Loginfo und keine Warnung mehr

          2. September 2023
            Fehlerbehebung Forecast Today.
            Fronius hat die API geändert und auch vergangene Tagesdaten dazuaddiert. Fehler behoben, in dem ich nur noch ab der aktuellen Uhrzeit abfrage.

          3. März 2024
            Fehler beim Periodenwechsel behoben (Fehlermeldung im Log bzgl Booleanwert der mit Number beschrieben wird)
            Optimierung der Forcastabfrage

          4. Mai 2024
            Library von Request auf Axios umgestellt, damit der Javascript-Adapter keine Fehler mehr berichtet.

          Solarweb_Abfrage_Leer.zip

          Dr. KOALD Offline
          Dr. KOALD Offline
          Dr. KOAL
          wrote on last edited by Dr. KOAL
          #471

          @strobelix :

          Hallo, danke für das Script.
          Ich hab das seit heute im Einsatz aber bekomme keine Daten.

          Steht immer "Solarweb Token konnte nicht erstellt werden"
          Ich hab im Passwort viele Sonderzeichen ist das eventuell ein Problem?
          User = meien Mail
          ID: Alles Zeichen nach dem = aus diesem Link: "https://www.solarweb.com/PvSystems/PvSystem?pvSystemId=xxxxxx"

          Hab das Script aus dem POST 1, das ZIP File.

          Danke
          LG
          KOAL

          C 1 Reply Last reply
          0
          • Dr. KOALD Dr. KOAL

            @strobelix :

            Hallo, danke für das Script.
            Ich hab das seit heute im Einsatz aber bekomme keine Daten.

            Steht immer "Solarweb Token konnte nicht erstellt werden"
            Ich hab im Passwort viele Sonderzeichen ist das eventuell ein Problem?
            User = meien Mail
            ID: Alles Zeichen nach dem = aus diesem Link: "https://www.solarweb.com/PvSystems/PvSystem?pvSystemId=xxxxxx"

            Hab das Script aus dem POST 1, das ZIP File.

            Danke
            LG
            KOAL

            C Online
            C Online
            c1olli
            wrote on last edited by
            #472

            @dr-koal
            Hast Du auch die Solarweb ID eingetragen?

            Gruß
            Olli

            1 Reply Last reply
            0
            • S Strobelix

              Gen24 und Solarweb

              Hallo zusammen.
              Da der Gen24 ja über die lokale xml API nicht die Tages/Monats und Jahreswerte liefert und deren Berechnungen mit Sourceanalytics zu ungenau sind (ausserdem sind manche Werte nicht verfügbar), habe ich die Solarweb App mal abgehört und ein Script geschrieben, dass die aktuellen Tages/Monats/Jahres/Totalwerte der Verbräuche abfragt.

              Falls ihr eine Version vor dem 10. Jan 2021 nutzt, bitte noch mal den gesamten Solarweb Ordner löschen.
              Ich musste zu viele Anpassungen vornehmen um alles in die Ordnerstruktur zu bekommen.

              Ihr müsst die Solarweb Zugangsdaten und die PV-ID (aus dem Browser ersichtlich) einfügen und das Blockly starten.

              Totalwerte und Tages/Monats/Jahres-Werte des dem aktuellen Jahr werden sofort geladen.
              Bereits vergangene Wochentage der aktuellen Woche können mit einem Button nachgeladen werden.

              Vergangene Werte werden entweder zum Ende der Periode (Tag/Woche/Monat/Jahr) geladen oder manuell über den Button.

              Um 0:00 jeden Tag/Woche/Monat/Jahr werden die Vordaten zurückgesetzt und neu befüllt, sobald Solarweb Daten zur Verfügung stellt.

              Die Daten im "Previous" Ordner werden auch um 0:00 der neuen Periode zurückgesetzt, aber erst um 2:00 mit den Daten aus Solarweb aktualisiert.
              Manchmal liefert der Wechselrichter erst nach Mitternacht die letzten Tagesdaten an Solarweb und damit hier nicht - wie mit Sourceanalytix - beim Tagesübergang Fehler entstehen, werden diese Werte erst um 2:00 abgefragt.

              Außerdem kann man durch das manuelle Nachladen, sofort auf Vorjahresdaten zugreifen und muss nicht erst ein Jahr abwarten. Sollte das abfragen von alten Werten mal nicht funktionieren, bitte nach einer Minute nochmal testen.

              Laut Solarweb-API müssten alle Vergangenheitswerte auch als Nicht-Premium-Kunde funktionieren.
              Lediglich beim Forecast erhalten Basic-Nutzer einen Hinweis im Log, das kein Premium vorhanden ist.

              Änderungsprotokoll:
              12. Jan 2021
              Änderung: Umlaute korrigiert, Forecast Wertrundung korrigiert, Premium-Fehlermeldung als Info und nicht als Error
              Einfach Blockly austauschen - Datenpunkte bleiben identisch, wenn ihr das Script vom 10.Jan 2021 genutzt habt

              1. März 2022:
                Fehlerbehebung: Annual Month wurde monatlich zurückgesetzt, statt jährlich.
                Änderung: Ohne Premium Account erfolgt beim Forecast nur noch eine Loginfo und keine Warnung mehr

              2. September 2023
                Fehlerbehebung Forecast Today.
                Fronius hat die API geändert und auch vergangene Tagesdaten dazuaddiert. Fehler behoben, in dem ich nur noch ab der aktuellen Uhrzeit abfrage.

              3. März 2024
                Fehler beim Periodenwechsel behoben (Fehlermeldung im Log bzgl Booleanwert der mit Number beschrieben wird)
                Optimierung der Forcastabfrage

              4. Mai 2024
                Library von Request auf Axios umgestellt, damit der Javascript-Adapter keine Fehler mehr berichtet.

              Solarweb_Abfrage_Leer.zip

              S Offline
              S Offline
              Snopy_16
              wrote on last edited by
              #473

              @strobelix sagte in Daten aus Fronius Solarweb auslesen:

              März 2022:
              Änderung: Ohne Premium Account erfolgt beim Forecast nur noch eine Loginfo und keine Warnung mehr

              javascript.0
              2024-02-09 17:35:06.155	info	script.js.Mein_Ordner.Fronius0: Solarweb Forecast Forecast Tomorrow konnte nicht abgefragt werden - Kein Premiumaccount
              
              javascript.0
              2024-02-09 17:35:02.158	info	script.js.Mein_Ordner.Fronius0: Solarweb Forecast Forecast Today konnte nicht abgefragt werden - Kein Premiumaccount
              
              javascript.0
              2024-02-09 17:32:00.215	info	script.js.Mein_Ordner.Fronius0: Solarweb Token erstellt
              

              Ich will auch das Loginfo abschalten, es müllt mir das Log zu (jede halbe Stunde die Einträge)
              würde da ein Löschen der Funktion "forecast" im Script abhilfe schaffen?

              Forecast.JPG
              Oder gibt es da im Hintergrund Abhängigkeiten, sodass das Script nicht mehr funktioniert ?
              Bin leider nicht so bewandert mit den Programmiersachen.

              Man kann nicht alle Probleme lösen, aber wenigstens verursachen.

              LenovoThinkCentre M900 Tiny | i5-T6500 | 16 GB | 256 SSD
              iobroker auf Proxmox VM
              Node.js: v22.18.0 - NPM: 10.9.3 - js-controller: 7.0.6 - admin: v7.7.2
              FritzBox-7530TX hinter Glasfasermodem, WiFi mit Unifi

              JB_SullivanJ 1 Reply Last reply
              0
              • S Snopy_16

                @strobelix sagte in Daten aus Fronius Solarweb auslesen:

                März 2022:
                Änderung: Ohne Premium Account erfolgt beim Forecast nur noch eine Loginfo und keine Warnung mehr

                javascript.0
                2024-02-09 17:35:06.155	info	script.js.Mein_Ordner.Fronius0: Solarweb Forecast Forecast Tomorrow konnte nicht abgefragt werden - Kein Premiumaccount
                
                javascript.0
                2024-02-09 17:35:02.158	info	script.js.Mein_Ordner.Fronius0: Solarweb Forecast Forecast Today konnte nicht abgefragt werden - Kein Premiumaccount
                
                javascript.0
                2024-02-09 17:32:00.215	info	script.js.Mein_Ordner.Fronius0: Solarweb Token erstellt
                

                Ich will auch das Loginfo abschalten, es müllt mir das Log zu (jede halbe Stunde die Einträge)
                würde da ein Löschen der Funktion "forecast" im Script abhilfe schaffen?

                Forecast.JPG
                Oder gibt es da im Hintergrund Abhängigkeiten, sodass das Script nicht mehr funktioniert ?
                Bin leider nicht so bewandert mit den Programmiersachen.

                JB_SullivanJ Offline
                JB_SullivanJ Offline
                JB_Sullivan
                wrote on last edited by
                #474

                @snopy_16 Braucht man nicht löschen - einfach den Block auf deaktivieren setzen. Habe ich auch gemacht und es gibt meines Wissens keine weiteren Anhängigkeiten, bzw. wenn keine Daten auf diesem Weg rein kommen, wird auch vom Skript nichts weiter in die Datenpunkte geschrieben.

                ioBroker (since 2018) auf Intel Core i3-5005U NUC und Windwos10 Pro

                S 1 Reply Last reply
                0
                • JB_SullivanJ JB_Sullivan

                  @snopy_16 Braucht man nicht löschen - einfach den Block auf deaktivieren setzen. Habe ich auch gemacht und es gibt meines Wissens keine weiteren Anhängigkeiten, bzw. wenn keine Daten auf diesem Weg rein kommen, wird auch vom Skript nichts weiter in die Datenpunkte geschrieben.

                  S Offline
                  S Offline
                  Snopy_16
                  wrote on last edited by
                  #475

                  @jb_sullivan
                  Super
                  Danke für den Tip:+1: :blush:

                  Man kann nicht alle Probleme lösen, aber wenigstens verursachen.

                  LenovoThinkCentre M900 Tiny | i5-T6500 | 16 GB | 256 SSD
                  iobroker auf Proxmox VM
                  Node.js: v22.18.0 - NPM: 10.9.3 - js-controller: 7.0.6 - admin: v7.7.2
                  FritzBox-7530TX hinter Glasfasermodem, WiFi mit Unifi

                  1 Reply Last reply
                  0
                  • S Strobelix

                    Gen24 und Solarweb

                    Hallo zusammen.
                    Da der Gen24 ja über die lokale xml API nicht die Tages/Monats und Jahreswerte liefert und deren Berechnungen mit Sourceanalytics zu ungenau sind (ausserdem sind manche Werte nicht verfügbar), habe ich die Solarweb App mal abgehört und ein Script geschrieben, dass die aktuellen Tages/Monats/Jahres/Totalwerte der Verbräuche abfragt.

                    Falls ihr eine Version vor dem 10. Jan 2021 nutzt, bitte noch mal den gesamten Solarweb Ordner löschen.
                    Ich musste zu viele Anpassungen vornehmen um alles in die Ordnerstruktur zu bekommen.

                    Ihr müsst die Solarweb Zugangsdaten und die PV-ID (aus dem Browser ersichtlich) einfügen und das Blockly starten.

                    Totalwerte und Tages/Monats/Jahres-Werte des dem aktuellen Jahr werden sofort geladen.
                    Bereits vergangene Wochentage der aktuellen Woche können mit einem Button nachgeladen werden.

                    Vergangene Werte werden entweder zum Ende der Periode (Tag/Woche/Monat/Jahr) geladen oder manuell über den Button.

                    Um 0:00 jeden Tag/Woche/Monat/Jahr werden die Vordaten zurückgesetzt und neu befüllt, sobald Solarweb Daten zur Verfügung stellt.

                    Die Daten im "Previous" Ordner werden auch um 0:00 der neuen Periode zurückgesetzt, aber erst um 2:00 mit den Daten aus Solarweb aktualisiert.
                    Manchmal liefert der Wechselrichter erst nach Mitternacht die letzten Tagesdaten an Solarweb und damit hier nicht - wie mit Sourceanalytix - beim Tagesübergang Fehler entstehen, werden diese Werte erst um 2:00 abgefragt.

                    Außerdem kann man durch das manuelle Nachladen, sofort auf Vorjahresdaten zugreifen und muss nicht erst ein Jahr abwarten. Sollte das abfragen von alten Werten mal nicht funktionieren, bitte nach einer Minute nochmal testen.

                    Laut Solarweb-API müssten alle Vergangenheitswerte auch als Nicht-Premium-Kunde funktionieren.
                    Lediglich beim Forecast erhalten Basic-Nutzer einen Hinweis im Log, das kein Premium vorhanden ist.

                    Änderungsprotokoll:
                    12. Jan 2021
                    Änderung: Umlaute korrigiert, Forecast Wertrundung korrigiert, Premium-Fehlermeldung als Info und nicht als Error
                    Einfach Blockly austauschen - Datenpunkte bleiben identisch, wenn ihr das Script vom 10.Jan 2021 genutzt habt

                    1. März 2022:
                      Fehlerbehebung: Annual Month wurde monatlich zurückgesetzt, statt jährlich.
                      Änderung: Ohne Premium Account erfolgt beim Forecast nur noch eine Loginfo und keine Warnung mehr

                    2. September 2023
                      Fehlerbehebung Forecast Today.
                      Fronius hat die API geändert und auch vergangene Tagesdaten dazuaddiert. Fehler behoben, in dem ich nur noch ab der aktuellen Uhrzeit abfrage.

                    3. März 2024
                      Fehler beim Periodenwechsel behoben (Fehlermeldung im Log bzgl Booleanwert der mit Number beschrieben wird)
                      Optimierung der Forcastabfrage

                    4. Mai 2024
                      Library von Request auf Axios umgestellt, damit der Javascript-Adapter keine Fehler mehr berichtet.

                    Solarweb_Abfrage_Leer.zip

                    D Offline
                    D Offline
                    DonAlfredo70
                    wrote on last edited by
                    #476

                    @strobelix
                    Hallo Strobelix,

                    ich kann, auch nach langem recherchieren, das Blockly Script (Solarweb abfrage Blockly 17-09-2023.txt) nach dem Import nicht speichern, d.h. nach dem Import werden die Blöcke und Funktionen angezeigt, werden aber beim Speichern gelöscht.

                    IoBroker Admin: v6.13.16
                    Skript Adapter: zuerst 7.1.6 und dann 7.8.0 von npm haben das gleiche Verhalten
                    Node: v18.17.1

                    Sind eventuell etwaige Zusatzpakte einzubinden oder sonstige Parameter zu setzen?

                    Danke & lg

                    T 1 Reply Last reply
                    0
                    • D DonAlfredo70

                      @strobelix
                      Hallo Strobelix,

                      ich kann, auch nach langem recherchieren, das Blockly Script (Solarweb abfrage Blockly 17-09-2023.txt) nach dem Import nicht speichern, d.h. nach dem Import werden die Blöcke und Funktionen angezeigt, werden aber beim Speichern gelöscht.

                      IoBroker Admin: v6.13.16
                      Skript Adapter: zuerst 7.1.6 und dann 7.8.0 von npm haben das gleiche Verhalten
                      Node: v18.17.1

                      Sind eventuell etwaige Zusatzpakte einzubinden oder sonstige Parameter zu setzen?

                      Danke & lg

                      T Offline
                      T Offline
                      TimoWald
                      wrote on last edited by
                      #477

                      @donalfredo70 Das hatte ich auch mal. Aber nicht nur bei diesem Script. Habe den JS Adapter bzw Iobroker neu gestartet dann ging es.

                      D 1 Reply Last reply
                      0
                      • T TimoWald

                        @donalfredo70 Das hatte ich auch mal. Aber nicht nur bei diesem Script. Habe den JS Adapter bzw Iobroker neu gestartet dann ging es.

                        D Offline
                        D Offline
                        DonAlfredo70
                        wrote on last edited by
                        #478

                        @TimoWald
                        Danke für den Tip, das Problem hat sich leider damit nicht gelöst. Habe zusätzlich noch alle Pakete, angefangen von proxmox, Containern bis zu den Adaptern aktualisiert und neu gestartet. Interessant ist, das sich andere Blockly Exporte (z.B. https://www.smarthome-tricks.de/download/3378/) importieren und speichern lassen.

                        S 1 Reply Last reply
                        0
                        • D DonAlfredo70

                          @TimoWald
                          Danke für den Tip, das Problem hat sich leider damit nicht gelöst. Habe zusätzlich noch alle Pakete, angefangen von proxmox, Containern bis zu den Adaptern aktualisiert und neu gestartet. Interessant ist, das sich andere Blockly Exporte (z.B. https://www.smarthome-tricks.de/download/3378/) importieren und speichern lassen.

                          S Offline
                          S Offline
                          Snopy_16
                          wrote on last edited by Snopy_16
                          #479

                          @Strobelix

                          Ich habe immer Warnmeldungen von javascript.0 im log wenn Tages oder Monatswerte abgerufen werden.

                          You are assigning a number to the state "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
                          

                          Der state type wurde im Script dem Objekt so zugewiesen

                          var https = require("https");
                          var request = require("request");
                          var data = JSON.stringify({userId: Mail, password: Pass});
                           
                           var options = {
                            url: 'https://swqapi.solarweb.com/iam/jwt',
                            headers: {
                            'AccessKeyId':'FKIAFFB3D0986CF24CBDBF580755A9F38769',
                            'AccessKeyValue': 'ab5563fb-ff0a-43d0-a526-c07a4d0b03aa',
                            'Content-Type': 'application/json'
                            },
                            body: data,
                            
                          };
                           
                          function callback(error, response, body) {
                          var result = JSON.parse(body);
                          if (response.statusCode ==200) {
                          token = result.jwtToken;
                          console.log("Solarweb Token erstellt");
                          createState("0_userdata.0.Solarweb.Current.02_Weekdays.Aktuelle_Wochentagwerte_abrufen", {name: "Aktuelle Wochentagwerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                          createState("0_userdata.0.Solarweb.Current.05_Annual_Months.Aktuelle_Einzelmonatswerte_abrufen", {name: "Aktuelle Einzelmonatswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                          createState("0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen", {name: "Vergangene Tageswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                          
                          
                          {
                            "common": {
                              "name": "Vergangene Tageswerte abrufen",
                              "type": "boolean",
                              "role": "button",
                              "read": true,
                              "write": true,
                              "desc": "Manuell erzeugt",
                              "def": false
                            },
                            "native": {},
                            "type": "state",
                            "_id": "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen",
                            "acl": {
                              "object": 1636,
                              "state": 1636,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator"
                            },
                            "from": "system.adapter.admin.0",
                            "user": "system.user.admin",
                            "ts": 1709374264274
                          }
                          

                          Leider weiss ich jetzt nicht, wo ich den Hebel ansetzen soll.
                          Von wo aus wird dieser Wert geschrieben?
                          Soll ich im Objekt den type manuell auf number setzen?

                          Man kann nicht alle Probleme lösen, aber wenigstens verursachen.

                          LenovoThinkCentre M900 Tiny | i5-T6500 | 16 GB | 256 SSD
                          iobroker auf Proxmox VM
                          Node.js: v22.18.0 - NPM: 10.9.3 - js-controller: 7.0.6 - admin: v7.7.2
                          FritzBox-7530TX hinter Glasfasermodem, WiFi mit Unifi

                          C S 3 Replies Last reply
                          0
                          • S Snopy_16

                            @Strobelix

                            Ich habe immer Warnmeldungen von javascript.0 im log wenn Tages oder Monatswerte abgerufen werden.

                            You are assigning a number to the state "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
                            

                            Der state type wurde im Script dem Objekt so zugewiesen

                            var https = require("https");
                            var request = require("request");
                            var data = JSON.stringify({userId: Mail, password: Pass});
                             
                             var options = {
                              url: 'https://swqapi.solarweb.com/iam/jwt',
                              headers: {
                              'AccessKeyId':'FKIAFFB3D0986CF24CBDBF580755A9F38769',
                              'AccessKeyValue': 'ab5563fb-ff0a-43d0-a526-c07a4d0b03aa',
                              'Content-Type': 'application/json'
                              },
                              body: data,
                              
                            };
                             
                            function callback(error, response, body) {
                            var result = JSON.parse(body);
                            if (response.statusCode ==200) {
                            token = result.jwtToken;
                            console.log("Solarweb Token erstellt");
                            createState("0_userdata.0.Solarweb.Current.02_Weekdays.Aktuelle_Wochentagwerte_abrufen", {name: "Aktuelle Wochentagwerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                            createState("0_userdata.0.Solarweb.Current.05_Annual_Months.Aktuelle_Einzelmonatswerte_abrufen", {name: "Aktuelle Einzelmonatswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                            createState("0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen", {name: "Vergangene Tageswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                            
                            
                            {
                              "common": {
                                "name": "Vergangene Tageswerte abrufen",
                                "type": "boolean",
                                "role": "button",
                                "read": true,
                                "write": true,
                                "desc": "Manuell erzeugt",
                                "def": false
                              },
                              "native": {},
                              "type": "state",
                              "_id": "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen",
                              "acl": {
                                "object": 1636,
                                "state": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator"
                              },
                              "from": "system.adapter.admin.0",
                              "user": "system.user.admin",
                              "ts": 1709374264274
                            }
                            

                            Leider weiss ich jetzt nicht, wo ich den Hebel ansetzen soll.
                            Von wo aus wird dieser Wert geschrieben?
                            Soll ich im Objekt den type manuell auf number setzen?

                            C Online
                            C Online
                            c1olli
                            wrote on last edited by
                            #480

                            @snopy_16
                            Den Fehler habe ich auch, und auch keine Ahnung warum.

                            Gruß
                            Olli

                            C 1 Reply Last reply
                            0
                            • C c1olli

                              @snopy_16
                              Den Fehler habe ich auch, und auch keine Ahnung warum.

                              C Online
                              C Online
                              c1olli
                              wrote on last edited by
                              #481

                              Kann es sein, dass es einen Unterschied macht ob es Solarweb Premium oder der einfache Zugang ist?

                              Gruß
                              Olli

                              S 1 Reply Last reply
                              0
                              • C c1olli

                                Kann es sein, dass es einen Unterschied macht ob es Solarweb Premium oder der einfache Zugang ist?

                                S Offline
                                S Offline
                                Snopy_16
                                wrote on last edited by
                                #482

                                @c1olli
                                Das kann ich nicht beurteilen, hab kein Premium.
                                Aber wie könnte das der Grund sein?

                                Man kann nicht alle Probleme lösen, aber wenigstens verursachen.

                                LenovoThinkCentre M900 Tiny | i5-T6500 | 16 GB | 256 SSD
                                iobroker auf Proxmox VM
                                Node.js: v22.18.0 - NPM: 10.9.3 - js-controller: 7.0.6 - admin: v7.7.2
                                FritzBox-7530TX hinter Glasfasermodem, WiFi mit Unifi

                                1 Reply Last reply
                                0
                                • S Snopy_16

                                  @Strobelix

                                  Ich habe immer Warnmeldungen von javascript.0 im log wenn Tages oder Monatswerte abgerufen werden.

                                  You are assigning a number to the state "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
                                  

                                  Der state type wurde im Script dem Objekt so zugewiesen

                                  var https = require("https");
                                  var request = require("request");
                                  var data = JSON.stringify({userId: Mail, password: Pass});
                                   
                                   var options = {
                                    url: 'https://swqapi.solarweb.com/iam/jwt',
                                    headers: {
                                    'AccessKeyId':'FKIAFFB3D0986CF24CBDBF580755A9F38769',
                                    'AccessKeyValue': 'ab5563fb-ff0a-43d0-a526-c07a4d0b03aa',
                                    'Content-Type': 'application/json'
                                    },
                                    body: data,
                                    
                                  };
                                   
                                  function callback(error, response, body) {
                                  var result = JSON.parse(body);
                                  if (response.statusCode ==200) {
                                  token = result.jwtToken;
                                  console.log("Solarweb Token erstellt");
                                  createState("0_userdata.0.Solarweb.Current.02_Weekdays.Aktuelle_Wochentagwerte_abrufen", {name: "Aktuelle Wochentagwerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                                  createState("0_userdata.0.Solarweb.Current.05_Annual_Months.Aktuelle_Einzelmonatswerte_abrufen", {name: "Aktuelle Einzelmonatswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                                  createState("0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen", {name: "Vergangene Tageswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                                  
                                  
                                  {
                                    "common": {
                                      "name": "Vergangene Tageswerte abrufen",
                                      "type": "boolean",
                                      "role": "button",
                                      "read": true,
                                      "write": true,
                                      "desc": "Manuell erzeugt",
                                      "def": false
                                    },
                                    "native": {},
                                    "type": "state",
                                    "_id": "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1709374264274
                                  }
                                  

                                  Leider weiss ich jetzt nicht, wo ich den Hebel ansetzen soll.
                                  Von wo aus wird dieser Wert geschrieben?
                                  Soll ich im Objekt den type manuell auf number setzen?

                                  S Offline
                                  S Offline
                                  Strobelix
                                  wrote on last edited by Strobelix
                                  #483

                                  @snopy_16 ich hab mir das gerade angesehen suche den Fehler
                                  Ich habe das gerade auch bei mir im Log entdeckt

                                  So ich habe den Fehler gefunden!
                                  Beim Tages/Montas/Jahrewechsel werden ja die jeweiligen Werte alle auf 0 gesetzt.
                                  Da sich der Datenpunkt "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen" auch in dem Ordner befindet, wird dieser auch auf 0 gesetzt.

                                  Ich schau mal wie ich diesen Datenpunkt ausschließen kann.

                                  Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                                  1 Reply Last reply
                                  0
                                  • S Snopy_16

                                    @Strobelix

                                    Ich habe immer Warnmeldungen von javascript.0 im log wenn Tages oder Monatswerte abgerufen werden.

                                    You are assigning a number to the state "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
                                    

                                    Der state type wurde im Script dem Objekt so zugewiesen

                                    var https = require("https");
                                    var request = require("request");
                                    var data = JSON.stringify({userId: Mail, password: Pass});
                                     
                                     var options = {
                                      url: 'https://swqapi.solarweb.com/iam/jwt',
                                      headers: {
                                      'AccessKeyId':'FKIAFFB3D0986CF24CBDBF580755A9F38769',
                                      'AccessKeyValue': 'ab5563fb-ff0a-43d0-a526-c07a4d0b03aa',
                                      'Content-Type': 'application/json'
                                      },
                                      body: data,
                                      
                                    };
                                     
                                    function callback(error, response, body) {
                                    var result = JSON.parse(body);
                                    if (response.statusCode ==200) {
                                    token = result.jwtToken;
                                    console.log("Solarweb Token erstellt");
                                    createState("0_userdata.0.Solarweb.Current.02_Weekdays.Aktuelle_Wochentagwerte_abrufen", {name: "Aktuelle Wochentagwerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                                    createState("0_userdata.0.Solarweb.Current.05_Annual_Months.Aktuelle_Einzelmonatswerte_abrufen", {name: "Aktuelle Einzelmonatswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                                    createState("0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen", {name: "Vergangene Tageswerte abrufen",  type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {})
                                    
                                    
                                    {
                                      "common": {
                                        "name": "Vergangene Tageswerte abrufen",
                                        "type": "boolean",
                                        "role": "button",
                                        "read": true,
                                        "write": true,
                                        "desc": "Manuell erzeugt",
                                        "def": false
                                      },
                                      "native": {},
                                      "type": "state",
                                      "_id": "0_userdata.0.Solarweb.Previous.01_Day.Vergangene_Tageswerte_abrufen",
                                      "acl": {
                                        "object": 1636,
                                        "state": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator"
                                      },
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1709374264274
                                    }
                                    

                                    Leider weiss ich jetzt nicht, wo ich den Hebel ansetzen soll.
                                    Von wo aus wird dieser Wert geschrieben?
                                    Soll ich im Objekt den type manuell auf number setzen?

                                    S Offline
                                    S Offline
                                    Strobelix
                                    wrote on last edited by Strobelix
                                    #484

                                    @snopy_16
                                    Fehler behoben!
                                    Im ersten Beitrag ist ein neues Blockly das auch eine Optimierung der Forcastwerte enthält.

                                    Wer die Änderung manuell machen möchte, muss in allen Funktionen die ein "reset" enthalten folgendes anpassen:

                                    Hier am Beispiel "Tag reset":
                                    Es muss am Ende des Datenpunkts noch ein ".*" hinzugefügt werden, damit nur die Werte in den Ordnern resettet werden

                                    alt:

                                    var ids = $('0_userdata.0.Solarweb.*.01_Day.*');
                                    ids.each (function(id,i){
                                    setState(id, 0, true)
                                    })
                                    

                                    neu:

                                    var ids = $('0_userdata.0.Solarweb.*.01_Day.*.*');
                                    ids.each (function(id,i){
                                    setState(id, 0, true)
                                    })
                                    

                                    Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                                    S 1 Reply Last reply
                                    3
                                    • S Strobelix

                                      @snopy_16
                                      Fehler behoben!
                                      Im ersten Beitrag ist ein neues Blockly das auch eine Optimierung der Forcastwerte enthält.

                                      Wer die Änderung manuell machen möchte, muss in allen Funktionen die ein "reset" enthalten folgendes anpassen:

                                      Hier am Beispiel "Tag reset":
                                      Es muss am Ende des Datenpunkts noch ein ".*" hinzugefügt werden, damit nur die Werte in den Ordnern resettet werden

                                      alt:

                                      var ids = $('0_userdata.0.Solarweb.*.01_Day.*');
                                      ids.each (function(id,i){
                                      setState(id, 0, true)
                                      })
                                      

                                      neu:

                                      var ids = $('0_userdata.0.Solarweb.*.01_Day.*.*');
                                      ids.each (function(id,i){
                                      setState(id, 0, true)
                                      })
                                      
                                      S Offline
                                      S Offline
                                      Snopy_16
                                      wrote on last edited by
                                      #485

                                      @strobelix
                                      Herzlichen Dank - funktioniert :+1: :blush:

                                      Man kann nicht alle Probleme lösen, aber wenigstens verursachen.

                                      LenovoThinkCentre M900 Tiny | i5-T6500 | 16 GB | 256 SSD
                                      iobroker auf Proxmox VM
                                      Node.js: v22.18.0 - NPM: 10.9.3 - js-controller: 7.0.6 - admin: v7.7.2
                                      FritzBox-7530TX hinter Glasfasermodem, WiFi mit Unifi

                                      1 Reply Last reply
                                      0
                                      • Domi ThD Offline
                                        Domi ThD Offline
                                        Domi Th
                                        wrote on last edited by Homoran
                                        #486

                                        Hallo,
                                        danke für das Skript, nutze es schon sehr lange!

                                        Ich bekomme hin und wieder folgende beiden Fehlermeldungen oft bei mehreren Abfragen hintereinander.
                                        Heute zum Beispiel bei den Abfragen zwischen 13:30 und 15:30.

                                        Request error: Error: getaddrinfo ENOTFOUND swqapi.solarweb.com
                                        Error in request callback: SyntaxError: Unexpected token u in JSON at position 0
                                        

                                        MOD-EDIT: Code in code-tags gesetzt!

                                        S 1 Reply Last reply
                                        0
                                        • Domi ThD Domi Th

                                          Hallo,
                                          danke für das Skript, nutze es schon sehr lange!

                                          Ich bekomme hin und wieder folgende beiden Fehlermeldungen oft bei mehreren Abfragen hintereinander.
                                          Heute zum Beispiel bei den Abfragen zwischen 13:30 und 15:30.

                                          Request error: Error: getaddrinfo ENOTFOUND swqapi.solarweb.com
                                          Error in request callback: SyntaxError: Unexpected token u in JSON at position 0
                                          

                                          MOD-EDIT: Code in code-tags gesetzt!

                                          S Offline
                                          S Offline
                                          Strobelix
                                          wrote on last edited by
                                          #487

                                          @domi-th said in Daten aus Fronius Solarweb auslesen:

                                          getaddrinfo ENOTFOUND sw

                                          das kommt immer, wenn der Solarwebserver nicht (rechtzeitig) antwortet. Kannst du aber ignorieren

                                          Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                                          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

                                          662

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          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