… haben wir ja nun und die Messwerte sind über die Homepage abrufbar.
Eigentlich kam es eher kollateral dazu. Es soll eine Terassenüberdachung mit Markisen her und dazu entsteht gerade eine Steuerung auf Basis eines Raspberry Pi (dazu gibt’s später mal einen Beitrag).
Dann kam der Wunsch der Chefin dazu, dass die Markisen bitte wetterabhängig reagieren sollen und das wäre ja auch für die bestehenden elektrischen Rolladen schön. Ein kurzer Blick auf die kommerziellen Steuerlösungen der bekannten Marken endete in (meiner 🙂 ) Erkenntnis, dass ich das doch selbst besser könnte.
Das Ergebnis ist eine Wetterstation Marke Fineoffset Typ WH3080. Das ist sicher nicht das ultimative Qualitätsprodukt, bietet aber für den Preis erstaunlich viel. Für 80€ plus Versand war die aktuelle 866 Mhz Version 1-2-3 meins. Und für ein paar Umweltdaten für eine Markisensteuerung sollte es ja in jedem Fall reichen. Doch dann packte mich der Ehrgeiz doch ernsthafte Werte zu bekommen…
Diese Wetterstation habe ich mittels eines weiteren Raspberry Pi per WLAN ins Heimnetz eingebunden. Und dieser Pi baut alle 5 Minuten auch die Webseiten, die Ihr über die Homepage einsehen könnt. Nähere Infos über die verwendete SW ist auf der Wetterseite.
So ganz „out of the box“ hat das Ganze dann nicht funktioniert. Erste Erkenntnis: Der Drucksensor als auch der UV Sensor und auch der Sensor für die solare Einstrahlung mussten merklich umkalibiert werden und die in der Wetterstation implementierte Umrechnung von Lux auf Watt pro Quadratmeter ist plump gesagt einfach Unfug. Und auch die Außentemperatur ist ohne Änderungen problematisch. Diese Probleme habe ich wie im Folgenden beschreiben korrigiert (und alle, die da lieber nicht die Details lesen wollen, hören hier besser auf).
Drucksensor: Für den Drucksensor kann man in weewx (das ist die Software für die Wetterstation auf dem Pi) in der weewx.conf (siehe Wetterseite) einen Offset angeben. Ich habe hier 2,37hPa eingestellt:
pressure_offset = 2.37
Den Wert habe ich über einen Datenabgleich mit Nachbarstationen über awekas.at ermittelt. Im Mittel über ein paar Tage müssen die Wetterstationen im Umkreis einiger 10 Kilometer ja die selben Werte liefern, da die Wettereffekte sich hier ausmitteln sollten. Mit der Korrektur bin ich bei stabilen Wetterlagen auf wenige Zehntel-hPa an den lokalen offiziellen Wetterstationen wie die des Nürnberger Flughafens dran.
Für die Anzeige auf der Konsole kann man übrigens per weewx Konfigurationstools oder mit Hilfe der mitgelieferten SW einen Offset auf den Druck einstellen. Dann stimmen hier die Anzeigen in weewx als auch auf der Konsole.
UV Sensor: Der liegt ordentlich zu hoch. Auch hier hat der Vergleich mit den Nachbarstationen geholfen als auch ein Abgleich mit den offiziellen UV-Index Prognosen des Deutschen Wetterdienstes sowie insbesondere die Daten des Solaren UV Monitoring Netzwerks (www.suvmonet.de). Am Ende habe ich die Werte mit 1/2 skaliert (wiederum weewx.conf) und nun passen die Werte zusammen. Leider kommt der UV Index als Integer-Wert per USB. Damit ist eine nachträgliche Korrektur leider nur grob möglich:
[StdCalibrate]
# This section can adjust data using calibration expressions.
[[Corrections]]
UV = UV / 2.0
Solare Einstrahlung: Nun noch die solare Einstrahlung. Offenbar gibt die Wetterstation die Einstrahlung in Lux vernünftig an. Stellt man an der mitgelieferten Konsole aber auf Watt pro Quadratmeter um, kommt nur noch Unsinn heraus. An einem sehr sonnigen Julitag kam maximal ca. 120W/m^2 heraus. Das kann nicht sein – da fehlt ca. ein Faktor 10. Also habe ich etwas recherchiert und habe über Wikipedia ein Paper der Uni Princeton gefunden, in dem eine Skalierung von 93 Lumen pro Watt herauskommt (wobei das aber auch auf der Spektrum bzw die Bewölkung und andere Umwelteffekte ankommt). Den Wert habe ich im USB Treiber von weewx eingebaut.
Zur Info: Die Station berichtet per USB in Lux und offenbar hat der Treiberautor den Umrechnungsfaktor der Firmware der Station nachgebildet. Somit gab es per weewx wie Konsole der Wetterstation identischen Unfug.
Mit dem Umrechnungsfaktor von 93 Lumen/Watt klappt es jetzt wunderbar. Die Werte passen zur Umgebung und zu den zu erwartenden Literaturwerten. Diese Details zur Korrektur habe ich dann auch in die weewx User Group gepostet:
I looked into this and I guess the solution is an errorneous conversion within fousb.py
The WH3080 delivers the values in lux. In the driver code in fousb.py the conversion is coded the following way:
'radiation' : ('illuminance', 0.001464), # lux, weewx wants W/m^2
Whereas the comment is correct, the conversion factor seems wrong. Sunlight has an efficacy of 93 Lumens per Watt (source Wikipedia: http://en.wikipedia.org/wiki/Sunlight).
Thus I changed to code to:
'radiation' : ('illuminance', 0.01075), # lux, weewx wants W/m^2
With this change, the solar radiation is within a 5 percent deviation to a neighbouring Vantage weather station.
As an addition, it seems that the same errorneous conversion factor is used in the WH3080 display itself. The displayed values in lux are correct. The values for Watt per square-meter are in the same way wrong as with the initial fousb code. So I guess that the original author somehow made the values in weewx fit to the values displayed. That might have been the mistake.
Außentemperatur: Letzter (aktuell bekannter 🙂 ) zu korrigierender Effekt ist die Außentemperatur. Der Sensor hat zwar einen Strahlungsschutz, aber dessen Effektivität ist mehr als zweifelhaft, wenn der Wind nicht gerade ausreichend bläst. Hier bin ich gerade dran und die heutigen Ergebnisse sind ermutigend. Details werden folgen …
P.S.: Bisher hatte ich keine Probleme mit der Funkübertragung. Die neue Version hat statt 433 MHz eine 868 MHz Sender/Empfangskombination. Das scheint robuster zu laufen, wenn man den kursierenden Kommentaren zur den Empfangsproblemen mit 433MHz glauben darf.
Ich konnte bisher auch keine USB Probleme (Lockups) beobachten, die über die WH3080 und 1080 berichtet werden. Eventuell ist hier auch die neuere HW Revision die Lösung.
P.P.S.: Die beschriebenen Probleme findet man durchaus öfters im Netz über die FineOffset Wetterstationen. Es wäre für die Herstellerfirma nicht arg schwer, hier etwas zu tun.
Thus: @ FineOffset in Shenzhen, please feel free to drop a comment or provide some firmware updates. There are quite an amount of reports on systematic errors with temperature, UV, Solar, barometer. Bugfixes are possible. The community feels you should react. Mailing you does not seem to be successful 😉