RS RainRadar Forecast V 2.x (alt)
Update 08.03.2016
RS RainRadar Forecast 2.0 funktioniert derzeit nicht -> siehe Beitrag hier
Der kleine Haus-Automatisierer hat heute eine eigene Wetterstation an sein IP-Symcon angebunden. So weiß nicht nur er, ob es grad regnet, sondern auch seine Wohnung. Und die kann entsprechend darauf reagieren. Was ist aber, wenn die Automation oder die Hausbewohner einen gewissen Vorlauf für Entscheidungen brauchen? Anders formuliert: es gibt Fälle, in denen eine Ausführung von Aktionen vor Eintreffen eines Ereignisses notwendig ist. Mein Lieblings-Beispiel: Die Markise soll gefälligst eingefahren werden, bevor es regnet. Wir wollen ja keine Biotop-Bildung fördern (jedenfalls nicht in der feucht gewordenen Markise). Cool ist es schon, via RainRadar Forecast bis zu 2 Stunden vor eintreffendem Regen bescheid zu wissen, automatisch Markisen einfahren zu lassen, automatisch Fenster zu schließen, Grillparty nach innen verlegen…. soweit die Intention.
Was neu in der Version 2.0?
Haupt-Antrieb für die neue Version ist nicht nur der irgendwann anstehende Versionswechsel von IP-Symcon auf 4.0. Das Software-Konzept musste mal gründlich überarbeitet werden. Während die alten Versionen des Energy-Forecasts via Bildanalyse versucht haben, ein neues Radarbild zu erkennen und dem richtigen Zeitpunkt zuzuordnen (was zwar von Version zu Version besser wurde – aber nie 100%ig sicher war), erfolgt das jetzt primär über die Header-Abfrage an den Webserver. Das ermöglicht eine 100%ige Erkennung neuer Radarfiles sowie eine sichere Zuordnung zum Viertelstundenintervall.
Darüber hinaus besteht ab IP-Symcon 4.0 die Anforderung für Software-Module, nicht nur unter Windows, sondern auch unter Linux gleichermaßen lauffähig zu sein. Dies ist nun mit der aktuellen Version des RS RainRadar Forecast gewährleistet.
Um das Ganze etwas anzurunden, wurde im WFE die Möglichkeit eingebaut, via Webfrontend die Regenradar-Region auszuwählen. Hier ist neuerdings auch die Auswahl der Deutschland-Karte möglich. Somit wandert die Konfiguration des Projekts nahezu vollständig ins WFE. Den Weg über die IPS-Konsole kann man sich bei alltäglichen Änderungswünschen also sparen.
Für Alle, die es noch nicht kennen: das Konzept
Lassen wir es mal langsam angehen: zunächst geht es „nur“ um das Primärziel, verwertbare Daten für IP-Symcon aus den Radar-Forecast GIF’s von wetter-online.de zu gewinnen. Zum Beispiel
- wann setzt der Regen ein?
- mit welcher Intensität?
- wann hört es wieder auf?
Was mit den gewonnenen Daten dann passiert (ob Alarm-Mails versandt, Automationsaufgaben ausgelöst werden etc. etc.) ist momentan (noch) nicht Bestandteil dieses Projektes. Hier geht es zunächst darum, die Daten so aufzubereiten, dass diese für den „normalen“ IPS-User verwertbar werden, dieser sich einfach an die Schnittstellen andocken kann. Dieses Projekt liefert bestenfalls noch eine rudimentäre Visualisierung für das Webfront mit.
Funktions-Übersicht
Was kanner nu? Kanner überhaupt was?
Antwort: ich glaube: ja!
Das Projekt liefert im Moment folgende Daten, die innerhalb von IPS direkt von anderen Projekten abgegriffen und weiterverarbeitet/verwendet werden können:
interpretierte „Messdaten“
- Regen-Beginn (UNIX-Timestamp [Integer], Stunde:Minute, 15-Minuten Intervall)
- Regen-Intensität zum detektierten Start (Werte 1-6 [Float], korrelierend zur Farblegende des Regenradars)
- Regen-Ende, soweit dieses innerhalb des 2h-Forecasts liegt (UNIX-Timestamp [Integer], Stunde:Minute, 15-Minuten Intervall)
- farbcodierter Zeitstrahl (HTML), der den Forecast für den jeweiligen Standort grafisch darstellt (HTML-Tabelle in String-Variable)
nicht interpretierte „Messwerte“
- 7 Intensitätswerte (Rohdaten) für jedes 15-Minuten Intervall (Werte 1-6 [Float], korrelierend zur Farblegende des Regenradars)
Funktionen
-
Auswahl der Regenradar-Region via Webfront
-
vom User via WFE einstellbare Empfindlichkeit (Intensitäts-Schwellwert), Analyse-Radius und Standort-Koordinaten
- Regenradar Slideshow via Inhaltswechsler
- Update-Info (tägliche Anfrage der Projekt-Homepage)
- Ein- und Ausblenden der Konfigurations-Details via Togglefunktion im Intensitätsschwellwert
- Automatische Einblendung der Konfig-Elemente bei auftretenden Problemen (und damit Problemvisualisierung)
-
Synchronisations-Automatik erkennt neue, von Wetteronline bereit gestellte Radar-Animationen und steuert dynamisch Download-Intervalle
- individuelle Farb-Anpassung in den GIF-Bildern, dem Forecast-Zeitstrahl und den Variablenprofilen
- Tag-/Nacht-Umschaltung (passend zum Standort) der Farben: nach Sonnenuntergang werden die Farbwerte gedimmt, um Blendeffekte zu verringern
Bedienung
Über die Variable „Intensitäts- Schwellwert“ kann man nicht nur den Schwellwert ändern sondern über eine Toggle-Funktion auch weitere Konfigurations-Elemente und Fehlervariablen einblenden. Diese Togglefunktion wird ausgelöst, wenn man einen bereits angewählten Intensitätswert nochmals anklickt. Es werden dann umgehend die genannten Objekte eingeblendet (die Intensitäts-Werte werden zur Signalisierung des manuellen Modus dann rot hinterlegt). Nochmaliges Klicken auf den Intensitäts-Schwellwert blendet diese wieder aus.
Eine Änderung der Konfig-Parameter (Region, Intensitäts-Schwellwert, Analyse-Radius, Standort x und Standort y) setzt einen internen Timer von 5 Sekunden in Gang, der nach Ablauf die geänderten Werte in das Projekt übernimmt und die Visualisierung im WFE aktualisiert.Innerhalb dieser 5 Sekunden erneut veränderte Werte werden berücksichtigt und starten die 5-Sekunden Verzögerung erneut.
Über den Button ‚Region‘ lassen sich in einer Endlosschleife alle Wetteronline-Regionen + Deutschland (gesamt) durchklicken:
- Deutschland
- Schleswig Holstein/Hamburg
- Mecklenburg-Vorpommern
- Berlin/Brandenburg
- Niedersachsen
- Sachsen-Anhalt
- Nordrhein-Westfalen
- Rheinland-Pfalz
- Hessen
- Thüringen
- Sachsen
- Baden-Württemberg
- Bayern
Eine Regions-Änderung verriegelt die anderen Parameter, solange die dadurch ausgelöste Projekt-Initialisierung nicht abgeschlossen ist. Allerdings wird der User mit entsprechenden Warnmeldungen vertröstet. Also nicht zu hektisch im WFE rumklicken ;-)
Die zu analysierende Fläche berechnet sich aus Standort-Pixel + (Standort-Radius*2). Wenn man den Radius also auf 0 setzt, bleibt immer noch eine zu analysierende Fläche von 1 Pixel. Die Maße der eingestellten Fläche werden werden in der Beschriftung über den Einzeldaten und im Tooltip des Forecast-Zeitstrahls angezeigt.
Forecast Zeitstrahl
Der Forecast-Zeitstrahl visualisiert die gewonnenen Informationen. Wahrscheinlich keine Überraschung. Aber das Bild rechts sollte die Funktionen ziemlich gut erklären. Wichtig beim Lesen des Zeitrahls ist nur, dass man sich klar macht, dass die Uhrzeit, die in jeder Viertelstunden-Zelle der Beginn des jeweiligen Viertels ist (sorry, aber eine bessere Darstellung ist mir noch nicht eingefallen ;-)
Interne Funktionen
Programm-Ablauf
Die Scripte werden über 2 Timer gesteuert: 1x den 15 Minuten Intervall Timer und 1x einen 15 Sekunden Intervall Timer. Das Programm startet alle 15 Minuten (und zwar immer ca. 30 Sekunden vor dem zu erwartenden neuen Radarbild) einen Download-Zyklus. Dabei wird alle 20-40 Sekunden eine Anfrage nach einer neuen Datei an den Wetteronline-Webserver gestartet. Wird eine neuere Datei auf dem Wetteronline-Server identifiziert, erfolgt der eigentliche Download des eigentlichen Radarbilds. Das reduziert den Datenverkehr drastisch: statt bisher 10-20 Downloads des gesamten Radar-GIF gibt es nun nur noch einen Download pro Viertelstunde. Anschließend wird das runtergeladene File einigen Prüfungen unterzogen, um ganz sicher zu gehen, dass es sich wirklich um ein neues Radarbild (mit neuem Inhalt) handelt. Wird z.B. erkannt, dass zwar ein neues Radar-Gif runter geladen wurde, dieses aber nicht zur aktuellen Viertelstunde passt, wird kurz vor Ablauf der Viertelstunde ein erneuter Download-Zyklus gestartet. Somit ist jederzeit die Aktualität der Radarbilder sicher gestellt – sofern sie vom Anbieter zur Verfügung gestellt werden.
Tag-/Nachtumschaltung
Der RainRadar Forecast kennt den Tag- und Nachtbetrieb. Ich fand es unschön, dann man Abends/Nachts von den grellen Farben des Radarbilds ‚angebrüllt‘ wurde. Daher hab ich dem Projekt gesagt: schalte mal auf gedämpfte Farben, wenn es Nacht ist. Macht er auch ganz ordentlich: nach jedem erfolgreichen Radar-Download-Zyklus prüft das Script auf untergegangene Sonne (hierzu kann man im Config-Script die Geo-Koordinaten des eigenen Standorts anpassen) und dimmt die Farbwerte um 50% (auch einstellbar über das Config-Script, Variable ‚$DimmFactor‚).
Bedeutung Fehlervariablen
Die Fehler-Variablen (unterhalb der Konfig-Elemente im WFE) dienen der Zustands-Anzeige des Projekts und werden in der Regel nicht benötigt (und können daher über die Toggle-Funktion ausgeblendet werden).
Variable „#DL-Versuche“: zählt die Download-Versuche für jedes Viertelstunden-Intervall hoch, bis ein neues RADAR-GIF identifiziert wurde.Die Variable geht auf rot („!“), wenn nach 20 Anfragen (Standard-Einstellung) beim Webserver kein neues RADAR-GIF gefunden wurde. Die Variable wird auf 0 zurück gesetzt, sobald ein neues Radarbild herunter geladen wurde.
Wenn die Variable im aktuellen Viertelstunden-Intervall nicht auf 0 geht, besteht ein größeres Problem (es werden keine aktuellen RADAR-GIFs gefunden) und muss ggf. genauer analysiert werden. Gründe hierfür kann z.B. ein geänderter Link auf die Datenquelle durch Wetteronline sein – oder auch eine unterbrochene Internet-Verbindung.
Variable „Fehler Download“: geht auf Rot, wenn z.B. der File-Header ungültig ist (Auswertung der HTTP-Statusmeldung des Remote-Webservers). Das kann ein Hinweis auf geänderte Filenamen und/oder Links zum Radarbild durch den Anbieter hindeuten. Hier ist jedenfalls eine genauere, manuelle Analyse der Fehlerursache erforderlich.
Variable „Fehler Farblegende“: geht auf Rot, wenn keine eindeutige Legendenfarberkennung möglich ist. Möglicherweise hat der RADAR-GIF Anbieter den Ort der Legende innerhalb des GIF verändert. Die Lage der Legende kann über das Config-Script angepasst werden.
Die Legenden-Automatik
Sollte Wetteronline die Farbwerte ändern (was in den letzten Jahren hin und wieder vorkam), so passt sich das Projekt automatisch selbst an. Auch die Lage der Farblegende darf sich in gewissen Grenzen verändern. Werden diese überschritten, wird dies vom Script bemerkt, eine Warnmeldung wird im IPS-Log bzw. im WFE ausgegeben.
In diesem Fall kann der User die neue Lage der Legende im Bild vermessen und im Script anpassen.
Die extrahierten Frames aus dem GIF werden in einem lokalen Projekt-Ordner abgelegt. In jedes der Frames wird ein Fadenkreuz eingezeichnet, welches den überwachten Standort kennzeichnet. Diese GIFs sind quasi ein Abfallprodukt. Diese Einzelframes werden via Inhaltswechsler im WFE angezeigt, Wechselintervall 1 Sekunde. Als wäre es die originale Wetteronline-Animation. Nur mit Fadenkreuz über dem eigenen Standort.
Um als User immer am Ball zu bleiben, fragt das Projekt einmal täglich auf der Projekthomepage nach, ob eine neue Projektversion vorliegt. Ist das der Fall, wird in den Zeitstrahl ein Hinweis mit Link auf die Projekthomepage eingeblendet.
(Erst-)Installation
Das Projekt wird -wie immer – als Project Exporter Paket geliefert. Das heisst: alle benötigten Objekte befinden sich in einem einzigen Installationsscript. Einfach das Script aus dem Download ins eigene IPS einbauen (egal wo), die ID des WFC-Konfigurators angeben und Script starten.
Zus Aktivierung des Projekts sind folgende Aktionen nötig:
- Angabe der gewünschten Region (im Config-Script)
- Angabe des Projekt-Namen (bei Parallel-Installation des Projekts unbedingt unterschiedliche Projektnamen vergeben!)
- einmaliges, manuelles Starten des Scripts „User-Config“ aktiviert das Projekt – fertig
Das Projekt holt nun initial und dann alle 15 Minuten das RADAR-GIF ab und analysiert dieses vollautomatisch.
Im WFE können im Konfig-Bereich nun jederzeit Region, Intensitäts-Schwellwert, Analyse-Radius und Standort-Koordinaten geändert werden.
Update
1. Voraussetzung/Installation
Ein Update setzt eine bestehende Installation und mindestens ein Installationsprotokoll der letzten Installation voraus. Das Script aus dem Download wird in das bestehende Installer-Script einkopiert (Angabe der WFE-ID nicht vergessen) und ausgeführt. Die Projektinstallation ist nun abgeschlossen
2. Projekt-Initialisierung
- Config-Script öffnen und Minimal-Konfiguration vornehmen: Projektnamen vergeben und Wetteronline-Region eintragen
- Optional WAN-Status Variabeln-ID angeben
- Config Script ausführen
- Ins WFE wechseln und Projekt nach eigenen Wünschen im Konfig-Bereich konfigurieren (Kick auf aktuellen Schwellwert klappt Konfig-Bereich aus)
Nutzungsrechte
- das Script darf für private, nicht kommerzielle Zwecke frei verwendet werden
- eine Weitergabe oder Änderung sowie auszugsweise Verwendung des Codes nur nach schriftl. Genehmigung des Autors
- für evtl. entstehende Schäden durch die Verwendung dieses Scripts wird keinerlei Haftung übernommen
- gewerbliche Nutzung nur in vorheriger Abstimmung mit dem Projektautor, bei Fragen bitte an MICH wenden
Quellen:
Live-Daten
Eine Gegenüberstellung der Forecast-Ergebnisse und tatsächlicher Niederschlags-Intensität kann man sich hier live anschauen.
Download:
Der Download erscheint für eingeloggte User unter diesem Beitrag.