Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Daten aus Fronius Solarweb auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Daten aus Fronius Solarweb auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • MassiveAttack
      MassiveAttack @Diamand2k22 last edited by

      @diamand2k22
      Hab ich auch, und noch andere, aber keine ahnung warum

      1 Reply Last reply Reply Quote 0
      • R
        reutli @Diamand2k22 last edited by

        @diamand2k22

        Jupp habe ich genauso: https://forum.iobroker.net/topic/71747/javascript-error-syntaxerror-unexpected-token

        1 Reply Last reply Reply Quote 0
        • S
          Strobelix @maximal1981 last edited by

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

          maximal1981 1 Reply Last reply Reply Quote 0
          • maximal1981
            maximal1981 @Strobelix last edited by

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

            1 Reply Last reply Reply Quote -1
            • Andre Hussel
              Andre Hussel last edited by Andre Hussel

              @mods. gerne löschen

              1 Reply Last reply Reply Quote 0
              • G
                gto last edited by

                Hallo, habe heute morgen diese Warnmeldung erhalten:

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

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

                1 Reply Last reply Reply Quote 0
                • Dr. KOAL
                  Dr. KOAL @Strobelix last edited by 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 1 Reply Last reply Reply Quote 0
                  • C
                    c1olli @Dr. KOAL last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • S
                      Snopy_16 @Strobelix last edited by

                      @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_Sullivan 1 Reply Last reply Reply Quote 0
                      • JB_Sullivan
                        JB_Sullivan @Snopy_16 last edited by

                        @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 1 Reply Last reply Reply Quote 0
                        • S
                          Snopy_16 @JB_Sullivan last edited by

                          @jb_sullivan
                          Super
                          Danke für den Tip👍 😊

                          1 Reply Last reply Reply Quote 0
                          • D
                            DonAlfredo70 @Strobelix last edited by

                            @strobelix
                            Hallo Strobelix,

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

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

                            Sind eventuell etwaige Zusatzpakte einzubinden oder sonstige Parameter zu setzen?

                            Danke & lg

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              TimoWald @DonAlfredo70 last edited by

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

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                DonAlfredo70 @TimoWald last edited by

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

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Snopy_16 @DonAlfredo70 last edited by 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 S 3 Replies Last reply Reply Quote 0
                                  • C
                                    c1olli @Snopy_16 last edited by

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

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      c1olli @c1olli last edited by

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

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        Snopy_16 @c1olli last edited by

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

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Strobelix @Snopy_16 last edited by Strobelix

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

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Strobelix @Snopy_16 last edited by 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 1 Reply Last reply Reply Quote 3
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            456
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            58
                                            616
                                            135728
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo