NEWS
Daten aus Fronius Solarweb auslesen
-
@massiveattack sagte in Daten aus Fronius Solarweb auslesen:
hatte ich gestern auch schon
ist bei mir erst seit heute
-
ich glaube es spinnt schon seit Sonntag rum bei mir.
aber dann bin ich beruhigt wenn ich nicht alleine bin
-
Hallo,
mir fehlen momentan die Werte aus den Monaten Januar bis April:Und wenn ich den Button "Vergangene Einzelmonatswerte abrufen" drücke, dann kommt folgende Meldung im Log:
Werte sind aber vorhanden im Solarweb.
Jemand eine Idee?
Danke im Voraus.
-
@nik82 damit fragst du die Werte von 2022 ab, bist du da sicher?
Oder willst du die Jan-April 2023? Dann musst du die Current-Annual_Months abfragen! -
@strobelix
AAAHHHHH, sorry, ich will natürlich die 2023 Werte, die stehen ja unter Current.
Sorry, mein Fehler.
Vielen Dank für den schnelle Info -
Hallo,
ich habe seit kurzem auch eine Fronius Wechselrichter und möchte die Daten ebenfalls abrufen mit dem Skript.
Was mir auffällt ist, dass die Daten sehr unregelmäßig abgerufen werden, zum teil auch nur 2 oder 3 mal am Tag. Muss hier etwas beachtet werden? Oder kann man irgendwie herausfinden, warum er die daten nicht abruft?
Super Skript.
Gruß
Dirk -
@derdoerk 2 - 3 mal ist echt wenig.
mir ist zumindest aufgefallen, dass neue Anlagen nicht mit der normalen Versatzzeit funktionieren, sondern irgendwo hinten angereiht werden.
Dies bessert sich aber mit der Betriebszeit. -
@maximal1981
Die Anlage läuft seit knapp 3Monaten. der normale Web Zugriff läuft ohne Problem.Was mach ich nur falsch. Den Pro Account brauch man aber nicht
Wie oft müsste er den normaler weise abrufen?
-
@derdoerk alle 30 Minuten, wobei du nur alle 60 min eine Änderung feststellbar ist, da ja nur alle 1 h die entsprechenden Werte auf der Fronius Seite aktualisiert werden.
-
wesweil ich wieder zum alten fronius adaper zurück bin...
-
Hallo
Ich habe versucht das tolle Script im ioBroker-Blockly zu importieren.
Ich bekomme zwar eine "Fertig"-Meldung, finde dann aber das Script nicht.
Was mache ich falsch?
Hinweis: hab Softwarekomponenten ziemlich alle auf den aktuellen Stand gebracht.
Danke
-
.......[gelöst]......
-
Hi, funktioniert bei euch das Skript noch richtig?
Bei mir unterscheiden sich die Werte von den Datenpunkten und das was im Solarweb steht enorm?! Heute z.B Energy Forecast today laut Datenpunkt 168 kWh im Solarweb 100kwh. -
@diamand2k22 sagte in Daten aus Fronius Solarweb auslesen:
Hi, funktioniert bei euch das Skript noch richtig?
Bei mir unterscheiden sich die Werte von den Datenpunkten und das was im Solarweb steht enorm?! Heute z.B Energy Forecast today laut Datenpunkt 168 kWh im Solarweb 100kwh.Hallo,
Ich habe das selbe Verhalten: Der Forecast Wert für den Aktuellen Tag ist weit über dem Tatsächlichen - manchmal noch um 7 Uhr abends hab ich einen Restbetrag von 40 kWh... Der Wert für den morgigen Tag stimmt aber wiederum ziemlich genau. -
@ndtbuddyb
das ist leider ein Rechenfehler der über den Tag entstehen kann.Die Forecastwerte des aktuellen Tags werden im 15min Takt angegeben, ich muss also ab aktueller Uhrzeit die restlichen 15min Werte des Tages zusammenzählen und am Ende die bereits bis dahin erzeugten kWh dazurechnen um auf das Ergebnis des aktuellen Tages zu kommen.
Ich rechne also mit den ab Punkt X gezeigten Forecastwerten + die von Solarweb ausgespuckten bisher erzeugten kWh.
Problem dabei ist, dass der Wert der bisher erzeugten Energie nicht immer aktuell ist, weil nicht immer im selben Takt die Werte an Solarweb übertragen werden.Der Solarweb-Server weiß natürlich wann er die Werte bekommt, ich allerdings nicht, somit addiere ich da manchmal zwei Werte die nicht zusammenpassen bzw die sich überschneiden oder sogar Lücken haben.
Da es natürlich für den Folgetag noch keine Werte gibt, stimmt hier die Forecastrechnung, da muss ich am Ende ja nichts zusammenrechnen.
Ich beobachte das auch immer wieder, finde aber bisher leider keine Lösung
In der Früh stimmen die Werte noch und über den Tag können sie abweichen, nicht immer, aber kommt leider vor
-
@strobelix Danke für die Info...
Ist ansich nicht so schlimm (Dieser Wert ist für mich eh nur ein "nice to have"). Jedenfalls danke für die Erklärung, ich dachte schon, ich habe irgendwo einen Fehler eingebaut ;-).
Sonst ist dein Script aber für mich sehr wertvoll - Alle Achtung, würde ich so nie zusammenbringen! -
@ndtbuddyb ich vermute Fronius hat da was geändert.
Der today-Remaining Wert entspricht dem Total Wert aus Solarweb.
Muss mir die API Werte mal anschauen, aber evtl addiert der Solarwebserver jetzt von selbst die bereits erzeugten Werte zur restlichen Tagesvorhersage.
Dadurch würde ich das dann doppelt addieren.
Ich gebe Rückmeldung -
Kurze Frage in die Runde - ist es bei Euch auch so, das die Solarweb Daten vom Vortag nicht mehr ausgelesen werden?
-
@jb_sullivan
kann ich nicht bestätigen, wird bei mir alles richtig geladen -
Thema: Falsche Forecastwerte des aktuellen Tages:
Ich hab den Fehler gefunden. Fronius hat früher die Tagesdaten ab der aktuellen Uhrzeit angezeigt. Seit ein paar Wochen werden aber auch Daten von aktueller Uhrzeit -6h angezeigt. Somit war der addierte Wert immer um die Daten der letzten 6 Stunden zu hoch!
Oben im ersten Beitrag ist das aktuelle Blockly, du kannst aber auch im bestehenden Blockly unter
"Javascript Funktion Forcast" den Inhalt durch das hier austauschen:var https = require("https"); var request = require("request"); var moment = require("moment"); if (diffforecast === 0) { var datum = moment().format('YYYY-MM-DD'); var uhrzeitvon = moment().format('HH:mm:ss'); var ordner = "EnergyProduction_Today"; var bezeichnung = " Forecast Today"; } else if (diffforecast === 1) { var datum = moment().add(1, 'day').format('YYYY-MM-DD'); var uhrzeitvon = '00:00:00'; var ordner = "EnergyProduction_Tomorrow"; var bezeichnung = " Forecast Tomorrow"; } var options = { url: 'https://swqapi.solarweb.com/pvsystems/'+Solarweb_PV_ID+'/weather/energyforecast?from='+datum+'T'+uhrzeitvon+'Z&to='+datum+'T23:59:59Z', headers: { 'AccessKeyId':'FKIAFFB3D0986CF24CBDBF580755A9F38769', 'AccessKeyValue': 'ab5563fb-ff0a-43d0-a526-c07a4d0b03aa', 'Content-Type': 'application/json' }, 'auth': { 'bearer': token } }; function callback(error, response, body) { var result = JSON.parse(body); let sum = 0; if (response.statusCode ==200) { if (result.data.length > 0){ var arrayLength = result.data.length; for (let i = 0; i < arrayLength; i++) { sum += result.data[i].channels[0].value;}; createState("0_userdata.0.Solarweb.Forecast.Forecastwerte_abrufen", {name: "Forecastwerte abrufen", type: 'boolean', role: 'button', read: true, write: true, desc: "Manuell erzeugt",def:false}, function () {}); createState("0_userdata.0.Solarweb.Forecast."+ordner, {name: "EnergyProduction"+bezeichnung,role: "state",type: "number",read: true,write: false, desc: "Manuell erzeugt",def:0,unit: "kWh"}, function () {}); createState("0_userdata.0.Solarweb.Forecast.EnergyProduction_Today_Remaining", {name: "EnergyProduction Forecast Today Remaining",role: "state",type: "number",read: true,write: false, desc: "Manuell erzeugt",def:0,unit: "kWh"}, function () {}); timeout = setTimeout(async function () { if (diffforecast === 0) { setState("0_userdata.0.Solarweb.Forecast.EnergyProduction_Today_Remaining",(Math.round(sum/1000*100)/100), true); setState("0_userdata.0.Solarweb.Forecast."+ordner, (Math.round((sum/1000 + getState("0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal").val)*100)/100), true); } else if (diffforecast === 1) { setState("0_userdata.0.Solarweb.Forecast."+ordner, (Math.round(sum/1000*100)/100), true); } }, 1500); } else{console.log("Solarweb Forecast"+bezeichnung+" konnte nicht abgefragt werden - Keine Daten vorhanden")}} else{console.log("Solarweb Forecast"+bezeichnung+" konnte nicht abgefragt werden - Kein Premiumaccount")} } request.get(options, callback);