NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Jetzt versteh ichs garnichtmehr.
Hab mit dem originalen Script die DPs an der Setelle angelegt wo ich sie nicht haben möchte und auch die Conf entsprechend angepasst.
Jetzt kamen bei den alten nochmal Daten rein aber die neuen blieben leer. -
Jetzt versteh ichs garnichtmehr.
Hab mit dem originalen Script die DPs an der Setelle angelegt wo ich sie nicht haben möchte und auch die Conf entsprechend angepasst.
Jetzt kamen bei den alten nochmal Daten rein aber die neuen blieben leer. -
jepp, hab ich
-
@Glasfaser
Nein, leider nicht. Das war schon mei zweiter Fehlversuch um von 1.3 auf 1.4 umzusteigen.
Zurück auf 1.3 geht bisher immer.
Hier mal Auszüge der beiden Conf:### Settings V0.1.3 ----------------------------------------------------------- #Debuging einschalten [true/false] / default false / Ausgabe der Messwerte debug=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.178.20:8087 #Port der Wetterstation WS_PORT=9999 #Pollintervall der Wetterstation in Sekunden (min 30 Sekunden) WS_POLL=30 #Name/ID der Wetterstation WS_ID=W830 #wo sollen die Datenobjekte abgelegt werden PRE_DP=Wetterstation.0### Settings V0.1.4 ----------------------------------------------------------- #Debuging einschalten [true/false] / default false / Ausgabe der Messwerte debug=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.178.20:8087 #Port der Wetterstation WS_PORT=9999 #Pollintervall der Wetterstation in Sekunden (min 16 Sekunden) WS_POLL=16 #Name/ID der Wetterstation WS_ID=W830 #wo sollen die Datenobjekte abgelegt werden PRE_DP=Wetterstation.0.conf und .sh haben die Rechte 744.
-
@Glasfaser
Nein, leider nicht. Das war schon mei zweiter Fehlversuch um von 1.3 auf 1.4 umzusteigen.
Zurück auf 1.3 geht bisher immer.
Hier mal Auszüge der beiden Conf:### Settings V0.1.3 ----------------------------------------------------------- #Debuging einschalten [true/false] / default false / Ausgabe der Messwerte debug=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.178.20:8087 #Port der Wetterstation WS_PORT=9999 #Pollintervall der Wetterstation in Sekunden (min 30 Sekunden) WS_POLL=30 #Name/ID der Wetterstation WS_ID=W830 #wo sollen die Datenobjekte abgelegt werden PRE_DP=Wetterstation.0### Settings V0.1.4 ----------------------------------------------------------- #Debuging einschalten [true/false] / default false / Ausgabe der Messwerte debug=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.178.20:8087 #Port der Wetterstation WS_PORT=9999 #Pollintervall der Wetterstation in Sekunden (min 16 Sekunden) WS_POLL=16 #Name/ID der Wetterstation WS_ID=W830 #wo sollen die Datenobjekte abgelegt werden PRE_DP=Wetterstation.0.conf und .sh haben die Rechte 744.
@Rushmed ws_POLL= 16/30
-
Irgendwie kommen die Daten der 1.4 nicht im ioBroker an:
Listening on [0.0.0.0] (family 2, port 9999) Connection from ESP-4F2AD3.fritz.box 15005 received! Messwerteblock: Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Chill-Faktor : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h max. Windgeschwindkeit : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regen aktuell : mm Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Datenstring für ioBroker: DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=*****&PASSWORD=*****&indoortempf=69.8&tempf=47.3&dewptf=36.1&windchillf=43.3&indoorhumidity=51&humidity=65&windspeedmph=8.1&windgustmph=9.2&winddir=216&absbaromin=29.106&baromin=29.303&rainin=0.000&dailyrainin=0.031&weeklyrainin=0.252&monthlyrainin=2.055&yearlyrainin=0&solarradiation=0.00&UV=0&dateutc=2020-02-25%2017:07:01&softwaretype=EasyWeatherV1.4.7&action=updateraw&realtime=1&rtfreq=5 HTT Connection: Close.20 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.178.20:8087 WS_PORT: 9999 WS_POLL: 30 PRE_DP: Wetterstation.0 Script-Version: V0.1.4 Config-Version: V0.1.4Aus DATA wird kein Messwerteblock generiert.
Hat jemand ne Idee?@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
...1&rtfreq=5 HTT Connection: Close.20
Der schließt anscheinend die Verbindung während der Übertragung. Hast du in der APP und bei WS_POLL jeweils 30?
Einmal hast du bei POLL nur 16 stehen.
Erhöhe dann mal in der *.sh die Wartezeit. Zeile #41:let "WARTE=WS_POLL+5" #Poll + Zuschlag warten in let "WARTE=WS_POLL+10" #Poll + Zuschlag warten -
@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
...1&rtfreq=5 HTT Connection: Close.20
Der schließt anscheinend die Verbindung während der Übertragung. Hast du in der APP und bei WS_POLL jeweils 30?
Einmal hast du bei POLL nur 16 stehen.
Erhöhe dann mal in der *.sh die Wartezeit. Zeile #41:let "WARTE=WS_POLL+5" #Poll + Zuschlag warten in let "WARTE=WS_POLL+10" #Poll + Zuschlag warten@SBorg
Die Änderung macht leider keinen Unterschied.
ich habe jetzt in App und Conf auf die selbe WS=ID festgelegt, das sieht schonmal besser aus aber im Broker werden die Datenpunkte immernoch nicht gefüllt.Gibt es jetzt eine WS=ID Prüfung die vorher nicht da war?
Listening on [0.0.0.0] (family 2, port 9999) Connection from ESP-4F2AD3.fritz.box 15567 received! [ { "id": "Wetterstation.0.Innentemperatur", "val": 20.5 }, { "id": "Wetterstation.0.Aussentemperatur", "val": 6.38 }, { "id": "Wetterstation.0.Taupunkt", "val": 1.88 }, { "id": "Wetterstation.0.Chillfaktor", "val": 6.38 }, { "id": "Wetterstation.0.Innenfeuchtigkeit", "val": 50 }, { "id": "Wetterstation.0.Aussenfeuchtigkeit", "val": 73 }, { "id": "Wetterstation.0.Wind", "val": 4.66 }, { "id": "Wetterstation.0.Wind_max", "val": 7.24 }, { "id": "Wetterstation.0.Windrichtung", "val": 176 }, { "id": "Wetterstation.0.Windrichtung_Text", "val": "S" }, { "id": "Wetterstation.0.Druck_absolut", "val": 985.23 }, { "id": "Wetterstation.0.Druck_relativ", "val": 991.94 }, { "id": "Wetterstation.0.Regen_aktuell", "val": 0 }, { "id": "Wetterstation.0.Regen_Tag", "val": 0.7 }, { "id": "Wetterstation.0.Regen_Woche", "val": 6.4 }, { "id": "Wetterstation.0.Regen_Monat", "val": 52.1 }, { "id": "Wetterstation.0.Regen_Jahr", "val": 0 }, { "id": "Wetterstation.0.Sonnenstrahlung", "val": 0 }, { "id": "Wetterstation.0.UV_Index", "val": 0 }, { "id": "Wetterstation.0.Zeitstempel", "val": "25.02.2020 20:17:25" } ] Messwerteblock: 68.9 43.5 35.4 43.5 50 73 2.9 4.5 176 29.094 29.292 0.000 0.031 0.252 2.055 0 0.00 0 2020-02-25%2019:17:25 Temperatur Innen : 20.50 °C Temperatur Aussen : 6.38 °C Taupunkt : 1.88 °C Chill-Faktor : 6.38 °C Luftfeuchte Innen : 50 % Luftfeuchte Aussen : 73 % Windgeschwindkeit : 4.66 km/h max. Windgeschwindkeit : 7.24 km/h Windrichtung : 176 ° Windrichtung : S Luftdruck absolut : 985.23 hPa Luftdruck relativ : 991.94 hPa Regen aktuell : 0 mm Regen Tag : .7 mm Regen Woche : 6.4 mm Regen Monat : 52.1 mm Regen Jahr : 0 mm Sonnenstrahlung : 0.00 W/m² UV-Index : 0 Zeitstempel : 25.02.2020 20:17:25 Datenstring für ioBroker: Wetterstation.0.Innentemperatur=20.50&Wetterstation.0.Aussentemperatur=6.38&Wetterstation.0.Taupunkt=1.88&Wetterstation.0.Chillfaktor=6.38&Wetterstation.0.Innenfeuchtigkeit=50&Wetterstation.0.Aussenfeuchtigkeit=73&Wetterstation.0.Wind=4.66&Wetterstation.0.Wind_max=7.24&Wetterstation.0.Windrichtung=176&Wetterstation.0.Windrichtung_Text=S&Wetterstation.0.Druck_absolut=985.23&Wetterstation.0.Druck_relativ=991.94&Wetterstation.0.Regen_aktuell=0&Wetterstation.0.Regen_Tag=.7&Wetterstation.0.Regen_Woche=6.4&Wetterstation.0.Regen_Monat=52.1&Wetterstation.0.Regen_Jahr=0&Wetterstation.0.Sonnenstrahlung=0.00&Wetterstation.0.UV_Index=0&Wetterstation.0.Zeitstempel=25.02.2020 20:17:25 DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=*****&PASSWORD=*****&indoortempf=68.9&tempf=43.5&dewptf=35.4&windchillf=43.5&indoorhumidity=50&humidity=73&windspeedmph=2.9&windgustmph=4.5&winddir=176&absbaromin=29.094&baromin=29.292&rainin=0.000&dailyrainin=0.031&weeklyrainin=0.252&monthlyrainin=2.055&yearlyrainin=0&solarradiation=0.00&UV=0&dateutc=2020-02-25%2019:17:25&softwaretype=EasyWeatherV1.4.7&action=updateraw&realtime=1&rtfreq=5 HTT Connection: Close.20 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.178.20:8087 WS_PORT: 9999 WS_POLL: 16 PRE_DP: Wetterstation.0 Script-Version: V0.1.4 Config-Version: V0.1.4edit: Debug war noch an. Jetzt gehts.
-
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
..... da es für mich erstmal nicht Interessant war ..
...warum wohl...
Den Fehler habe ich auch, denke ich. Blöde UTC/CET/CEST - Kac*e. Bin für NGZ
Gefixte Version auf GitHub. wetterstation.sh tauschen genügt.
- Windrichtung gefixt
- fix kumulierte Regenmenge
- kleinere Fixes
@SBorg kumulierte Regenmenge klappt bei mir aber noch nicht.
Wie sieht's bei den anderen aus? -
@SBorg kumulierte Regenmenge klappt bei mir aber noch nicht.
Wie sieht's bei den anderen aus? -
Dito.
Außerdem bei mir Windrichtung als Text nur gestern einmal beim Trobleshooten geschrieben und bleibt seit dem unverändert.
-
Dito.
Außerdem bei mir Windrichtung als Text nur gestern einmal beim Trobleshooten geschrieben und bleibt seit dem unverändert.
@Rushmed
Stimmt ... bei mir auch ...
Die Windrichtung in Grad bleibt auch stehen ...
Script schon neu gestartet .. bleibt dort stehen
EDIT : Nochmal Reboot durchgeführt ... jetzt geht es Windrichtung / Text werden aktualisiert ... werde es mal beobachten !!
-
@SBorg kumulierte Regenmenge klappt bei mir aber noch nicht.
Wie sieht's bei den anderen aus?@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg kumulierte Regenmenge klappt bei mir aber noch nicht.
Wie sieht's bei den anderen aus?Falsch gedacht, ich darf nicht abziehen, ich muss dazu addieren

