Erfahrungen mit DNT Wetterstation WeatherScreen PRO und WeeWX

Update: 20.02.2024

Im Folgenden Beitrag erwartet euch ein kurzer Erfahrungsbericht zur neuen DNT Wetterstation inklusive einer Anleitung, wie ihr diese über die WLAN Funktion mit WeeWX verbinden könnt.

Bisherige Erfahrungen mit WeeWX

Ich betreibe seit mehreren Jahren eine drahtlose Wetterstation von Typ WX2013 mit der Software WeeWX auf einem Raspberry Pi. Leider funktioniert diese nicht mehr so gut und liefert immer wieder mal falsche Informationen aus, wie z.B. 1600 Liter Niederschlag an einem Tag. Nachdem auch die Außeneinheit so langsam den Anschein macht, dass sie an ihr Lebenende kommt und immer mehr Signalausfälle zu verzeichnen sind trotz frischer Batterien in der Außeneinheit, habe ich mich seit einer Weile nach einer neuen, besseren Wetterstation umgesehen.

Auf der Suche nach einer neuen Wetterstation

Moderne Wetterstationen haben sogar schon WLAN an Bord, so dass man keine USB-Verbindung mehr braucht um an die Daten zu kommen. Für WeeWX gibt es da auch schon etliche „Treiber“ für solche Stationen. Ende 2020 habe ich dann zufällig eine neue Wetterstation von DNT entdeckt, die DNT WiFi Wetterstation WeatherScreen Pro. DNT war mir bisher nur als Funkgerätehersteller aus CB-Funk Zeiten bekannt. Auf die Schnelle wurde ich nicht fündig ob man diese WLAN Wetterstation denn mit WeeWX betreiben kann, ich fand aber Treiber für andere WLAN Wetterstationen. Deren Bedieneinheit ähnelte vom äußeren Aussehen her der DNT Wetterstation, nur im Display sah man was anderes.
Von den Parametern her war ich überzeugt. Die Außeneinheit sah sehr ordentlich und robust aus, kein Kabelgewirr wie bei der WX2013. Die Kommunikationsfrequenz von Außeneinheit zur Basisstation ist auf 868 MHz, was Störungen durch Funkbetrieb auf 430 MHz ausschließt. Die Außeneinheit erfasst alle wichtigen Daten, und noch ein paar mehr als die alte WX2013 (z.B. Sonneneinstrahlung in Watt, UV-Index). Außerdem kann man die Wetterstation mit bis zu Neun weiteren Innensensoren erweitern und damit z.B. die Räume einzeln überwachen (Temperatur, Luftfeuchtigkeit und Luftdruck). Allerdings hat das Gerät keine USB Schnittstelle mehr um ihr Daten zu entlocken, aber da Sie WLAN kann, gab es da ja sicherlich andere Möglichkeiten.

Die Entscheidung ist gefallen

Das Gerät sah gut aus, die Parameter waren OK, der Preis war auch in Ordnung. Ich wagte also den Schritt und kaufte die DNT Wetterstation um zu erkunden, was damit alles geht.

Der Vollständigkeit halber sei noch erwähnt, die Wetterstation wird nicht VON DNT hergestellt, sonder FÜR DNT. Es ist ein generisches Produkt welches identisch auch von anderen Herstellern verkauft wird, unter anderen Namen. Alle Angaben gelten daher auch für folgende Wetterstationen (Liste kann sich noch erweitern…)
Froggit HP1000SE PRO Wi-Fi WLAN Internet Funkwetterstation
Ecowitt HP2551 WiFi Weather Station

Erste Erfahrungen mit der DNT Wetterstation

Ein paar Tage nach Erhalt habe ich die Wetterstation dann das erste mal in Betrieb genommen und sie funktionierte erstmal erwartungsemäß gut. Ein WeeWX Treiber den ich im Internet gefunden habe, der mit einer ähnliche Wetterstation zusammen arbeiten soll, funktionierte leider nicht. Im Netzwerkmonitor sah man, dass der Treiber seine „discovery Pakete“ sendete, aber die Wetterstation nicht darauf antwortete. Es passierte einfach nichts. Gleichzeitg entdeckte ich, dass auch die Wetterstation „Discovery Pakete“ sendete, von Port 2525 ausgehend an 255.255.255.255 in UDP. Nur konnte ich damit nichts anfangen.

