⛅ Papas Wetterstation

 

Mein Vater betreibt auf dem Dach meiner Eltern eine eigene Wetterstation. Es handelt sich dabei um eine ELV WS980WiFi.

Die Wetterstation selbst, also der Teil, der auf dem Dach arbeitet, wirkt wertig und leistet schon seit mehreren Jahren einen guten Dienst. Die Halterung dafür auf dem Dach ist eine Eigenkonstruktion meines Vaters. Warum wir uns jetzt, Jahre später, wieder mit dem Gerät befassen, hat eigentlich nur einen Grund: Mein Papa wünscht sich ein zweites Display im Haus.

Das original Display, das gleichzeitig auch Kommunikationseinheit ist, ist allerdings alles andere als hochwertig oder optisch attraktiv. Deswegen würde man davon auch ungern ein zweites irgendwo hinstellen.

Das wirklich schöne an der Wetterstation ist, dass die Einheit auf dem Dach alleine durch eine kleine, integrierte Solarzelle mit eigenem Akku betrieben wird. Das funktioniert auch überraschend gut und zuverlässig. Selbst in längeren Perioden ohne Sonne ist die Station stets "online". Das bringt uns zur Kommunikation. Die Kommunikation funktioniert folgendermaßen: Die Wetterstation sendet unverschlüsselt und proprietär sämtliche Wetterdaten über einen 868 MHz-Kanal an ihre Basisstation. Die Basisstation ist gleichbedeutend mit dem Display. Das Display/die Basis ist per W-LAN (mit WPA2-Verschlüsselung) im Heimnetzwerk angemeldet und verfügt über Zugang zum Internet und somit zu diversen eigenen Servern im Heimnetz, sowie auch im öffentlichen WAN.


🔆🔋Solar-Power       ➡ 868MHz              ➡📶2,4GHz WiFi        ➡🌐Internet📲

⬇  

💻 ⬅ ct-soft.de ⬅ IBM-Server ↩   

Die erste Hürde für einen normalen Endverbraucher stellt allerdings schon die Anbindung der Basisstation an das eigene W-LAN dar. Der Hersteller ELV liefert zur Wetterstation eine Windows-Software namens "WeatherSmartIP" mit, mit der man sich problemlos per W-LAN zum Display verbinden kann. Das Display strahlt dabei selbst ein eigenes WiFi aus und übernimmt die Rolle des Access Points. Ist man einmal verbunden, so kann man einfach und schnell die aktuellen Wetterdaten mit der Software auslesen und als Logs lokal am PC abspeichern. Unter Windows sieht das dann so aus:

Der Windows-Client PC muss dafür also vom hauseigenen W-LAN getrennt und mit dem W-LAN der Wetterstationsbasis verbunden werden. Jedes Mal, wenn man die Software nutzt. Es liegt also schon aus diesem Grund nahe, die Wetterstation nicht direkt mit dem PC, sondern vorzugsweise mit dem Router per W-LAN zu verbinden. Die Einstellungen dafür sucht man in der Windows-Software allerdings vergebens. Es ist nicht möglich, unter Windows die Basisstation ins W-LAN zu integrieren. Die insgesamt 8 Tasten am Display reichen auch nicht dafür aus. Möchte man die Basisstation für W-LAN und darüber hinaus konfigurieren, so geht das ausschließlich über Apps auf dem Smartphone. Spätestens hier merkt man schnell, dass die dafür benötigte App keine Entwicklung von ELV ist und auch nichts mit der Windows-Applikation gemeinsam hat. An dem Punkt bestätigt sich, was ich beim Anblick des Displays/Basis bereits ahnte: ELV hat als Basis-Station und zur App-Entwicklung billigste China Hardware und Dienstleistung eingekauft. So, wie das Display optisch und haptisch wirkt, so kommt auch die Smartphone App daher. Aber es lohnt sich dennoch! Ist man einmal in der Lage, die Basisstation zu konfigurieren, bietet diese viele Möglichkeiten zur Anbindung an diverse Wetter-Dienste, bis hin zur guten Integration an die eigene Hausautomatisierung. Leider ist der Weg dahin nicht unbedingt selbsterklärend oder gar anwenderfreundlich. Noch dazu finden sich im ELV-eigenen Forum leider widersprüchliche Informationen dazu. Als Android-user nutzt man am besten die AP WS Tool aus dem Google PlayStore. Ich habe diese hier extra verlinkt, damit sich niemand vom Softwareanbieter "Shenzhen Fine Offset Electronics Co.,Ltd." irritieren lässt.