V0.1.4 Beta 3 auf GitHub
Komplettes Trio tauschen und Javascript nicht vergessen, da DP "Regen Aktuell" --> "Regenrate"
Zum Update-Prozedere: am besten das laufende Skript mitpkill -9 wetterstation.*stoppen, dann ersetzen und konfigurieren, dann- direkt am Linux-Client
./wetterstation.sh & - oder per Putty oä.
nohup ./wetterstation.sh &
jeweils im Installationsverzeichnis ausführen. Sonst befindet sich ggf. noch das alte Skript im RAM und läuft munter bis zum nächsten Reboot weiter

- direkt am Linux-Client
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg kumulierte Regenmenge klappt bei mir aber noch nicht.
Wie sieht's bei den anderen aus?Falsch gedacht, ich darf nicht abziehen, ich muss dazu addieren

V0.1.4 Beta 3 auf GitHub
Komplettes Trio tauschen und Javascript nicht vergessen, da DP "Regen Aktuell" --> "Regenrate"
Zum Update-Prozedere: am besten das laufende Skript mitpkill -9 wetterstation.*stoppen, dann ersetzen und konfigurieren, dann- direkt am Linux-Client
./wetterstation.sh & - oder per Putty oä.
nohup ./wetterstation.sh &
jeweils im Installationsverzeichnis ausführen. Sonst befindet sich ggf. noch das alte Skript im RAM und läuft munter bis zum nächsten Reboot weiter

