Die eigene Wetterstation

Warum eine eigene Wetterstation

Angefangen hat dieses Projekt mit der Suche nach einer Funkwetterstation welche meine alte Wetterstation ablöst. Diese basierte noch auf dem Funkprotokoll s300th und das entsprechende openHAB binding wird seit Jahren nicht mehr weiter entwickelt. Zusätzlich wird ein spezieller USB Stick benötigt welcher nur für diesen Sensor Typ verwendet werden konnte. Also machte ich mich an die Arbeit eine Alternative zu finden.

Eine meiner Hauptanforderungen war, auf ein Funkprotokoll zu setzen, welches universell einsetzbar ist und gleichzeitig eine offene API bietet.

Zusammengebaute Wetterstation

Suche nach der richtigen Lösung

In meine engere Wahl kamen schließlich Homematic, welches ich aber schnell wieder verwarf da es eine zusätzliche Steuerzentrale benötigt.

Weiterhin kam ZigBee in Betracht, welches ich aber auch verworfen habe, da es einerseits keine entsprechende Sensoren gab und für eine Selbstbaulösung zu unflexibel war. Es bot z.B. keine Custom Value Types.

Als drittes habe ich Z-Wave evaluiert. Hier gibt es seit kurzen erste Wind und Regen Sensoren. Nach kurzer Überlegung habe ich aber fertige Sensoren aufgrund des Preis Leistung Verhältnisses verworfen. Während meiner Recherche bin ich schließlich auf den Z-Uno gestoßen. Ein Arduino kompatibler Klone welcher den kompletten Z-Wave Stack mitbringt. Meine ersten Experimente starteten also mit diesem Device. Leider wurde ich auch hier schnell mit der Realität konfrontiert. Es gab Probleme mit dem Device Pairing welches entweder gar nicht funktionierte oder zu einer erneuten Registrierung führte wodurch das Device plötzlich unter einer neuen ID verfügbar war. Zusätzlich ist Z-Wave niemals für Custom Devices entworfen worden. Im Falle von openHAB wird jedes z-Wave Device in einer zentralen Datenbank in Form einer XML Datei hinterlegt, welches die Funktionen beschreibt. Dies ist natürlich für selbst entworfene Device nicht praktikabel. Eine andere Variante war das binding jar file von openHAB zu patchen und eine eigene XML Datei einfach mit rein zu kopieren. Dies war am Anfang der von mir favorisierte Weg. Letztendlich habe ich aber auch diese Lösung verworfen da das Z-Wave Protokoll selbst nicht flexibel war. Es deckte leider nicht alle von mir favorisierten Datentypen ab.

Letztendlich kam ich zu dem Schluss das nur eine komplette Selbstbaulösung incl. Übertragungsmedium die notwendige Flexibilität bieten würde. Die Grundlage hierfür bildet wieder ein Arduino Pro Mini, mit dem ich schon bei meinen Temperatursensoren, gute Erfahrungen gemacht habe.

Blieb also nur noch die Suche nach eine Übertragungsweg. Nach ersten Tests mit einem Wlan Shield, welchen ich aber aufgrund des hohen Stromverbrauchs (>120mA) schnell verworfen habe, bin ich auf MySensors gestoßen. Es ist ein offener Arduino basierender Software Stack welcher genau für solche Dinge gedacht ist. Nach ersten Tests realisierte ich schnell, das es all meine Anforderungen voll und ganz erfüllt. Folgende Eigenschaften sind hierbei hervorzuheben.

  1. Arduino basierend und daher sehr Stromsparend
  2. Hohe Reichweite dank 868Mhz Übertragung
  3. AES Hardwareverschlüsselung bei Verwendung des RFM69 Transeivers
  4. Mesh Netzwerksupport um auch weit entfernte Nodes zu erreichen
  5. Unterstützung verschiedenster Sensortypen incl. Custom Values
  6. Universeller Gateway welcher alle Sensordaten an einen MQTT Broker weiterleitet

Anschlussbox offen Anschlussbox Details Deckel Rückseite Deckel Rückseite mit Isolierung Anschlussbox offen

Da ich kein separates Strom oder Netzwerkkabel verwenden wollte es zusätzlich komplett autark laufen. d.h. ohne externe Stromversorgung.

Was kann die eigene Wetterstation

Station:

Sensoren:

Herausforderung für den Solarbetrieb

Ein Problem was ich am Anfang unterschätzt hatte war die autarke Stromversorgung. Meine Anforderungen waren eigentlich nicht sehr umfangreich. Haben sich aber trotzdem als schwierig erwiesen. Es sollte sowohl eine Strom/Füllstandsüberwachung haben als auch einen NTC Sensor welcher den Ladevorgang bei zu hohen oder zu niedrigen Temperaturen unterbricht. Angefangen über einen kompletten Selbstbau LiPo Charger, über einen fertigen bis hin zu diversen Solar LiPo Chargern hatte ich einiges ausprobiert. Letztendlich nutze ich eine Kombination aus deinem Solar Charger von Adafruit zusammen mit einem Strom Sensor.

Eine weitere Herausforderung war der Stromverbrauch der Wetterstation selbst. Ein 7800mAh Akku hört sich erstmal viel an. Um aber auf extreme Wetterbedingungen vorbereitet zu sein habe ich mit nur 40% der Kapazität bei tiefen Temperaturen gerechnet. Weiterhin sollte man im Winter davon ausgehen das mehr als 10 Tage am Stück keine Sonne scheint. Unter diesen Rahmenbedingen relativiert sich die Akkugröße sehr schnell.

Aktuell hat die Wetterstation folgenden Verbrauch

d.h. sie sollte bei 40% Akkukapazität bis zu 12 Tage ohne Sonnenschein durchhalten.

Schaltplan

Anschlussbox Details Deckel Rückseite Vorderseite Platine Vorderseite Platine Rückseite Schaltplan

Oberfläche

Webinterface Webinterface Webinterface Webinterface Webinterface Webinterface Webinterface Webinterface

Software

Arduino source code zu diesem Projekt kann wie immer in meinem github repository gefunden werden

https://github.com/HolgerHees/arduino_weatherstation

Bauteilliste

https://intranet-der-dinge.de/
https://intranet-of-things.com/