WS3600: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
Topos (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 64: | Zeile 64: | ||
Damit FHEM den <tt>cat</tt>-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. | Damit FHEM den <tt>cat</tt>-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. | ||
[[Kategorie:Wetterstationen]] |
Version vom 15. März 2014, 21:49 Uhr
Ü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:
- WS3600 - LaCrosse WS3600
- WS2300 - LaCrosse WS2300
- WS1080 - Fine Offset WS1080/WH1080
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# 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" "" "wind_dir_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.