Hat man das WS Tool einmal auf dem Smartphone installiert, so muss man es "nur" noch mit dem Basis-Display verbinden, um dieses fürs heimische WiFi konfigurieren zu können. Dafür muss man wissen, dass die Basis der Wetterstation über zwei unterschiedliche WiFi-Modi verfügt. Zur Verbindung mit dem WS Tool benötigt es den "WiFi Modus A". Im Prinzip unterscheiden sich Mode A und B nur darin, dass in Mode B die Wetterstation selbst ein autarkes W-LAN zur Verfügung stellt, zu dem man sich verbinden kann und in Mode A die Wetterstation die Verbindung zu einem existierenden W-LAN, wie dem des Heimnetzwerkes, sucht und aufbaut. Zur Verbindung mit dem heimischen Router benötigen wir also Mode A. Den Mode A aktiviert man am Display selbst folgendermaßen: links und rechts am Display, jeweils die obere Taste (links = 🔼 und rechts = SET) gleichzeitig drücken und beide für 5 Sekunden gedrückt lassen. Macht man es richtig, steht unten im Display "WIFI  MODE  A" und das W-LAN- Symbol blinkt. Nun öffnet man am Smartphone das WS Tool, verbindet sich wieder mit dem W-LAN der Wetterstation und kann diese Wetterstation im WS Tool hinzufügen und konfigurieren. Sollte der eigene Router neben 2,4 GHz auch ein 5 GHz WiFi ausstrahlen, so empfiehlt es sich, dieses für die Einrichtung der Wetterstation temporär zu deaktivieren, weil es sinnvoller ist die Wetterstation auf 2,4 GHz zu betreiben. Hat man im Router einen MAC-Filter aktiviert, so muss man diesen auch temporär während der Einbindung ins W-LAN deaktivieren und später wieder einschalten und die MAC-Adresse der Wetterstation freischalten. Ist die Wetterstation im WS Tool einmal eingebunden und im heimischen W-LAN aktiv, kann man über das WS Tool auch die Firmware der Wetterstation updaten. Stand heute (Oktober 2023) ist die aktuellste Version die EasyWeather v1.6.5.

Hat man die Basis der Wetterstation einmal im W-LAN und somit ans Internet angebunden, muss man sich darüber im Klaren sein, was man möchte. Unser Ziel war es, die Wetterdaten auf einem eigenen Display nach Belieben darstellen zu können und sie zugleich mit allen auf der Welt zu teilen.

Das Schöne an der ELV WS980 ist, dass man mithilfe des WS Tool die Wetterstation an allerlei etablierte Wetterdienste connectieren kann, aber gleichzeitigt auch relativ einfach alle Werte per PHP-$_GET url-Aufruf an einen eigenen Webserver übertragen kann. Das Intervall in dem die Wetterdaten aktualisiert, also von der Basisstation auf den Server "gepusht" werden, ist frei wählbar. Wir haben uns aufgrund der geringen Datenmenge für 5 Sekunden entschieden. Der Webserver kann dabei im lokalen Hausnetz, oder aber auch im Internet stehen. Das bietet gerade im Bereich des individuellen Smarthome-Universums für IT-affine ungeahnte bzw. unendliche Möglichkeiten. Mein Papa wollte alles und davon so wenig wie möglich lokal, um zuhause Energie zu sparen. D.h. wie haben uns zunächst für einen externen, kostenneutralen Wetterdienst entschieden, der wiederum eine kostenlose API anbietet, über die ich von meinem Webserver aus auf die Daten der Wetterstation zugreifen kann. Die Wahl fiel auf den langjährig etablierten Dienst Weather Underground von IBM. Den Dienst gibt es bereits seit 1995 und er umfasst weltweit über 250.000 persönliche Wetterstationen. Wir sind also in sehr guter Gesellschaft.