Ob eine Anfrage beim Hersteller helfen könnte, um eine passende Schnittstelle zu entwickeln? Ich habe es versucht, aber es brachte leider keinen Erfolg. Die Informationen zur technischen Schnittstelle der Wetterstation wurden zwar schon beim eigentlichen Hersteller angefragt, nur möchte der damit nicht rausrücken. Eigentlich beschämend!

Ich war also erstmal enttäuscht und habe andere Internetfunktionen getestet. Die Übermittlung zu Wunderground funktionierte tadellos, nur leider werden dort nur wenige Informationen übermittelt und auch nur die Außenwerte. Klar, wen interessiert es wie warm es in meiner Wohnung ist.

Außerdem gefiel es mir nicht dass die Wetterstation freien Internetzugriff hat. Wer weiß, was da alles übertragen wird? Und nein, es ist keine Fantasie meinerseits. Schon am ersten Tag konnte ich feststellen, das die Wetterstation selbst ohne konfigurierte Übermittlung der Daten ins Internet fleißig „nach Hause telefoniert“. Folgende Ziel IP-Adressen konnte ich aus den Logs der Firewall auslesen:

47.246.43.207:80
47.102.253.116:80
169.60.133.174:80
169.60.133.171:80
169.47.111.60:80
169.47.111.58:80

In der Regel handelt es sich um Cloud-Dienste diverser Anbieter (z.B. Alibaba-Cloud).

Weiterhin werden ICMP Pakete (vermutlich PING Anforderungen) an folgende IPs mehr oder weniger regelmäßig gesendet:

99.86.2.4
103.235.46.39
143.204.90.225
104.108.41.30
2.18.233.29

Es scheint auch als ob jeden Tag immer neue IP-Adressen hinzukommen. Die einzige „offizielle“ Funktion, die das rechtfertigen könnte, wäre die Synchronisierung mit einem Zeitserver im Internet (time.nist.gov – leider nicht änderbar). Sicherlich geht auch die ein oder andere IP-Adresse darauf zurück, aber alle sicherlich nicht. Vor Allem nicht die, die an Port 80 der Server senden wollen. Ich habe der Wetterstation jedenfalls in der Firewall jeglichen Internetzugriff verweigert. Sicher ist sicher.

Wie steht es mit der Anbindung an WeeWX?

Ich wurde aufmerksam auf das Ecowitt Protokoll, welches die Wetterstation unterstützt. Dies schien kein proprietäres Protokoll eines kommerziellen Anbieters zu sein. Laut Datenblatt werden im Ecowitt-Protokoll alle Messdaten übertragen, also auch die der Innensensoren. Und man kann in der Wetterstation auch einen eigenen Server einstellen und dort mit Ecowitt oder Wunderground Protokoll die Daten abliefern. Das klang schonmal sehr gut. Nach kurzer Recherche scheint es auch Ecowitt-Schnittstellen für WeeWX zu geben. Wenn man also der Wetterstation die Daten nicht abluchsen kann, dann kann man sie vielleicht überreden diese selber auszuspucken.

Als erstes habe ich es mit Lorenzos Ecowitt HTTP Gateway probiert. Dieser beinhaltet einen Ecowitt WeeWX Treiber, welcher einen Ecowitt Server bereitstellt, die Daten dort annimmt und an WeeWX weiterreicht. Eigentlich genau das, was ich brauchte. Leider ist sein Treiber noch in Python2 geschrieben und es wird empfohlen, diesen in Python3 umzuwandeln. Dies habe ich auch gemacht, jedoch funktionierte es nicht wirklich. Im Syslog tauchte immer wieder eine Fehlermeldung auf. Matze DM4TZE half mir zwar bei der Beseitigung des Fehlers und es wurden dann auch Daten über den Ecowitt-Server angenommen, jedoch nicht an WeeWX weitergeleitet. Python ist leider nicht in meinem Wissens-Portfolio, weshalb an dieser Stelle Schluss für mich war.

Zufällig entdeckte ich dann ein weiteres Projekt, den WeeWX Interceptor von Matthew. Er versprach eine ähnliche Funktion wie der Ecowitt Treiber von Lorenzo. Diesen habe ich dann auch installiert und es lief dann auch auf Anhieb. Wie die Installation abläuft, beschreibe ich weiter unten.

