NEWS
Daten aus Fronius Solarweb auslesen
-
@klassisch sagte in Daten aus Fronius Solarweb auslesen:
Ein "Fertigscript" kenne ich nicht und habe ich nicht laufen. Nur eigene Skripte, die auf Werte aus den Objekten zugreifen.
Im Adapter habe ich 10 Minuten Abfrageintervall eingestellt.Du weißt aber schon, das du hier im Thread des fertig Skriptes von Strobelix unterwegs bist (siehe #1) ? Das Skript gab es zuerst, danach kam der Adapter von tombox
Offensichtlich hat sich mein Skript, oder die Fronius API in meinem Fall eine Feiertagspause gegönnt, denn heute Morgen ist sowohl der gestrige Tag, als auch die aktuellen Tageswerte wieder vorhanden.
-
@jb_sullivan sagte in Daten aus Fronius Solarweb auslesen:
@klassisch sagte in Daten aus Fronius Solarweb auslesen:
Du weißt aber schon, das du hier im Thread des fertig Skriptes von Strobelix unterwegs bist (siehe #1) ? Das Skript gab es zuerst, danach kam der Adapter von tomboxSorry, das wußte ich nicht. Kannte ich ja nicht. Mit dem Threadtitel hatte ich sofort und einzig den Adapter verbunden. Und damit gab es in den letzten Wochen einen kleinen Schluckauf, den @tombox dankenswerterweise schnell beheben konnte.
Ich vermute, daß Fronius etwas geändert hatte und bin deshalb etwas hellhörig.
Vielleicht konnte mein Beitrag wenigstens ein funktionierendes Fronius Backend bestätigen.Offensichtlich hat sich mein Skript, oder die Fronius API in meinem Fall eine Feiertagspause gegönnt, denn heute Morgen ist sowohl der gestrige Tag, als auch die aktuellen Tageswerte wieder vorhanden.
Umso besser!
-
@jb_sullivan sagte in Daten aus Fronius Solarweb auslesen:
Du weißt aber schon, das du hier im Thread des fertig Skriptes
und das in der Rubrik Entwicklung?
und nicht Skripte? -
@strobelix Batterie hab ich keine, somit sind die immer gleich
aber seit kurzem hab ich 2 neue Datenpunkte:
- 0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyEVCCharge
- 0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyEVCChargeGrid
-
hat von euch auch jemand das Problem?
Werte scheinen aber zu kommen. -
@diamand2k22
Hab ich auch, und noch andere, aber keine ahnung warum -
Jupp habe ich genauso: https://forum.iobroker.net/topic/71747/javascript-error-syntaxerror-unexpected-token
-
@maximal1981 da sieht man mal, dass das dynamische Script funktioniert
Die Daten kommen vom Wattpilot?! -
@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 -
@mods. gerne löschen
-
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 -
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 -
@dr-koal
Hast Du auch die Solarweb ID eingetragen? -
@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 mehrjavascript.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?
Oder gibt es da im Hintergrund Abhängigkeiten, sodass das Script nicht mehr funktioniert ?
Bin leider nicht so bewandert mit den Programmiersachen. -
@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.
-
@jb_sullivan
Super
Danke für den Tip -
@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.1Sind eventuell etwaige Zusatzpakte einzubinden oder sonstige Parameter zu setzen?
Danke & lg
-
@donalfredo70 Das hatte ich auch mal. Aber nicht nur bei diesem Script. Habe den JS Adapter bzw Iobroker neu gestartet dann ging es.
-
@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. -
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?