NEWS
Solarprognose
-
Hi zusammen,
ich habe mich heute auf die Suche begeben um eine Solarprognose zu finden, da der Adapter mit Solarwetter.com nicht mehr funktioniert so wie ich das mitbekommen habe.
Ich habe dann folgendes gefunden:
http://www.solarprognose.de/web/de/solarprediction/page/indexNur ich kann hier leider gar nichts damit anfangen da ich absoluter Neuling in Sachen IoBroker bin. Man kann hier sämtliche Daten eingeben die sinnvoll für den PV Ertrag sind, wie Dachneigung, Modulleistung, usw.
1 Projekt ist kostenlos, man darf maximal 20 Anfragen am Tag stellen, würde hier vielleicht jemand einen Adapter oder ein Script schreiben, ich denke es sollte doch für viele interessant sein. Ich werde euch unterstützen so weit es in meiner Macht steht, vielleicht lerne ich da ja das ein oder andere.Würde mich freuen, wenn sich hier jemand angesprochen fühlt.
Gruß Babl
-
@babl
Ich nutze selbst http://forecast.solar/ um diese Infos zu erhalten.Um die Frage bezüglich IOBroker zu beantworten: Was möchtest du denn mit den Daten machen? Was soll das Skript denn können? Nur Daten lesen? Oder irgendwie auf die Daten "reagieren"?
-
@hans_999
Hui Forecast.Solar klingt ja spannend. WIeder was zum Spielen. Danke. -
@hans_999 hi, danke für deine Antwort.
ich bekomme folgende daten. siehe bild
habe aber null plan wie ich die hier auswerten kann oder was ich hier machen muß. Diese daten wurden mit dem Adapter "Parser" eingelesen.
Gruß Babl
-
@babl sagte in Solarprognose:
siehe bild
Bitte keinen externen Hoster verwenden.
Bilder mit der Uploadfunktion (Wolke) hier im Forum hochladen.Bitte ändern!
-
@babl sagte:
ich bekomme folgende daten.
Bitte den gesamten Wert (JSON) in Code tags posten.
Offenbar sind stündliche Werte von Leistung und kumulierter Energie eines Tages enthalten. Was soll das Ergebnis der Aufbereitung der Daten sein ?
-
@paul53 in flot ein diagramm zum möglichen solarertrag daß ich dann in vis einbinden kann.
{"status":0,"iLastPredictionGenerationEpochTime":1601799281,"weather_source_text":"<a target=\"_blank\" href=\"https://www.dwd.de/DE/service/copyright/copyright_node.html\"><img src=\"http://www.solarprognose.de/web/img/dwd_logo_258x69.png\"></a>","datalinename":"Germany > Zimmering","data":{"1601787600":[0,0],"1601791200":[0.09,0.09],"1601794800":[0.829,0.919],"1601798400":[1.838,2.757],"1601802000":[2.698,5.455],"1601805600":[3.14,8.595],"1601809200":[3.371,11.966],"1601812800":[3.168,15.134],"1601816400":[2.518,17.652],"1601820000":[2.029,19.681],"1601823600":[1.753,21.434],"1601827200":[1.205,22.639],"1601830800":[0,22.639],"1601874000":[0,0],"1601877600":[0.045,0.045],"1601881200":[0.466,0.511],"1601884800":[0.995,1.506],"1601888400":[1.372,2.878],"1601892000":[1.553,4.431],"1601895600":[1.617,6.048],"1601899200":[1.497,7.545],"1601902800":[1.356,8.901],"1601906400":[1.215,10.116],"1601910000":[1.063,11.179],"1601913600":[0.778,11.957],"1601917200":[0,11.957]}}
-
@babl sagte:
in flot ein diagramm zum möglichen solarertrag daß ich dann in vis einbinden kann.
Flot kann nur History-Daten mit Echtzeit als x-Achse darstellen, keine Vorausschau.
-
@paul53 aah ok, da hast du auch wieder recht, hmmmm das ist alles nicht so einfach wie ich mir das vorstelle. Wenn man diese dann als Tabelle ausgibt würde mir auch reichen für den anfang, zuerst muß ich mal die daten aus dem json bekommen da geht das 1. problem schon los das andere mit der aufbereitung wäre erst der nächste schritt
-
@babl sagte:
zuerst muß ich mal die daten aus dem json bekommen
Der JSON-String kann nicht geparst werden, da unzulässige Zeichen (Backslash) enthalten sind. Du solltest es nicht mit dem Parser-Adapter, sondern in Javascript mit request() einlesen.
const url = 'hier die komplette URL eintragen'; request(url, function (error, response, result) { if(error) log(error, 'error'); else log(result); });
Wenn man durch JSON.parse() das Objekt hat, kann man es weiter auswerten:
if(obj.status) log('Fehler: ' + obj.status, 'warn'); else { let data = obj.data; for(let entry in data) { log(formatDate(parseInt(entry), 'DD.MM.YYYY hh:mm: ') + data[entry][0] + ' kW, ' + data[entry][1] + ' kWh'); } }
was folgende Log-Ausgabe erzeugt:
12:01:06.837 info javascript.1 (1944) script.js.common.Test: 04.10.2020 07:00: 0 kW, 0 kWh 12:01:06.838 info javascript.1 (1944) script.js.common.Test: 04.10.2020 08:00: 0.09 kW, 0.09 kWh 12:01:06.838 info javascript.1 (1944) script.js.common.Test: 04.10.2020 09:00: 0.829 kW, 0.919 kWh 12:01:06.838 info javascript.1 (1944) script.js.common.Test: 04.10.2020 10:00: 1.838 kW, 2.757 kWh 12:01:06.838 info javascript.1 (1944) script.js.common.Test: 04.10.2020 11:00: 2.698 kW, 5.455 kWh 12:01:06.838 info javascript.1 (1944) script.js.common.Test: 04.10.2020 12:00: 3.14 kW, 8.595 kWh 12:01:06.839 info javascript.1 (1944) script.js.common.Test: 04.10.2020 13:00: 3.371 kW, 11.966 kWh 12:01:06.839 info javascript.1 (1944) script.js.common.Test: 04.10.2020 14:00: 3.168 kW, 15.134 kWh 12:01:06.839 info javascript.1 (1944) script.js.common.Test: 04.10.2020 15:00: 2.518 kW, 17.652 kWh 12:01:06.839 info javascript.1 (1944) script.js.common.Test: 04.10.2020 16:00: 2.029 kW, 19.681 kWh 12:01:06.839 info javascript.1 (1944) script.js.common.Test: 04.10.2020 17:00: 1.753 kW, 21.434 kWh 12:01:06.839 info javascript.1 (1944) script.js.common.Test: 04.10.2020 18:00: 1.205 kW, 22.639 kWh 12:01:06.839 info javascript.1 (1944) script.js.common.Test: 04.10.2020 19:00: 0 kW, 22.639 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 07:00: 0 kW, 0 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 08:00: 0.045 kW, 0.045 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 09:00: 0.466 kW, 0.511 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 10:00: 0.995 kW, 1.506 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 11:00: 1.372 kW, 2.878 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 12:00: 1.553 kW, 4.431 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 13:00: 1.617 kW, 6.048 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 14:00: 1.497 kW, 7.545 kWh 12:01:06.840 info javascript.1 (1944) script.js.common.Test: 05.10.2020 15:00: 1.356 kW, 8.901 kWh 12:01:06.841 info javascript.1 (1944) script.js.common.Test: 05.10.2020 16:00: 1.215 kW, 10.116 kWh 12:01:06.841 info javascript.1 (1944) script.js.common.Test: 05.10.2020 17:00: 1.063 kW, 11.179 kWh 12:01:06.841 info javascript.1 (1944) script.js.common.Test: 05.10.2020 18:00: 0.778 kW, 11.957 kWh 12:01:06.841 info javascript.1 (1944) script.js.common.Test: 05.10.2020 19:00: 0 kW, 11.957 kWh
-
@paul53 danke für deine mühe, aber ich komme hier überhaupt nicht mit wie das alles funktionieren soll.
ich habe das 1. script von dir als java script ausführen lassen, da passiert nichts.
du schreibst dann "wenn man durch JSon.parse() das Objekt hat" sorry keine Ahnung was du damit meinst.
ich weiß das ist schei.... wenn man als noob hier alles loggen und auslesen will und keine ahnung hat, sorry dafür. habe auch schon gegoogelt aber das mit dem javascript ist totales neuland für mich.
Gruß Babl (schönen Sonntag wünsch ich)
-
@babl sagte:
ich habe das 1. script von dir als java script ausführen lassen, da passiert nichts.
Vielleicht wird ein Error zurück geliefert ? Ich habe das Script oben um ein Error-Log erweitert.
-
@paul53 ne das müßte schon passen, aber jetzt ist die max anzahl der api requests erreicht deshalb kommt ein fehler zurück. Habe es deshalb gestoppt. Aber trotzdem hilft mich das alles nichts denn wie gesagt habe keinen plan was dann weiter zu tun ist.
-
@babl sagte:
habe keinen plan was dann weiter zu tun ist.
Wenn Du den JSON-String in der Log-Ausgabe in Code tags postest, kann ich weiterhelfen.
Wie soll die Struktur der Datenpunkte aussehen in die die Werte für Leistung und Energie geschrieben werden sollen ? -
@paul53 danke dir, ich probier das morgen nochmal, da sollten die requests wieder passen, ich schau mir das dann auf jeden fall mal an wie du das machst vielleicht komme ich da auch dahinter.
Vielleicht könnte man das in dieser Form irgendwie darstellen.
So könnte ich dann es direkt auf der Webseite anpassen von der ich mir die Daten hole daß es einigermaßen mit der vorhersage stimmt.
-
@babl sagte:
Vielleicht könnte man das in dieser Form irgendwie darstellen.
Keine Ahnung, wie man das in ioBroker mit Vorhersagen hinbekommt.
So etwas könnte erzeugt werden: -
@paul53 wow, schaut doch gut aus. aber warum funktioniert das bei dir, und du hast die daten schon, oder hast du nur jetzt die daten aus dem obigen code genommen.
-
@babl sagte:
hast du nur jetzt die daten aus dem obigen code genommen.
Ja, habe ich in das Script kopiert.
-
@paul53 da muß ich noch viel lernen habe mir das ein wenig simpler vorgestellt, da wo die adapter da sind da bekomme ich das auch hin und ein blockly script schreiben um die werte vom orginalen datenpunkt zu einem alias datenpunkt umwandeln und dann von watt nach kw umzurechnen das habe ich auch noch hinbekommen, aber dann trennt sich leider der spreu vom weizen wie man so schön sagt.
-
@babl sagte in Solarprognose:
man das in dieser Form irgendwie darstellen.
ist jetzt etwas OT, aber 21 kWh am Tag bei maximal 3,1 kW klingt für mich etwas unglaublich.
Da müsste ja etwa 7 Stunden die Höchstleistung geliefert worden sein