Das Ergebnis konnte sich sehen lassen. Die WeeWX Webseite war nach einiger Zeit wieder gefüllt mit aktuellen Daten. Allerdings hat diese Methode einen großen Nachteil: WeeWX kann nur die Informationen anzeigen, die von der Wetterstation in Echtzeit übermittelt werden. Es können also keine Archivdaten aus der Vergangenheit „synchronisiert“ werden, wie bei der alten Wetterstation. Wenn die WeeWX Software einmal beendet wurde wegen Wartung etc., dann hat man eine Lücke in den Daten. Aber bis zum Erscheinen einer echten Schnittstelle zu WeeWX, tut das auch so!

Meine WeeWX Wetterstation kann man übrigens über das Hamnet unter dieser Adresse einsehen: http://wx.dl1nux.ampr.org/weewx/

Installationsanweisungen

1. WeeWX installieren

WeeWX wird gemäß Anleitung installiert, als Wetterstation wird erstmal der „Simulator“ ausgewählt, da der passende Treiber nicht im Programm selber enthalten ist. Für Debian Systeme (auch Ubuntu oder auf dem RaspberryPi) befindet sich die Anleitung hier: http://www.weewx.com/docs/debian.htm

2. Webserver installieren

Anschließend muss man noch einen Webserver installieren, beispielsweise Apache oder nginx. Es ist nur der reine Webserver erforderlich, kein PHP.

Achtung, ab Version 5 von WeeWX unterscheiden sich die folgenden Schritte:

Bis WeeWX Version 4.x

3. WeeWX Interceptor herunterladen.

wget -O weewx-interceptor.zip https://github.com/matthewwall/weewx-interceptor/archive/master.zip

4. Den Treiber in WeeWX installieren.

sudo wee_extension --install weewx-interceptor.zip

5. Den Treiber konfigurieren.

sudo wee_config --reconfigure --driver=user.interceptor --no-prompt

6. Treiberoptionen festlegen

In der weewx.conf wurde ein neuer Abschnitt [Interceptor] integriert. Dieser muss noch angepasst werden.

[Interceptor]
# This section is for the network traffic interceptor driver.

# The driver to use:
driver = user.interceptor
device_type = ecowitt-client
port = 9876
address = 44.149.25.66

Bei address wird die IP-Adresse des Rechners bzw. der Netzwerkschnittstelle, auf dem der Interceptor Treiber hören soll, eingetragen. Es ist wichtig hier die echte IP-Adresse anzugeben und nicht z.B. 127.0.0.1, da der Rechner sonst an der falschen Netzwerkschnittstelle (127.0.0.1 = loopback device) hört und keine Daten bekommt. Da meine Wetterstation im Hamnet erreichbar ist, ist es hier die IP-Adresse 44.49.25.66. In den meisten Heimnetzwerken wird es eine IP-Adresse nach dem Schema 192.168.xxx.yyy sein.

Es sei kurz erwähnt, dass der WeeWX Rechner natürlich mit einer festen (=statischen) IP-Adresse konfiguriert sein muss, die sich nicht ändern. Entweder man konfiguriert seinen Router so, das der WeeWX Rechner immer die gleiche Adresse per DHCP zugewiesen bekommt, oder man stellt die statische IP Adresse im WeeWX Rechner manuell ein.

Unter port muss der Netzwerkport der Schnittstelle eingetragen werden, auf dem der Interceptor Treiber hören soll. Der Port darf noch nicht belegt sein, ich habe deswegen einen krummen Port „9867“ gewählt, der in der Regel nicht in Benutzung ist.

Ab WeeWX Version 5.x

3. WeeWX Interceptor online installieren

sudo weectl extension install https://github.com/matthewwall/weewx-interceptor/archive/master.zip 

4. Interceptor Konfiguration in weewx.conf einfügen

Da die alte Version des Interceptor nicht ganz kompatibel ist mit WeeWX 5, muss die folgende Konfiguration manuell vorgenommen werden

In der weewx.conf muss ein neuer Abschnitt [Interceptor] hinzugefügt werden, am besten nach dem [Station] Abschnitt am Anfang

#########################################################################

[Interceptor]
# This section is for the network traffic interceptor driver.

# The driver to use:
driver = user.interceptor
device_type = ecowitt-client
port = 9876
address = 44.149.25.66

#########################################################################