- direkt am Linux-Client
-
@Glasfaser

Ich habe jetzt auch mal eine Updateanleitung im 1. Post mit angehängt.
@Glasfaser + @crunchip : ich würde noch gerne, ebenfalls im Eingangspost, eure View/Grafana mit anhängen. Im Thread gehen die beiden gelungenen (
) Umsetzungen einfach unter. Ich würde dann gerne auf die entsprechenden Posts dazu hier im Thread verweisen wollen. Dann hätte man eine zentrale Anlaufstelle die auf die entsprechenden Posts verweist und ihr könnt diese selbst editieren/ändern. -
@Glasfaser

Ich habe jetzt auch mal eine Updateanleitung im 1. Post mit angehängt.
@Glasfaser + @crunchip : ich würde noch gerne, ebenfalls im Eingangspost, eure View/Grafana mit anhängen. Im Thread gehen die beiden gelungenen (
) Umsetzungen einfach unter. Ich würde dann gerne auf die entsprechenden Posts dazu hier im Thread verweisen wollen. Dann hätte man eine zentrale Anlaufstelle die auf die entsprechenden Posts verweist und ihr könnt diese selbst editieren/ändern.@SBorg ja gerne, bin sowieso noch ein wenig am "optimieren"
aktuelles update muss ich auch noch ausführen -
Das ganze entstand aus diesem Thread.
Damit ist es möglich mit einem Linux-Client die Daten einer WLAN-Wetterstation und/oder mit Hilfe eines Gateways und Zusatzsensoren zu empfangen, aufzubereiten und im ioBroker zur Verfügung zu stellen. Optional können die Daten auch bei AWEKAS.at, OpenSenseMap, Windy und wetter.com zur Verfügung gestellt werden.
Mein Dank geht an @Latzi für das testen in der Entwicklungsphase und dessen Unterstützung bei der Verfassung der WiKi-Artikel.
Aktuelle Version auf GitHub:
Neue Versionen im Thread sind ab V2.15.0 (Juli 2022) unterschiedlich farblich gekennzeichnet:- Beta-Releases haben dann eine rote Versionsnummer
- stabile Releases haben dann eine grüne Versionsnummer
Projektseite (inkl. WiKi): https://sborg2014.github.io/WLAN-Wetterstation/
Da es sich um keinen Adapter handelt, ist dies eine "Vorschaltseite" von GitHub. Nicht das wer auf die Idee kommt von der URL im ioBroker installieren zu wollen
Zum Download/WiKi geht es dann weiter per View on GitHubBisher geteste Stationen:
- BRESSER
- WLAN Farb-Wetter Center mit 5-in-1 Profi-Sensor V (1) @pandor
- WLAN Comfort Wetterstation mit 7-in-1 Profi-Sensor (1)
- ChiliTec Funk Wetterstation 12in1 @tege0
- DNT Weatherscreen PRO @Petersilie
- Ecowitt
- GW1000
- GW2000A
- GW3000A @MartyBr
- WS2910 @Nashra
- WS3800A @hoschi2007
- WS3900 @Mike77
- ELV WS980WiFi @sonystar
- Eurochron EFWS2900 @Latzi, @ilovegym, @SBorg (baugleich mit Ambient Weather WS-2902, Chilitec CTW-902, Sainlogic 10 in 1)
- Froggit
- Gateway/USB-Dongle DP1500/DP2000 @Boronsbruder
- HP1000SE Pro @Stormbringer
- WH3000 SE @ToxSox, @crunchip
- WH4000 SE @unltdnetworx, @Glasfaser, @Negalein, @Boronsbruder
- WH6000 Pro @Mugel80
- Renkforce WH2600
- Sainlogic
- Ventus W830 @CiroCool, @Rushmed
(1) Abfrage per DNS-Server wie bspw. PiHole oder dnsmasq
Bisher unterstütze Zusatzsensoren per Station oder mittels DP1500/DP2000/GW1000/GW2000A - Gateway:
- bis zu 8 Stück DP35/WN34 Wassertemperatur-Sensoren
- ein DP40/WH32 (bzw. WH26) Außentemperatur- und Luftfeuchtigkeitssensor
- bis zu 8 Stück DP50/WH31 Temperatur-/Luftfeuchtigkeit-Sensoren
- ein DP60/WH57 Blitzsensor
- bis zu 4 Stück DP70/WH55 Wasserleckage-Sensoren
- bis zu 16 Stück DP100/WH51 Bodenfeuchte-Sensoren
- bis zu 4 Stück DP200/WH43 PM2.5 Feinstaub-Sensoren
- ein DP250/WH45 5-In-1 CO2 / PM2.5 / PM10 / Temperatur / Luftfeuchte Innenraumsensor
- ein DP300/WS68 Solarunterstütztes Anemometer mit UV-Lichtsensor
- ein WH31 (bzw. WH25) Sensor
- ein WH40H Sensor
- ein WS80 Sensor
- ein WS90 "Wittboy" Sensor
- BRESSER (1)
- bis zu 4 Stück(2) BRESSER Thermo-/Hygro-Sensor 7 Kanal #7009999
Für den WFC01 hat @Rand nun hier und folgende ein kleines Javascript gebaut, um diesen auch auslesen zu können.
(1) nicht alle Bresser-Stationen unterstützen Zusatzsensoren! siehe hier
(2) durch das verwendete Wunderground-Protokoll limitiertDie mögliche Anzahl der Zusatzsensoren ist nicht durch das Skript begrenzt, sondern wird vom Display und/oder Gateway bestimmt.
Es besteht ferner auch die Möglichkeit Stationen (wie bspw. Sainlogic Profi Wlan Wetterstation FT0300) einzubinden die nicht per WS View[+] App konfiguriert werden können und nur ein Web-Interface bieten, dass keine Angabe eines eigenen Wetterdienst-Servers zulässt. Hierfür kann man den Umweg eines eigenen DNS-Servers wie dnsmasq oder Pi-hole gehen. Für Pi-hole hat @XxJooO freundlicherweise hier im Forum eine ausführliche Doku erstellt: klick mich
Wäre schön wenn sich weitere User mit entsprechenden Modellen melden bei denen es funktioniert (auch wenn es baugleiche sein sollten, so ist man sich wenigstens sicher
)Update von einer Vorgängerversion (bei Nutzung per systemd):
Im Installationsverzeichnis
./ws_updater.shausführen.
Alternativ (falls die aktuell installierte Version kleiner als V2.12.0 ist): im Installationsverzeichnisbash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)ausführenUpdate von einer Vorgängerversion (bei Nutzung als cronjob):
Am besten das laufende Skript mit
pkill -9 wetterstation.shstoppen, wetterstation.sh und -.sub ersetzen (-.conf und -.js nur nach Aufforderung nötig; conf dann neu konfigurieren / js ersetzen und einmalig ausführen), dann entweder- direkt am Linux-Client
./wetterstation.sh & - oder per Putty oä.
nohup ./wetterstation.sh &(erzeugt dabei eine Datei nohup.out) - oder reboot des Systemes (Skript wird dann per cronjob wieder gestartet)
jeweils im Installationsverzeichnis ausführen. Sonst befindet sich ggf. noch das alte Skript im RAM und läuft munter bis zum nächsten Reboot weiter

