Hi an alle (Un-)Wetterfreunde,
am WE ist spontan ein kleines Projektchen entstanden. Eigentlich wäre es gestern (24.06.2012) fertig gewesen, wenn Werner (wgreipl) nicht ständig was zu nörgeln gehabt hätte und immer wieder mit Änderungs- und Ergänzungswünschen gekommen wäre
Werner: herzlichen Dank für Deine Unterstützung an dieser Stelle :D:D:D.
Ausgangspunkt dieses „Projekts“ war das DWD- Warnscript von Ralf.
Intention:
Wird es heute Hagel geben? => stelle ich mein Auto besser in die Tiefgarage?
Ich hab keine Lust mehr, Morgens alle möglichen Wetterseiten durchzuwühlen, um einen Überlick über die heutige Wetterentwicklung zu bekommen. Viel lieber wäre mir -abhängig von Warnstatus des DWD für meine Region - Infomails mit gezielt aufbereiteten Informationen Morgens zum Wecken in der Mailbox haben. Und dann noch den aktuellen Warnlagebericht auf dem Android-Tablet direkt neben meinem Bett. Und dies möglichst nicht alle 5 Minuten. Mir reicht es, bei leichten Warnungen eine Ankündigungs-. und Abkündigungsmail zu bekommen. Bei schweren Unwettern hätte ich dies gern in kürzeren Intervallen. Ebenso will ich wissen, wenn sich die Dauer einer Warnung ändert.
Und top wäre, wenn noch weitere Infos in der Mail mitgeliefert werden (wie z.B. ein aktuelles Regenradar), ein Forecast für die kommenden 24h. Und optional das Ganze im WFE (aber nur, wenn ich zu Hause bin) … und wenn wir schon dabei sind: IPS könnte daraus auch einige Infos zur Haussteuerung übernehmen….und …und… ja, das wär’ was…
Features im Detail
Unwetterwarnungen (Mail)
• Bei Erreichen von DEFCON5 aus jedem anderen Status wird eine Mail verschickt
• Bei Warnstufe DEFCON3-4 wird nur bei Erreichen der Warnstufe eine Mail versandt
• Bei Warnstufe DEFCON 0-2 werden Mails im Intervall von 15-60 Minuten versandt
• Bei Veränderung der Warnphasendauer wird in jedem Fall eine Mail verschickt
• der Mailversand kann via Variable „Mailversand“ von anderen Scripts ein- und ausgeschaltet werden (z.B. Anwesenheitskontrolle, Wecker-Script etc.)
• Sowohl Mail als auch WFE können (abhängig vom DEFCON-Status) zusätzlich mit einem animierten Radarbild, DWD Warnkarte DE und SAT24-Foto DE kombiniert werden
• User kann angeben, ob das SAT-Foto bei Gewitterwarnmeldungen gegen eine Blitzkarte ausgetauscht wird (Variable „$Blitzkarte“ im Konfig-Bereich)
• Theoretisch beliebig viele Mailempfänger adressierbar
Unwetterwarnungen (WFE)
• Die Warnungen können durch manuell zu erstellenden Link im WFE dargestellt werden
• Die Konfiguration der Inhalte der HTML-Box kann unabhängig von der Mail-Konfiguration gemacht werden (RADAR-Pics ein/ausschalten)
• Die Aktualisierung erfolgt mit jedem Scriptlauf (also alle 5 Min)[/
optionale Komponenten
[INDENT]RADAR-Pics (optionaler Bestandteil der Unwetterwarnung)
• Für Mailversand und WFE-Ausgabe kann unabhängig voneinander definiert werden, ob die RADAR-Pics ausgegeben werden
• RADAR-Pics sind derzeit: Niederschlagsradar-Bild DE (Niederschlag und Blitz kombiniert), DWD Warnkarte DE und SAT-Foto (vis) SAT24.com (Standard, optional alternativ Wetteronline-Blitzkarte DE)
• Das SAT-Foto kann optional gegen die Wetteronline-Blitzkarte DE getauscht werden, wenn in den Warnmeldungen Gewitter angekündigt werden
WFE-PopUp
• Unabhängig von Mailversand und WFE-Darstellung kann der WFE-PopUp-Versand zugeschaltet werden (durch Angabe mindestens einer WFC-ID)
• Optional können mehrere WFC-IDs angegeben werden, an die PopUps (nach gleichen Regeln und Intervallen wie Mailversand) geschickt werden (ausgegeben wird der Inhalt der HTML-Box)
• Die WFC-ID’s werden (durch ein „;“ getrennt, Platzhalter sind möglich: „12345;;;23456“) in einer String-Variable („WFC IDs (PopUp)“) im Objektbaum hinterlegt, eine externe Steuerung (zu- und Abschalten einzelner WFEs) durch andere Scripte ist dadurch möglich
Warnlagebericht
Der Warnlagebericht des DWD ist ein Art Forecast für den aktuellen Tag /für die kommenden 24h und gibt einen Ausblick über in diesem Zeitraum zu erwartende (Un-)Wetterereignisse. Man kann sich hiermit also lange vor Eintreten der Ereignisse und tats. Unwetterwarnungen auf die kommende Wetterlage einstellen. Daher wird der Warnlagebericht per default 1x morgens per Mail verschickt (wenn entsprechend konfiguriert)
• Warnlagebericht des DWD kann für die jeweilige Region zugeschaltet werden (durch eintragen des Region-Codes im Konfig-Bereich des Scripts)
• Ist die Option „Warnlagebericht“ vom Anwender aktiviert worden (Region-Code gesetzt), ersetzt der Warnlagebericht die Unwetterwarnung im WFE und Mail bei Status DEFCON6 (=keine amtlichen Warnungen)
• Über eine Variable („Warnlagebericht“) im Objektbaum kann der Zeitpunkt definiert werden, bis zu dem der Versand erfolgen soll (Syntax „HH:ii“, leere Variable deaktiviert den Versand), dadurch ist auch hier eine Fremdsteuerung durch andere Scripte möglich (Anwesenheit, Urlaub, Wecker-Scripte etc.)
Grundfunktionen (Betrieb, Maintenance)
• Alle notwendigen Objekte werden automatisch vom Script angelegt (nur bei manueller Script-Ausführung!)
• Sind alle Objekte angelegt, läuft das Script alle 5Minuten im Operational-Mode (Warnmeldungen werden verarbeitet)
• Schnittstellen: Mailversand, WFE-PopUps und Warnlagebericht lassen sich durch Änderung der Variablenwerte durch Fremd- Scripte extern steuern, ebenso lassen sich Warnstatus (DEFCON) und Warntyp innerhalb von IPS durch Scripte Dritter auswerten, da definierte Integer-Werte in Variablen hinterlegt werden
• Das Script prüft bei jedem (manuellen) Lauf die Vollständigkeit aller Objekte. Fehlt ein Objekt, geht das Script in den Install-Modus und legt das Objekt an (Auto-Update).
• Keine Beschränkung auf Anzahl der zu überwachenden Standorte: pro Standort kann eine eigenständige Warnmodul-Instanz erstellt werden[/
[/INDENT]
Die Warn-Status im Einzelnen (Bild6):
DEFCON 6 = DWD keine Warnungen (blau), Mail 1x bei Erreichen von DEFCON6 (Warnmeldung aufgehoben)
DEFCON 5 = DWD UV-Warnung (magenta), Mail 1x bei Erreichen von DEFCON5
DEFCON 4 = DWD Hitzewarnung (schweinchenrosa), Mail 1x bei Erreichen von DEFCON4
DEFCON 3 = DWD Wetterwarnungen (gelb), Mail 1x bei Erreichen von DEFCON3
DEFCON 2 = DWD Warnungen vor markantem Wetter (orange), Mail 1x alle 60 Min
DEFCON 1 = DWD Unwetterwarnungen (rot), Mail 1x alle 15 Min
DEFCON 0 = DWD Warnungen vor extremem Unwetter (violett), Mail 1x alle 15 Min
Voraussetzungen
[ul]
[li]Lauffähig ab IPS v2.5
[/li][li]Es muss der [PHP-Mailer 5.1](http://sourceforge.net/projects/phpmailer/files/phpmailer for php5_6/PHPMailer v5.1/PHPMailer_v5.1.zip/download) installiert sein, hierzu sind lediglich 2 Files aus dem Download in den IPS-Scriptordner zu legen: class.smtp.php, class.phpmailer.php
[/li][/ul]
Scriptfunktionen (Architektur)
18596 php_mailer_connector.ips.php
• Dient als Kommunikationsschnittstelle zwischen Unwetter-Script und php-Mailer
• Enthält zentrale Konfig-Daten (Mailserver, Mailaccount etc)
• Kann von beliebig vielen Unwetter-Scripts (und auch durch Scripte Dritter) angesteuert werden
13687 DWD Unwetterwarnung.ips.php
• Enthält alle Konfig-Daten und Verarbeitungslogiken für einen (Unwetter-)Standort
• Kann für beliebig viele Standorte verwendet werden (bei mehreren Standorten jeweils einen eigenen IPS-Ordner pro Standort anlegen)
Installation
• Das Script „18596 php_mailer_connector.ips.php“ aus dem .zip-File an eine beliebige Stelle im Objektbaum einbauen und mit den eigenen Zugangsdaten für einen Mailserver versehen
• Im IPS einen Ordner (=„Kategorie“) freier (Namens-)Wahl anlegen (keine Namenskonvention)
• In diesem Ordner ein Script anlegen und den Inhalt des Scripts „13687 DWD Unwetterwarnung.ips.php“ reinkopieren
• Im Script die Konfiguration durchführen (die Kommentare im Script sollten die Bedeutung ausreichend erläutern)
• Das Script einmalig manuell ausführen. Es werden die Objekte lt. Bild7 angelegt und konfiguriert
• fertig
Vom Script werden automatisch alle Variablen angelegt, profiliert und mit Default-Werten versehen. Erst bei einem erneuten Script-Lauf (manuell oder automatisch) werden auch die aktuellen DWD-Meldungen verarbeitet.
wer will, kann sich einen Link (z.B. von der Dummy-Instanz) an eine beliebige Stelle ins WFE legen (Bild2)
Mailversand testen
[ul]
[li]entweder den DEFCON-Status oder den „gültig bis“-Timestamp (mind. 3600sec!) manuell ändern
[/li][li]dann das Unwetter-Script starten
[/li][li]ein mailversand wird vom Unwetterscript initialisiert
[/li][li]bitte im Meldungsfenster (oder im IPS-Logger - wenn installiert) die Meldungen vom Unwetterscript beobachten. Fehler im Mailversand liegen zunächst in der falschen Konfiguration des PHP-Mailer -Connectors
[/li][/ul]
Updates
siehe Changelog
AddOns
[ul][li]Prowl-Modul für das Unwetterscript von Grisu
[/li][/ul]
DWD Unwetterwarnung 2012-07-04 II.zip (1.25 MB)
Changelog.txt (4.2 KB)
DWD Unwetterwarnung 2012-07-14.zip (1.55 MB)