NEWS
Daten aus Fronius Solarweb auslesen
-
@Strobelix
Hallo,
ich nutze dieses tolle Script schon eine ganze Weile und ich konnte es auch immer gut an meine PV Anlage anpassen.
Nun habe ich allerdings einen kleinen Growatt WR dazu bekommen, kann auch die Daten dazu auslesen, aber ich würde die Daten gerne in dem gleichen Format wie das Fronius Script zusammenbringen.
Ich habe von Growatt die Daten
-aktuelle Erzeugung
-Tagesertrag
-Gesamtertrag
Den Ordner 01_Day nachzustellen ist kein Problem,
aber wie bekomme ich das mit dem Ordner 02_Weekdays bzw. 05_AnnualMonth hin?P.S. Mit dem Adapter ValueTrackerOverTime scheint es zu funktionieren.
-
@c1olli
Eigentlich kannst du das im Script aus den jeweiligen Funktionen rauslesen wie es funktioniert.
Ich müsste mich jetzt auch erst wieder damit befassen, da es einfach schon zu lange her ist.
Aber wenn du eine Lösung hast, dann ists ja super -
@strobelix
Das mit dem Rauslesen ist ein wenig schwierig, aber ich finde so langsam immer mehr heraus.
Wenn man die Funktion der einzelnen Blöcke erkennt, dann kann ich sie
für meine Zwecke anpassen.
Bisher scheint es ganz gut zu funktionieren, das Rücksetzen hat auch geklappt,
Die Daten passen soweit.
Noch ein wenig Fleißarbeit für die noch fehlenden Datenpunkte, dann sollte es passen. -
@Strobelix
Seit JavaScriptAdapter Version 8.7.2 funktioniert das Script nicht mehr (mit 8.7.1 läuft es)javascript.0 2024-07-26 08:30:05.080 error at script.js.Fronius:986:1 javascript.0 2024-07-26 08:30:05.080 error at Aggrdata_Zeitplan (script.js.Fronius:941:3) javascript.0 2024-07-26 08:30:05.080 error at Current_abfragen (script.js.Fronius:347:9) javascript.0 2024-07-26 08:30:05.079 error at Aggrdata (script.js.Fronius:50:27) javascript.0 2024-07-26 08:30:05.079 error script.js.Fronius: TypeError: moment is not a function javascript.0 2024-07-26 08:30:05.075 error at script.js.Fronius:986:1 javascript.0 2024-07-26 08:30:05.075 error at Aggrdata_Zeitplan (script.js.Fronius:941:3) javascript.0 2024-07-26 08:30:05.075 error at Current_abfragen (script.js.Fronius:347:9) javascript.0 2024-07-26 08:30:05.074 error at Aggrdata (script.js.Fronius:47:18) javascript.0 2024-07-26 08:30:05.073 error at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:548:32) javascript.0 2024-07-26 08:30:05.073 error at require (node:internal/modules/helpers:177:18) javascript.0 2024-07-26 08:30:05.072 error at Module.require (node:internal/modules/cjs/loader:1231:19) javascript.0 2024-07-26 08:30:05.071 error script.js.Fronius: Error: Cannot find module '@iobroker-javascript.0/moment'
-
@massiveattack du musst nur das npm Modul moment nachinstallieren.
Javascript instanz öffnen und bei zusätzliche NPM Module „moment“ eintragen.
Dann gehts wieder -
-
@strobelix sagte in Daten aus Fronius Solarweb auslesen:
„moment“
In der Version 8.7.3 von JS zickt die Auslesung aber wieder rum. Ich gehe wieder zurück auf 8.7.1.
javascript.0 2024-07-26 12:11:01.894 error at Script.runInContext (node:vm:148:12) javascript.0 2024-07-26 12:11:01.894 error at script.js.Solar.SolarWeb:986:3 javascript.0 2024-07-26 12:11:01.893 error at script.js.Solar.SolarWeb:978:7 javascript.0 2024-07-26 12:11:01.893 error at Aggrdata_Zeitplan (script.js.Solar.SolarWeb:354:9) javascript.0 2024-07-26 12:11:01.893 error at Login (script.js.Solar.SolarWeb:37:13) javascript.0 2024-07-26 12:11:01.892 error script.js.Solar.SolarWeb: TypeError: Cannot read properties of undefined (reading 'post') javascript.0 2024-07-26 12:11:01.887 error at Script.runInContext (node:vm:148:12) javascript.0 2024-07-26 12:11:01.887 error at script.js.Solar.SolarWeb:986:3 javascript.0 2024-07-26 12:11:01.887 error at script.js.Solar.SolarWeb:978:7 javascript.0 2024-07-26 12:11:01.887 error at Aggrdata_Zeitplan (script.js.Solar.SolarWeb:354:9) javascript.0 2024-07-26 12:11:01.886 error at Login (script.js.Solar.SolarWeb:7:19) javascript.0 2024-07-26 12:11:01.882 error at require (C:\ioBroker\GLT\node_modules\iobroker.javascript\lib\sandbox.js:548:32) javascript.0 2024-07-26 12:11:01.882 error at require (node:internal/modules/helpers:179:18) javascript.0 2024-07-26 12:11:01.882 error at Module.require (node:internal/modules/cjs/loader:1233:19) javascript.0 2024-07-26 12:11:01.881 error script.js.Solar.SolarWeb: Error: Cannot find module '@iobroker-javascript.0/request' javascript.0 2024-07-26 12:11:01.877 warn script.js.Solar.SolarWeb: request package is deprecated - please use httpGet (or a stable lib like axios) instead! javascript.0 2024-07-26 12:11:01.866 info Start JavaScript script.js.Solar.SolarWeb (Blockly) javascript.0 2024-07-26 12:11:01.866 info script.js.Solar.SolarForcast: Error : TypeError: request is not a function javascript.0 2024-07-26 12:11:01.865 info script.js.Solar.SolarForcast: Request https://api.forecast.solar/988a070a00650124/estimate/52.35/10.24/40/-90/2.64 javascript.0 2024-07-26 12:11:01.863 info script.js.Solar.SolarForcast: Request https://api.forecast.solar/988a070a00650124/estimate/52.35/10.24/40/90/7.26 javascript.0 2024-07-26 12:11:01.859 info script.js.Solar.SolarForcast: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2024-07-26 12:11:01.859 error at Script.runInContext (node:vm:148:12) javascript.0 2024-07-26 12:11:01.859 error at script.js.Solar.SolarForcast:215:3 javascript.0 2024-07-26 12:11:01.859 error at script.js.Solar.SolarForcast:66:15 javascript.0 2024-07-26 12:11:01.858 error at require (C:\ioBroker\GLT\node_modules\iobroker.javascript\lib\sandbox.js:548:32) javascript.0 2024-07-26 12:11:01.858 error at require (node:internal/modules/helpers:179:18) javascript.0 2024-07-26 12:11:01.857 error at Module.require (node:internal/modules/cjs/loader:1233:19) javascript.0 2024-07-26 12:11:01.857 error script.js.Solar.SolarForcast: Error: Cannot find module '@iobroker-javascript.0/request' javascript.0 2024-07-26 12:11:01.842 warn script.js.Solar.SolarForcast: request package is deprecated - please use httpGet (or a stable lib like axios) instead! javascript.0 2024-07-26 12:11:01.833 info Start JavaScript script.js.Solar.SolarForcast (JavaScript/js) javascript.0 2024-07-26 12:11:00.758 info Watch C:/iobroker/SkriptBackup/ javascript.0 2024-07-26 12:11:00.757 info Watch C:/iobroker/SkriptBackup/Solar/ javascript.0 2024-07-26 12:11:00.753 info Watch C:/iobroker/SkriptBackup/Passiv/ javascript.0 2024-07-26 12:11:00.744 info Watch C:/iobroker/SkriptBackup/Gruenbeck/ javascript.0 2024-07-26 12:11:00.694 info Watch C:/iobroker/SkriptBackup/global/ javascript.0 2024-07-26 12:11:00.692 info Watch C:/iobroker/SkriptBackup/common/ javascript.0 2024-07-26 12:11:00.688 info Watch C:/iobroker/SkriptBackup/Aktiv/
-
verwende auch 8.7.3, bei mir nicht...
-
@jb_sullivan request Paket nutze ich in der aktuellen Skriptversion nicht.
Ich hab alles auf Axios umgestellt.
Hast du die aktuelle Version? -
@strobelix OH, das habe ich nicht mitbekommen, das es seit Mai 2024 eine neue Version gibt. Dann habe ich heute bei dem schiet Wetter ja was zu tun
-
@nik82 sagte in Daten aus Fronius Solarweb auslesen:
Muss ich noch was anders ändern?
nodejs auf v.20 bringen.
-
Hallo zusammen,
habe gerade festgestellt, dass das script unter "today" den selben Wert wie unter "today remaining" ausgibt. Ist dieser Fehler schon bekannt? Gibt es ein fix, wie man wieder den richtigen "today"-Wert bekommen kann?
Danke für euren support. -
@hssk said in Daten aus Fronius Solarweb auslesen:
Hallo zusammen,
habe gerade festgestellt, dass das script unter "today" den selben Wert wie unter "today remaining" ausgibt. Ist dieser Fehler schon bekannt? Gibt es ein fix, wie man wieder den richtigen "today"-Wert bekommen kann?
Danke für euren support.schon mal auf den Button "0_userdata.0.Solarweb.Forecast.Forecastwerte_abrufen" gedrückt? Bei mir stimmt beides.
-
@strobelix Wenn ich den abrufen button drücke passiert nichts wahrnehmbares. Habe auch von node 18 auf 20 upgedatet. Leider keine Veränderung. today ist immer noch gleich wie today remaining:
Was mir zusätzlich aufgefallen ist, im Script-Log wird angezeigt current day - keine Daten vorhanden
-
@hssk said in Daten aus Fronius Solarweb auslesen:
@strobelix Wenn ich den abrufen button drücke passiert nichts wahrnehmbares. Habe auch von node 18 auf 20 upgedatet. Leider keine Veränderung. today ist immer noch gleich wie today remaining:
Was mir zusätzlich aufgefallen ist, im Script-Log wird angezeigt current day - keine Daten vorhanden
Also wenn keine Tagesdaten vorhanden sind um 16:27, dann ist das wirklich sehr seltsam.
Seit wann ist das schon so? Kannst du das zeitlich einordnen? Ist es heute auch so? -
@strobelix: Ja, ist heute auch so. Unter Current werden überhauft keine Werte eingelesen
und unter forecast ist nach wie vor today = today_remainig (wobei today_remaining korrekt ist).
Seit wann dies so ist ist schwer zu sagen, da ich erst nach dem Urlaub festgestellt hatte, meine Hausbatterie-Ladestrategie ist merkwürdig und dabei dann darauf gestoßen bin. Schätze daher irgendwo sein 1 bis 3 Wochen. -
@hssk
also der Fehler muss daran liegen, das kein "Current Day" abgerufen wird.
Die Forcastabfrage ruft immer den Wert ab "jetzt" ab und ist somit immer der "Remaining-Wert". Für den Today-Wert, wird zum Remaining nämlich einfach nur der bisherige Today-Wert dazu addiert. Wo kein Today-Wert ist, wird auch nichts addiert.Der Fehler muss also bei der Current-Abfrage liegen.
Nutzt du denn das aktuellste Script mit der Umstellung auf Axios statt httpRequest? Vielleicht wird deshalb irgendein Wert nicht richtig abgeholt. -
@strobelix verwende diese Version (Bsp anhand Login-Script).
Denke dies ist das Script nach Umstellung auf Axios.
PS: die geschwärzten Login-Daten innerhalb des Scripts sind zwar nicht meine unter "Pass" und "Solar PV ID" eingegebenen. Habe sie aber sicherheitshalber dennoch mal geschwärzt -
@hssk said in Daten aus Fronius Solarweb auslesen:
@strobelix verwende diese Version (Bsp anhand Login-Script).
Denke dies ist das Script nach Umstellung auf Axios.
PS: die geschwärzten Login-Daten innerhalb des Scripts sind zwar nicht meine unter "Pass" und "Solar PV ID" eingegebenen. Habe sie aber sicherheitshalber dennoch mal geschwärztDie AccessKey Werte sind die Werte der Solarweb App, um sich am Server anzumelden, die werden im Script verwendet, damit Fronius "denkt" dass die App auf die Daten zugreift. API Abfragen sind nämlich eigentlich kostenpflichtig bei Fronius.
Ändert nichts an der Problematik deiner Werte.
Sind beim Current Day dann alle Werte leer? Kannst du mal den Baum komplett aufklappen und davon Screenshots posten? -
@strobelix kam erst jetzt dazu. Hier der gesamte Baum: