Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Daten aus Fronius Solarweb auslesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

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

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

Daten aus Fronius Solarweb auslesen

Geplant Angeheftet Gesperrt Verschoben Entwicklung
619 Beiträge 60 Kommentatoren 188.8k Aufrufe 50 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • G Offline
    G Offline
    gto
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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 Offline
        C Offline
        c1olli
        schrieb am zuletzt editiert von
        #472

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

        Gruß
        Olli

        1 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 auf Intel Core i3-5005U NUC und Windwos10 Pro

            S 1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                      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 Offline
                        C Offline
                        c1olli
                        schrieb am zuletzt editiert von
                        #480

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

                        Gruß
                        Olli

                        C 1 Antwort Letzte Antwort
                        0
                        • C c1olli

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

                          C Offline
                          C Offline
                          c1olli
                          schrieb am zuletzt editiert von
                          #481

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

                          Gruß
                          Olli

                          S 1 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • Domi ThD Offline
                                    Domi ThD Offline
                                    Domi Th
                                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        puckthefly
                                        schrieb am zuletzt editiert von
                                        #488

                                        Hallo, ich habe das Script installiert aber irgendwie stimmen die Tageswerte nicht.

                                        zB im Moment bekomme ich über die App
                                        Produktion 35,15 kWh

                                        In den Datenpunkten des Scripts:
                                        EnergyProductionTotal 0

                                        Das geht auch über mehrere Tags so und ich habe keine Ahnung was ich falsch mache...

                                        1 Antwort Letzte Antwort
                                        0
                                        • P Offline
                                          P Offline
                                          puckthefly
                                          schrieb am zuletzt editiert von puckthefly
                                          #489

                                          @puckthefly Ich habs nochmal deinstalliert und neu installiert, zum x.mal und jetzt scheint es zu funktionieren. Keine Ahnung warum das so ist...

                                          Im Log bekomme ich allerdings diese Meldung:
                                          javascript.0
                                          2024-05-04 16:05:06.009 warn script.js.Eigene_Gruppe.Solarweb: request package is deprecated - please use httpGet (or a stable lib like axios) instead!

                                          Muss ich etwas machen oder kann ich das ignorieren?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          509

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe