PirateWeather
Über die Jahre bin ich mit meinen Wetterdaten immer den verschiedenen freien Wetterdiensten hinterhergelaufen. Mit dem Weather.PirateWeather.ips.php-Skript holt sich Symcon das aktuelle Wetter und die Vorhersage über die freie PirateWeather API , legt alle Werte als Variablen an und baut daraus fertige Kacheln für die TileVisu.

Wie alles begann
Lange Zeit war ich mit der Dark Sky API sehr glücklich. Dann wurde der Dienst aufgekauft und ist seitdem nicht mehr frei zugänglich – obwohl versprochen war, dass bestehende Lizenzen weiter Daten bekommen. Darüber hat sich ein kanadischer Entwickler so geärgert, dass er unter pirateweather.net eine identische API aufgesetzt hat. Das hat den Umstieg natürlich enorm erleichtert.
Als im Forum die Frage aufkam, ob man mein Skript nutzen könnte, habe ich es gründlich aufgeräumt und in meine Skript-Bibliothek aufgenommen. Seitdem ist es kontinuierlich gewachsen: Unterstützung für die TileVisu und ihre Themes, ein stabilerer Abruf über cURL, eine Variante für das openHASP Mini-Display und zuletzt die Anpassung an meinen Tile Visu Skin .
Was das Skript liefert
Wetterdaten als Variablen
Bei der Installation legt das Skript unterhalb von sich alle Werte des aktuellen Wetters als Variablen mit passenden Profilen an:
- Temperatur, gefühlte Temperatur und Taupunkt
- Bewölkung, Luftfeuchtigkeit und Luftdruck
- Niederschlag, Niederschlag pro Stunde und Niederschlagswahrscheinlichkeit
- Windgeschwindigkeit, Windböe und Windrichtung
- Sichtweite, UV-Strahlung und Ozonwert
- Zusammenfassung (z. B. „Bewölkt“), Wetter-Icon und Zeitpunkt der Messung
Damit lassen sich die Werte auch in eigenen Kacheln, Automationen oder Diagrammen weiterverwenden.
Fertige Wetterkacheln
Zusätzlich erzeugt das Skript fertig gestaltete HTML-Kacheln (~HTMLBox):
- Aktuelles-Wetter – aktuelle Wetterlage mit großem Icon, Temperatur sowie Sonnenauf- und -untergang
- 3-Tage-Wetter – aktuelles Wetter mit Vorhersage für die nächsten drei Tage
- 24-Stunden-Wetter – stündliche Vorhersage für die kommenden 24 Stunden
Die Kacheln unterstützen das helle und dunkle Theme der TileVisu. Als Icons kommen standardmäßig die animierten Wetter-Icons von Bas Milius zum Einsatz, alternativ lassen sich eigene Icons hinterlegen.
Eigene Sensoren einbinden
Wer eine eigene Wetterstation hat, kann deren Werte in die Kacheln einfließen lassen: Temperatur, Niederschlagswahrscheinlichkeit, Wind, Windrichtung, Luftfeuchtigkeit und Tagesniederschlag werden dann statt der Werte aus der API angezeigt.
Voraussetzungen
- Symcon ab Version 7 mit TileVisu
- Meine Symcon Skript-Bibliothek
(
__autoload.php,System.Functions.ips.php,System.Locals.ips.php) - Ein kostenloser API-Schlüssel von pirateweather.net
- Optional: eine Instanz des Location Control, aus der die Koordinaten übernommen werden
Hinweis: Ich unterstütze mit meinen Skripten nur noch die TileVisu. Die Kacheln für das klassische WebFront sind zwar noch im Skript enthalten, werden aber nicht mehr weiterentwickelt.
Installation
- API-Schlüssel besorgen: Auf pirateweather.net registrieren und einen Schlüssel erzeugen.
- Schlüssel hinterlegen: In der
System.Locals.ips.phpim Array__WWXeinen EintragPWN_TOKENmit dem Schlüssel anlegen. Für die Koordinaten zusätzlich unterIID_LCdie ID der Location-Control-Instanz eintragen. - Skript anlegen: In Symcon ein neues Skript erstellen und den Inhalt von Weather.PirateWeather.ips.php hineinkopieren.
- Konfiguration anpassen: Den Abschnitt „Konfiguration“ im Skript durchgehen (siehe unten).
- Skript ausführen: Einmal in der Konsole ausführen. Dabei werden alle Variablen, Kacheln und der Timer angelegt.
- Visualisierung aufbauen: Die gewünschten Kacheln in der TileVisu platzieren.
Ab jetzt aktualisiert der Timer ServiceUpdate die Wetterdaten alle 10 Minuten. Ein erneutes manuelles Ausführen setzt alle angelegten Objekte wieder auf den Ausgangszustand.
Konfiguration
Die wichtigsten Einstellungen im Abschnitt „Konfiguration“:
| Einstellung | Bedeutung |
|---|---|
$API | API-Schlüssel, standardmäßig aus __WWX['PWN_TOKEN'] |
$LCID | ID der Location-Control-Instanz, standardmäßig aus __WWX['IID_LC'] |
$LAT, $LON | Koordinaten, nur nötig, wenn kein Location Control genutzt wird |
$HTML['temp'] … $HTML['rain'] | IDs eigener Sensorvariablen, die statt der API-Werte angezeigt werden |
$HTML['sunrise'], $HTML['sunset'] | Uhrzeiten für Sonnenauf- und -untergang, berechnet oder aus einer eigenen Variable |
$HTML['tilevisu'] | Kacheln für die TileVisu erzeugen |
$HTML['webfront'] | Kacheln für das klassische WebFront erzeugen |
$HTML['icon01'] … $HTML['icon24'] | eigene Icons statt der Online-Icons verwenden |
$TRANS | Übersetzungen für Wochentage, Monate und Wetterbeschreibungen |
$ICONS | Zuordnung der PirateWeather-Wetterlagen zu eigenen Icons (Tag und Nacht) |
Ansichten im klassischen WebFront
Wer noch das WebFront nutzt, bekommt diese beiden Ansichten:


Fragen und Anregungen gerne im Forum-Thread zum Skript .