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.9k 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.
  • 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
                                        • A Offline
                                          A Offline
                                          Andi.T 0
                                          schrieb am zuletzt editiert von
                                          #490

                                          Hallo, nach dem Update des javascript Adapters auf Version 8.1.1 erscheint in den Protokollen eine Warning:

                                          script.js.common.Energie.Solarweb_Abfrage: request package is deprecated - please use httpGet (or a stable lib like axios) instead!

                                          Wie kann ich das beheben bzw. abstellen?

                                          Grüsse Andi

                                          Thomas BraunT S 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          804

                                          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