Hallo zusammen,
Ich nutze das openweathermap Binding und würde mir gerne eine "Wolken" Prognose für die nächsten 1-2 Tage erstellen. Also quasi:
17.12.21 - 6 Uhr: 50%
17.12.21 - 9 Uhr: 30%
17.12.21- 12 Uhr: 15%
17.12.21 - 15 Uhr 60%
17.12.21 - 17 Uhr 40%
17.12.21 - 19 Uhr 70%
Eine Prognose der Wolken vom nächsten Tag wäre in einem eingestellten Zeitfenster von 6-22 Uhr nur erforderlich. Nacht interessiert mich nicht.
Die Datenpunkte sollen also Datum Zeit und Prognose haben. Aktuell bekomme ich die Daten mit einem openweathermap free Account in Stunden. Das Problem an der Sache ist aber, dass die Daten immer die Referenz " aktuelle Zeit" + x Stunden hat.
Wenn ich dann wieder eine Stunde später Abfrage hat sich die Referenz auch verändert.
Hat jemand eine Idee wie ich möglichst einfach eine Wolken Prognose für den nächsten Tag aus den Daten von openwearhermap ableiten kann? Vllt. Hat das Binding ja sogar so eine Funktion die mir noch nicht bekannt ist? ideal wäre es auch wenn man dann am Ende in einer Prognose kurve Wolkendichte % über "Datum mit Zeit " darstellen kann.
Danke euch.
PS Ich nutze openhab 3
Wolken Prognose für nächsten Tag
- udo1toni
- Beiträge: 15265
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Wolken Prognose für nächsten Tag
Da wirst Du nicht um eine Rule herum kommen. Du brauchst Items für die gelieferten Daten (also z.B. 48 Stück für die nächsten 48 Stunden). Die benennst Du am geschicktesten mit durchnumerierten Namen, z.B. Wolken_1 bis Wolken_48. Diese verknüpfst Du mit den entsprechenden Channels.
Diese Items packst Du in eine Gruppe gWolken.
Weiterhin brauchst Du einen Satz Items für die Zeiträume Morgen und Übermorgen, jeweils für 6 Uhr, 9 Uhr usw. Diese Items könnte man auch in eine Gruppe packen, vermutlich ist es aber einfacher, die Items direkt anzusprechen.
Nun musst Du in der Rule die Gruppe der Items gWolken durchlaufen, dabei prüfst Du auf welche Stunde das Item aktuell hinweist (aktuelle Stunde plus Itemnummer) und weißt dadurch, welches Item Du aktualisieren musst.
So als grobes Konzept.
Diese Items packst Du in eine Gruppe gWolken.
Weiterhin brauchst Du einen Satz Items für die Zeiträume Morgen und Übermorgen, jeweils für 6 Uhr, 9 Uhr usw. Diese Items könnte man auch in eine Gruppe packen, vermutlich ist es aber einfacher, die Items direkt anzusprechen.
Nun musst Du in der Rule die Gruppe der Items gWolken durchlaufen, dabei prüfst Du auf welche Stunde das Item aktuell hinweist (aktuelle Stunde plus Itemnummer) und weißt dadurch, welches Item Du aktualisieren musst.
Code: Alles auswählen
gWolken.forEach[i|
val fcHour = Integer::parseInt(i.name.split("_").get(1))
val newHour = now.plusHours(fcHour).getHour
if(newHour > 5 && newHour < 20) {
if(newHour <9)
my6to9Item.postUpdate(i.state)
else if(newHour <12)
my9to12Item.postUpdate(i.state)
else if(newHour <15)
my12to15Item.postUpdate(i.state)
else if(newHour <17)
my15to17Item.postUpdate(i.state)
else if(newHour <19)
my17to19Item.postUpdate(i.state)
else
my19Item.postUpdate(i.state)
}
]
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 600
- Registriert: 20. Sep 2019 05:49
Re: Wolken Prognose für nächsten Tag
Solltest Du die Daten für die Prognose einer PV-Anlage benötigen, so schau einmal im I-Net nach Solar-forecast.
Das hat eine API, dort kann man mit einer Anmeldung ähnlich der Wetterdienste eine Solarprognose für seinen Ort anfordern.
Das geht mit dem http-Binding ganz easy.
https://forecast.solar/