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.
    • 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
                • S
                  Snopy_16 @Strobelix last edited by

                  @strobelix
                  Herzlichen Dank - funktioniert 👍 😊

                  1 Reply Last reply Reply Quote 0
                  • Domi Th
                    Domi Th last edited by Homoran

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

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

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

                    MOD-EDIT: Code in code-tags gesetzt!

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

                      @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

                      1 Reply Last reply Reply Quote 0
                      • P
                        puckthefly last edited by

                        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 Reply Last reply Reply Quote 0
                        • P
                          puckthefly last edited by puckthefly

                          @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 Reply Last reply Reply Quote 0
                          • A
                            Andi.T 0 last edited by

                            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 Braun S 2 Replies Last reply Reply Quote 0
                            • Thomas Braun
                              Thomas Braun Most Active @Andi.T 0 last edited by

                              @andi-t-0 sagte in Daten aus Fronius Solarweb auslesen:

                              Wie kann ich das beheben bzw. abstellen?

                              Indem du die Dependency 'request' aus dem AdapterCode heraus operierst und duch z. B. axios ersetzt. Wäre aber eher ein Thema für den Adapter-Maintainer.

                              1 Reply Last reply Reply Quote 0
                              • S
                                Strobelix @Andi.T 0 last edited by

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

                                Ich muss hier die Library umstellen, damit der Fehler nicht mehr auftaucht.
                                Ich kümmere mich die Tage darum

                                1 Reply Last reply Reply Quote 1
                                • S
                                  Strobelix last edited by

                                  Fehler behoben:

                                  "request package is deprecated - please use httpGet (or a stable lib like axios) instead!"

                                  Axios als neue Library verwendet, das Blockly ist im ersten Beitrag zum Download bereit

                                  MassiveAttack 1 Reply Last reply Reply Quote 1
                                  • MassiveAttack
                                    MassiveAttack @Strobelix last edited by

                                    @strobelix

                                    Danke! was ist jetzt der beste weg, das script upzudaten? möchte meine bisherigen einstellungen behalten...

                                    Negalein S 2 Replies Last reply Reply Quote 0
                                    • A
                                      Andi.T 0 last edited by

                                      Hallo, prima, danke, sieht so aus als würde das script funktionieren.
                                      Wie kann man im js alle Einträge auf einmal löschen?
                                      Grüsse Andi

                                      Negalein 1 Reply Last reply Reply Quote 0
                                      • Negalein
                                        Negalein Global Moderator @MassiveAttack last edited by

                                        @massiveattack sagte in Daten aus Fronius Solarweb auslesen:

                                        was ist jetzt der beste weg, das script upzudaten?

                                        du kannst das neue Blockly in das alte importieren.

                                        alte Blöcke vorher löschen, da beim Import sonst Alt und Neu übereinander liegen.

                                        PS: vom alten Blockly kannst du die 3 Blöcke mit User, PW und ID weiterhin verwenden (zur Seite schieben, damit das neue Platz hat).

                                        1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @Andi.T 0 last edited by

                                          @andi-t-0 sagte in Daten aus Fronius Solarweb auslesen:

                                          Wie kann man im js alle Einträge auf einmal löschen?

                                          was willst du löschen?
                                          hast du deine Daten in javascript.0 gespeichert?
                                          Oder in 0_userdata.0?

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            Andi.T 0 @Negalein last edited by

                                            @negalein said in Daten aus Fronius Solarweb auslesen:

                                            @andi-t-0 sagte in Daten aus Fronius Solarweb auslesen:

                                            Wie kann man im js alle Einträge auf einmal löschen?

                                            was willst du löschen?
                                            hast du deine Daten in javascript.0 gespeichert?
                                            Oder in 0_userdata.0?

                                            ja die ganzen Blockly Elemente wollte ich auf einmal selektieren und löschen.

                                            Negalein 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            519
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            58
                                            616
                                            131535
                                            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