Bei address wird die IP-Adresse des Rechners bzw. der Netzwerkschnittstelle, auf dem der Interceptor Treiber hören soll, eingetragen. Es ist wichtig hier die echte IP-Adresse anzugeben und nicht z.B. 127.0.0.1, da der Rechner sonst an der falschen Netzwerkschnittstelle (127.0.0.1 = loopback device) hört und keine Daten bekommt. Da meine Wetterstation im Hamnet erreichbar ist, ist es hier die IP-Adresse 44.49.25.66. In den meisten Heimnetzwerken wird es eine IP-Adresse nach dem Schema 192.168.xxx.yyy sein.

Es sei kurz erwähnt, dass der WeeWX Rechner natürlich mit einer festen (=statischen) IP-Adresse konfiguriert sein sollte, die sich nicht ändert. Entweder man konfiguriert seinen Router so, das der WeeWX Rechner immer die gleiche Adresse per DHCP zugewiesen bekommt, oder man stellt die statische IP Adresse im WeeWX Rechner manuell ein.

Unter port muss der Netzwerkport der Schnittstelle eingetragen werden, auf dem der Interceptor Treiber hören soll. Der Port darf noch nicht belegt sein, ich habe deswegen einen krummen Port „9867“ gewählt, der in der Regel nicht in Benutzung ist.

5. Interceptor Treiber aktivieren

Damit auch der Treiber beim Starten von WeeWX geladen wird, muss dieser noch in der weewx.conf im Abschnitt [Station] hinzugefügt werden.

[Station]

station_type = Interceptor

[Interceptor]

Ab hier gilt die Konfiguration wieder für beide Fälle:

7. Wetterstation einstellen

  • Zahnrad-Taste
  • Wetterserver – Einstellungen
  • Anpassungen – Einstellungen
    • Status: Aktivieren
    • Protokoll Art: Wie bei Ecowitt
    • IP/Hostname: IP-Adresse oder Hostname des Rechners, auf dem der Interceptor-Treiber bzw. WeeWX laufen, z.B. 44.149.25.66
    • Port: Der gleiche Port der in den Interceptor Einstellungen gewählt wurde (z.B. 9876)
    • Intervall: „60 Zweitens“

Unter „Intervall“ lässt sich einstellen, wie oft die Wetterstation die Daten übermittelt. Das Wort „Zweitens“ ist übrigens nur eine schlechte Übersetzung des englischen Wortes „Seconds“, was für Sekunden steht. Die Wetterstation selber erhält alle 16 Sekunden neue Daten, allerdings erzeugt WeeWX standardmäßig nur alle Fünf Minuten eine neue Statistik. Ich habe es bei der Einstellung 60 Sekunden gelassen.

Ab sofort erhält WeeWX alle 60 Sekunden neue Wetterdaten von der Wetterstation. Diese können dort nach Belieben weiterverarbeitet werden, je nachdem was eure WeeWX Station alles unterstützt.

 

7 Gedanken zu „Erfahrungen mit DNT Wetterstation WeatherScreen PRO und WeeWX

  1. Hallo,
    hervorragende Beschreibung der Funktionen der WS. Sehr gut auch die Anleitung zur Integration in WeeWX. Alles ist sehr hilfreich. Schon eine besseren „Treiber“ gefunden, insbesondere Aktualisierung des Archivs?

    Beste Grüße
    J. Rummler

    • Hallo J.! Leider habe ich noch nichts besseres gefunden. Es wäre schön wenn auch das Archiv ausgelesen werden könnte, geht aber derzeit nicht. Na mal sehen, vielleicht findet das ja jemand mal heraus. Viele Grüße!

  2. Vielen Dank für den Artikel. Sehr interessant.
    Ich persönlich bin auf der Suche nach einer vergleichbaren Wetterstation, die ich per Lora(WAN) anbinden kann. Ist dir sowas schon über den Weg gelaufen?
    Die Daten von einigen Sensoren landen bei mir über ein privates Lora-Gateway, MQTT in einer Prometheus DB und können von dort per Grafana visualisiert/alarmiert werden.

    • Hallo Stefan.
      Da wirst du um einen Selbstbau oder einen Zwischenweg über WeeWX nicht hinwegkommen. Sicherlich gibt es für WeeWX auch ein passendes Plugin um die Daten per MQTT zu transportieren. Aber ich denke das wirst du nicht wollen.
      Vg Attila

    • Hi Tomas. I am using a virtual Linux machine für WeeWX, because its better in my situation. But it is no problem to use a RaspberryPi for that. I’m limiting Internet Access through my MikroTik router. I have a firewall rule that drops all traffic into the internet, except the packages to the NTP timeserver (time.nist.gov). The timeserver can’t be changed in the weather station display.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.