Dort kann man sich und seine Wetterstation schnell, einfach und kostenlos registrieren und die Zugangsdaten mit dem WS Tool in der Basisstation speichern. Über den persönlichen API-key können dann zuvor von der Wetterstation übermittelten Wetterdaten im JSON-Format wieder ausgelesen werden. Die API-url für den Abruf von metrischen Daten lautet

https://api.weather.com/v2/pws/observations/current?stationId=IDREN174&format=
json&units=m&apiKey=...

wobei "IDREN174" den Namen der Wetterstation darstellt und ... mit dem persönlichen API-key gefüllt werden muss. Den API-key erhält man auf wunderground.com in den Benutzerprofil-Einstellungen.

 

Nachdem nun bereits die ganze Welt auf die Daten unserer eigenen Wetterstation zugreifen und diese auch für meteorologische Vorhersagen nutzen kann, besinnen wir uns so langsam wieder auf die ursprüngliche Idee: mein Papa wünschte sich ein zweites Display für die Anzeige seiner aktuellen Wetterdaten...

Da niemand ein Notebook mit bootendem Windows und WeatherSmartIP im Wohnzimmer stehen haben möchte, entschied ich mich dazu, ein älteres Android Tablet aus dem Fundus dafür zu verwenden. Android verfügt von Haus aus über die Funktion, sich zeitgesteuert komplett herunterzufahren und auch geplant wieder zu booten. Außerdem lässt sich die Display-Helligkeit abhängig vom Umgebungslicht dynamisch angleichen und W-LAN ist sowieso enthalten. Da ein Smartphone-Display doch etwas zu klein ist, ist es ein 10"-Tablet mit einer nativen Auflösung von 1280x800 geworden.

An diesem Punkt hätte ich nun eine eigene App entwickeln können. Ich entschied mich allerdings dagegen. Die unzähligen Wetter-Apps aus dem Google PlayStore gefielen uns allerdings auch nicht, weil sie zum einen überladen, nicht individuell anpassbar und insgesamt zu sperrig waren. Deswegen entschied ich mich, auf eine Hybrid-Lösung aus lokal installiertem Android Webbrowser und zentral gehostetem Inhalt auf meinem eigenen Webserver zu setzen. Das bietet die Möglichkeit von jedem beliebigen Endgerät jederzeit von überall aus auf die eigenen Wetterdaten zugreifen zu können.

Der Google Chrome auf Android würde zwar grundsätzlich dafür reichen, aber ich wollte das Gerätedisplay zu 100% ausnutzen und wollte auch keinen Platz für die Browser-Adressleiste oder die Android Statusleiste mit Uhrzeit, Netz-Status, Batterie-Ladung etc. verschwenden. Deswegen habe ich als Browser auf den Fully Kiosk Browser gesetzt. Dieser ist auch in der kostenlosen Variante für unsere Zwecke vollkommen ausreichend und frei von jeglicher Werbung. Gleichzeitig kann man ihn nach dem booten des Geräts bequem in den Autostart legen und allerlei andere Dinge sperren, vordefinieren und konfigurieren. Er ist wie für unsere Idee gemacht. Danke dafür an Alexey Ozerov aus Dormagen. Von nun an brauchte ich nur noch die passende Webseite, optimiert für die Auflösung des Tablets bauen. Ich mache es kurz, das Resultat findet sich hier:

📲 simulierte Auflösung von 10" mit 1280 x 800

Wer es für sich nachbauen möchte, findet hier meinen Quellcode. 📑 Die gesamte Seite wird dynamisch generiert, allein die Kompassrose wird zusätzlich als Bild geladen.

Die Darstellung auf dem Tablet selbst sieht schöner aus, da Android andere fonts und icons nutzt:

[neues OLED Display an der Wohnzimmerwand]


Wetterstation auf dem Dach

[Wetterstation auf dem Dach]


Basisstation mit Display

[original ELV LCD Display mit Funk-/WiFi-Basis]


💻

[aktuelle Echtdaten direkt vom Display]