Beispiele einer grafischen Umsetzung:
@Glasfaser: View / zum Beitrag

@crunchip: Grafana / zum Beitrag

Wetterstation-Statistik (JS-Addon)
Statistikmodul als Javascript. Liefert diverse Statistiken:

Javascript für eine HTML-Tabelle vorheriger Monatswerte ( @liv-in-sky ) :


zum ThreadNeues Projekt PimpMyStation (14.11.2020)
Kein Support per PM/Chat !
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
nohup ./wetterstation.sh &
für was ist das genau?
habe ich in putty ausgeführtroot@IoBroker:~# pkill -9 wetterstation.* root@IoBroker:~# cd /home/iobroker root@IoBroker:/home/iobroker# nohup ./wetterstation.sh & [1] 21146 root@IoBroker:/home/iobroker# nohup: ignoriere Eingabe und hänge Ausgabe an 'noh up.out' anhab nun

-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
nohup ./wetterstation.sh &
für was ist das genau?
habe ich in putty ausgeführtroot@IoBroker:~# pkill -9 wetterstation.* root@IoBroker:~# cd /home/iobroker root@IoBroker:/home/iobroker# nohup ./wetterstation.sh & [1] 21146 root@IoBroker:/home/iobroker# nohup: ignoriere Eingabe und hänge Ausgabe an 'noh up.out' anhab nun

@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
für was ist das genau?
Ist eigentlich ein recht simples Problem. Wenn du bspw. ein Skript in einer Putty-Session startest, läuft es nur solange auch die Session "offen" ist. Schließt/beendest du die Putty-Session, wird auch das gestartete Skript beendet. "nohup" verhindert das, schreibt aber dafür die Ausgabe in "nohup.out".
Eine Möglichkeit wäre noch "screen". Müsste man aber erst mal probieren, oder halt ein reboot, dann startet es über den cronjob. -
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
für was ist das genau?
Ist eigentlich ein recht simples Problem. Wenn du bspw. ein Skript in einer Putty-Session startest, läuft es nur solange auch die Session "offen" ist. Schließt/beendest du die Putty-Session, wird auch das gestartete Skript beendet. "nohup" verhindert das, schreibt aber dafür die Ausgabe in "nohup.out".
Eine Möglichkeit wäre noch "screen". Müsste man aber erst mal probieren, oder halt ein reboot, dann startet es über den cronjob.@SBorg irgendwie hatte ich heut Probleme, das script wieder zum laufen zu bekommen, musste zweimal meine VM neu starten. Keine Ahnung warum, aber läuft wieder.
hab noch bisschen am Dashboard gebastelt

.. keine Ahnung ......