PV Erzeugung über forecast.solar
-
- Beiträge: 24
- Registriert: 4. Sep 2019 15:25
Re: PV Erzeugung über forecast.solar
Hat jemand dazu eine Idee? Wie kann ich den String nachbearbeiten, damit ich den als Zahl habe?
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: PV Erzeugung über forecast.solar
Es ist etwas unglücklich, nach über drei Monaten zu fragen "Hat jemand dazu eine Idee?" Schon allein, weil unglücklicherweise dieses Posting auf der nächsten Seite gelandet ist.
Du musst dafür sorgen, dass nur ein Wert zurückgegeben wird. Dieser darf nur Ziffern und maximal einen Dezimalpunkt enthalten, kein Komma.
JS gibt, wenn ich mich richtig erinnere, immer einen String aus. Enthält dieser String aber eine gültige Zahl ohne Unit, so kann ein Number Channel diesen String dennoch als Zahlenwert interpretieren und an ein Number Item weitergeben.
Du musst dafür sorgen, dass nur ein Wert zurückgegeben wird. Dieser darf nur Ziffern und maximal einen Dezimalpunkt enthalten, kein Komma.
JS gibt, wenn ich mich richtig erinnere, immer einen String aus. Enthält dieser String aber eine gültige Zahl ohne Unit, so kann ein Number Channel diesen String dennoch als Zahlenwert interpretieren und an ein Number Item weitergeben.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 24
- Registriert: 4. Sep 2019 15:25
Re: PV Erzeugung über forecast.solar
Das stimmt, ist eine Weile her. Hatte jetzt erst wieder Zeit an dem Thema zu arbeiten. Ist tatsächlich etwas unglücklich.
Um das zu realisieren habe ich die JS Funktion angepasst:
pvforecastkwh.js
Code: Alles auswählen
(function(string) {
var value = string.replace("["," ").replace("]"," ");
var forecast = value.split(", ");
return (forecast[1]/1000).toFixed(1);
})(input)
Der Channel ist aber noch als "string" zugewiesen. Ich kann deshalb noch nicht direkt damit rechnen/vergleichen.
.things
Code: Alles auswählen
Thing http:url:forecastsolar "forecastsolar" [ authMode="BASIC", baseURL="https://api.forecast.solar", refresh=3600, stateMethod= "GET", timeout=40000, bufferSize=2048] {
Channels:
Type string : Solar_forecast "PV_Vorhersage" [ stateExtension="URL.json?time=minutes", stateTransformation="JSONPATH:$.result.watt_hours_day[*]" ]
}
Code: Alles auswählen
String Solar_forecast "PV_Vorhersage morgen [JS(pvforecastkwh.js):%s]" { channel="http:url:forecastsolar:Solar_forecast" }
Wie würde dafür die Umsetzung in der .things grob aussehen?
.things
Code: Alles auswählen
Thing http:url:forecastsolar "forecastsolar" [ authMode="BASIC", baseURL="https://api.forecast.solar", refresh=3600, stateMethod= "GET", timeout=40000, bufferSize=2048] {
Channels:
Type number : Solar_forecast_number "PV_Vorhersage [JS(pvforecastkwh.js):%s]" [ stateExtension="URL.json?time=minutes", stateTransformation="JSONPATH:$.result.watt_hours_day[*]" ]
}
Code: Alles auswählen
Number Solar_forecast_number_item "PV_Vorhersage morgen" { channel="http:url:forecastsolar:Solar_forecast_number" }
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: PV Erzeugung über forecast.solar
Aber Du nutzt ja gar kein JavaScript!?!
Kannst Du mal ein komplettes JSON Objekt posten, als Code? Hast Du evtl. auch scon mal gemacht, ich finde es aber weiter oben gerade nicht... Vermutlch muss nur das JSONPATH Statement etwas präzisiert werden, damit der richtige Wert im Channel landet.
Kannst Du mal ein komplettes JSON Objekt posten, als Code? Hast Du evtl. auch scon mal gemacht, ich finde es aber weiter oben gerade nicht... Vermutlch muss nur das JSONPATH Statement etwas präzisiert werden, damit der richtige Wert im Channel landet.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 24
- Registriert: 4. Sep 2019 15:25
Re: PV Erzeugung über forecast.solar
Mit der Ergänzung hat es geklappt. Thema erledigt.
Code: Alles auswählen
stateTransformation="JSONPATH:$.result.watt_hours_day[*]∩JS:pvforecastkwh.js"
-
- Beiträge: 62
- Registriert: 26. Nov 2020 08:00
Re: PV Erzeugung über forecast.solar
Hallo,denni hat geschrieben: ↑3. Apr 2022 18:50 Mit der Ergänzung hat es geklappt. Thema erledigt.
Code: Alles auswählen
stateTransformation="JSONPATH:$.result.watt_hours_day[*]∩JS:pvforecastkwh.js"
danke für den tollen Beitrag. Könntest Du bitte den jetzigen Stand komplett posten. Ich würde gerne bei mir auch den forecast einbinden.
Danke
-
- Beiträge: 317
- Registriert: 29. Okt 2020 19:53
Re: PV Erzeugung über forecast.solar
Hallo, habt ihr auch ab und zu bei schlechtem Wetter extrem niedrige forecast Werte? Ich hab heute z.B. nur ca. 2 - 6 kWh bei einer 18kWp Anlage.
Servus
-
- Beiträge: 317
- Registriert: 29. Okt 2020 19:53
Re: PV Erzeugung über forecast.solar
Bei mir liegen die forecast Werte oft sehr weit daneben, und machen während des Tages auch große Sprünge:
Ich überlege auch, ob ich nicht einfach die Bewölkung in Verbindung mit dem Monat auswerte, um den Ertrag abzuschätzen.
Ich steuere damit meine Wärmepumpe und den Hausakku, also einigermaßen verlässliche Werte wären nicht schlecht.
Gibt es noch bessere Möglichkeiten an die forecast Werte zu kommen?Ich überlege auch, ob ich nicht einfach die Bewölkung in Verbindung mit dem Monat auswerte, um den Ertrag abzuschätzen.
Ich steuere damit meine Wärmepumpe und den Hausakku, also einigermaßen verlässliche Werte wären nicht schlecht.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Servus