WS3600

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
WS3600
Zweck / Funktion
Anbindung Wetterstationen, die Daten im fetch3600-Format auf der Standardausgabe liefern
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Sonstiges
Modulname 70_WS3600.pm
Ersteller Josch
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

Über das WS3600 Device Modul können diverse Wetterstationen an FHEM angeschlossen werden. Das Modul geht davon aus, dass eine WS3600-kompatible Wetterstation per USB angeschlossen ist und über ein Kommando ein standardisiertes Ausgabeformat auf STDOUT ausgibt.

Das Modul WS3600 unterstützt bisher die folgenden Wetterstationen:

Direkt angeschlossene Wetterstation

Das Modul erwartet, das die Wetterstation am selben System angeschlossen ist, auf dem auch FHEM läuft und über ein lokal ausgeführtes Ausleseprogramm abgefragt werden kann. Das Ausleseprogramm wird regelmäßig aufgerufen und muss die Wetterdaten in einem Datenformat ausgeben, das dem des Programms fetch3600 entspricht.

Mit den folgenden Befehlen wird die Wetterstation WS3600 als Objekt myWS3600 eingebunden und ein FileLog angelegt, in das die Wetterdaten geschrieben werden:

define myWS3600 WS3600 /usr/local/bin/fetch360
define FileLog_WS3600 FileLog ./log/WS3600-%Y.log myWS3600.*

Die Wetterdaten können dann geplottet oder für notifys verwendet werden.

Über pywws angeschlossene Wetterstation

pywws ist eine Sammlung von Python Skripten, um die unter vielen verschiedenen Namen vertriebenen Fine Offset Wetterstationen auszulesen. Mit pywws können unter anderem die Wetterstationen Elecsa AstroTouch 6975, Watson W-8681, WH-1080PC, WH1080, WH1081, WH3080 und weitere baugleiche Modelle ausgelesen werden.

pywws bietet von Haus aus keine WS3600-kompatible Ausgabe, diese kann aber über die pywws Ausgabe-Templates sehr einfach erstellt werden. Dazu muss nur ein neues Text-Template ws3600.txt angelegt werden, das ein File im WS3600-Format erzeugt:

#locale "False"#
#timezone local#

Date #idx "%d-%h-%Y"#

Time #idx "%H:%M:%S"#

Ti #temp_in "%.1f"#

To #temp_out "%.1f"#

RHi #hum_in "%d"#

RHo #hum_out "%d"#

DIR #wind_dir "%s"#

DIRtext #wind_dir "%s" "-" "winddir_text(x)"#

WS #wind_ave "%.0f"#

WG #wind_gust "%.0f"#

Rtot #rain "%0.1f"#

RP #rel_pressure "%.0f"#

Tendency #pressure_trend "%s" "" "pressure_trend_text(x)"#

Dieses Template wird dann in der pywws Konfigurationsdatei weather.ini entweder in die Liste der auszuführenden Text-Templates in der [hourly] oder der [logged] Sektion eingefügt.

In FHEM kann die Wetterstation dann wie folgt definiert werden:

define myWS1080 WS3600 "cat /var/www/weather/data/ws3600.txt"
define FileLog_WS3600 FileLog ./log/WS3600-%Y.log myWS1080.*

Falls pywws auf einem anderen System läuft, kann der cat-Befehl per SSH ausgeführt werden:

define myWS1080 WS3600 "ssh pywws@weather.example.com cat /var/www/weather/data/ws3600.txt"

Damit FHEM den cat-Befehl per SSH ausführen kann, muss SSH so konfiguriert sein, dass der FHEM-User sich auf dem pywws System per Public Key ohne Passwort einloggen kann.