NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@a200 said in [Linux Shell-Skript] WLAN-Wetterstation:
nc -nlvw 1 -p 8181|tail -1
Passiert nichts:

Woher weiß ich denn, ob das der richtige Port ist ? Welcher Port denn ?
Ich habe folgende WS:


@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Passiert nichts:
Woher weiß ich denn, ob das der richtige Port ist ? Welcher Port denn ?
mach malgrep WS_PORT wetterstation.confdann wird die Portnummer angezeigt
-
...und weil es so schön war und euch nicht langweilig wird...
@a200 + meiner einer proudly presents
Neue Beta des WLAN-Wetterstation-Skriptes auf GitHub V2.0.0
- + Unterstützung des Gateways und Zusatzsensoren (@a200)
- + Protokoll (wunderground oder ecowitt) wählbar
Wie immer zu finden im GitHub
Bitte die neue Update-Routine beachten (siehe WiKi). Ihr erspart euch damit das händische konfigurieren der wetterstation.conf ;)
Die V2.0.0 unterstützt entweder das Wunderground- oder Ecowitt-Protokoll (umstellen per WS View App + Einstellung in der conf; WiKi-Doku folgt). Leider hat jedes Vor- und Nachteile. Warum es hier Differenzen gibt ist mir nicht klar, aber bei Ecowitt gibt es bspw. keinen Chillfaktor/Taupunkt, dafür aber eine Gesamtregenmenge usw.
Die maßgebliche Änderung (thx @a200 ) betrifft aber die Unterstützung des Gateways mit Zusatzsensoren (aktuell DP50 und DP100).Wenn man bei WU bleibt, sollte man bestenfalls keine Änderung bemerken. Bei Ecowitt kommen DPs hinzu, andere fallen leider weg. Muss jeder selbst entscheiden was ihm wichtig ist. Wegen neuer Datenpunkte ist diesmal auch ein Update des JS-Skriptes (wetterstation.js) nötig. Wer ein Gateway + DP50/100 - Sensoren nutzt/nutzen möchte, muss dies in der conf explizit aktivieren/konfigurieren und zusätzlich im JS noch GATEWAY=true; setzen damit die nötigen DPs angelegt werden.
Das verhalten des "Kommunikationsfehlers" hat sich dahingehend geändert, dass nun bei 10 aufeinanderfolgenden Fehlern erst ein false ausgelöst wird. Dies wird auch nicht automatisch resettet (außer beim Neustart des Skriptes).
Das sollte dann in etwa (bei 30 Sekunden Intervall der Station) einer 5 minütigen Empfangsunterbrechung entsprechen. Ich denke mal, da kann man dann wirklich von einem Problem wie bspw. leeren Batterien etc. reden... ;)...und jetzt viel Spaß beim testen. Da der Umbau, wenn auch so nicht offensichtlich, recht umfangreich war, sind ev. noch Fehler zu erwarten (eigentlich nur falsche/fehlende Werte, also bitte hier ein besonderes Augenmerk darauf).
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 + meiner einer proudly presents
gleich gemacht und funktioniert :)
-
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Passiert nichts:
Woher weiß ich denn, ob das der richtige Port ist ? Welcher Port denn ?
mach malgrep WS_PORT wetterstation.confdann wird die Portnummer angezeigt
Das ist, glaube ich, auch nicht das erwartete Ergebnis, oder ?
-
Das ist, glaube ich, auch nicht das erwartete Ergebnis, oder ?
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das ist, glaube ich, auch nicht das erwartete Ergebnis, oder ?
fast! ;-) mach mal jetzt nur
nc -nlvw 1 -p 80 -
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das ist, glaube ich, auch nicht das erwartete Ergebnis, oder ?
fast! ;-) mach mal jetzt nur
nc -nlvw 1 -p 80root@iobrokerraspi:/home/iobroker# nc -nlvw 1 -p 80 Listening on [0.0.0.0] (family 2, port 80) Connection from 192.168.178.187 11914 received! GET /weatherstation/updateweatherstation.php?ID=IRETHW1&PASSWORD=xxxxxxxx&indoortempf=71.8&indoorhumidity=41&tempf=47.1&humidity=98&temp1f=47.9&humidity1=98&dewptf=46.6&windchillf=47.1&absbaromin=29.75&baromin=29.72&windspeedmph=2.9&windgustmph=3.8&winddir=55&windspdmph_avg2m=2.5&winddir_avg2m=88&windgustmph_10m=2.0&windgustdir_10m=94&dailyrainin=0.37&weeklyrainin=0.47&monthlyrainin=0.51&solarradiation=0.0&UV=1&dateutc=2020-12-15%2019:12:59&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0 Accept: */* Host: rtupdate.wunderground.com Connection: Close -
root@iobrokerraspi:/home/iobroker# nc -nlvw 1 -p 80 Listening on [0.0.0.0] (family 2, port 80) Connection from 192.168.178.187 11914 received! GET /weatherstation/updateweatherstation.php?ID=IRETHW1&PASSWORD=xxxxxxxx&indoortempf=71.8&indoorhumidity=41&tempf=47.1&humidity=98&temp1f=47.9&humidity1=98&dewptf=46.6&windchillf=47.1&absbaromin=29.75&baromin=29.72&windspeedmph=2.9&windgustmph=3.8&winddir=55&windspdmph_avg2m=2.5&winddir_avg2m=88&windgustmph_10m=2.0&windgustdir_10m=94&dailyrainin=0.37&weeklyrainin=0.47&monthlyrainin=0.51&solarradiation=0.0&UV=1&dateutc=2020-12-15%2019:12:59&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0 Accept: */* Host: rtupdate.wunderground.com Connection: Close@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du hast das Protokoll auf der WS nicht auf ecowitt umgestellt. Das musst du noch machen.
-
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du hast das Protokoll auf der WS nicht auf ecowitt umgestellt. Das musst du noch machen.
-
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 Habe ich jetzt geändert:
nein, hast du nicht. du muss es in der WS-APP

unter Punkt 2 einstellen. Alle andere Einstellungen kannst du so behalten. Erst dann wird deine WS das ecowitt Protokoll verwenden und wird wieder alles gut sein. Im Worst-Case schalten wir wieder zurück. Also keine Sorgen -
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 Habe ich jetzt geändert:
nein, hast du nicht. du muss es in der WS-APP

unter Punkt 2 einstellen. Alle andere Einstellungen kannst du so behalten. Erst dann wird deine WS das ecowitt Protokoll verwenden und wird wieder alles gut sein. Im Worst-Case schalten wir wieder zurück. Also keine Sorgen@a200 Jetzt drehen wir uns irgendwie im Kreis. Bei meinem Einstieg in dieses Thema begann ich damit, dass ich keine unterstützte Apps für diese WS gefunden habe.
Mein Dialog, der bei der Ersteinrichtung von der WS zur Verfügung gestellt wird, sieht wie folgt aus:

Wo soll ich da das Protokoll umstellen ?
-
@a200 Jetzt drehen wir uns irgendwie im Kreis. Bei meinem Einstieg in dieses Thema begann ich damit, dass ich keine unterstützte Apps für diese WS gefunden habe.
Mein Dialog, der bei der Ersteinrichtung von der WS zur Verfügung gestellt wird, sieht wie folgt aus:

Wo soll ich da das Protokoll umstellen ?
@Legoracer70 ok. jetzt verstehe ich. Du best DER Typ! Also. Deine WS unterstützt nur wundergroud und kein ecowitt also das POST-Protokoll. Damit kannst du aber gut leben. Aber:
- Deine WS sendet keine Infos zu der Regenmenge. Dieser Wert wird aber für weitere Berechnungen von @SBorg benötigt was zu den Fehlermeldungen führt. (negativ)
- Daten deines DP50 Sensor werden bei anderen Stationen nur über POST gesendet, bei dir jedoch bei GET. Ich kann das Skript so anpassen, dass du auch die Wert aus dem DP50 bekommst. (positiv)
- Deine WS sendet noch andere Werte, die bei dir jedoch anders heißen als bei den übrigen WS. Aber auch das lässt sich anpassen.
Gedulde dich ein wenig. Stelle deine Conf-Datei wieder auf die vorherigen Einstellungen. Ich schau wie aufwendig es wird das zu patchen.
-
@Legoracer70 ok. jetzt verstehe ich. Du best DER Typ! Also. Deine WS unterstützt nur wundergroud und kein ecowitt also das POST-Protokoll. Damit kannst du aber gut leben. Aber:
- Deine WS sendet keine Infos zu der Regenmenge. Dieser Wert wird aber für weitere Berechnungen von @SBorg benötigt was zu den Fehlermeldungen führt. (negativ)
- Daten deines DP50 Sensor werden bei anderen Stationen nur über POST gesendet, bei dir jedoch bei GET. Ich kann das Skript so anpassen, dass du auch die Wert aus dem DP50 bekommst. (positiv)
- Deine WS sendet noch andere Werte, die bei dir jedoch anders heißen als bei den übrigen WS. Aber auch das lässt sich anpassen.
Gedulde dich ein wenig. Stelle deine Conf-Datei wieder auf die vorherigen Einstellungen. Ich schau wie aufwendig es wird das zu patchen.
@a200 ok :+1:
-
@a200 ok :+1:
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 ok :+1:
Also ich gehe davon aus, dass deine WS wieder Daten sendet. Wenn das der Fall ist, dann geht es weiter:
- In wetterstation.conf stelle:
ANZAHL_DP50=1- cp wetterstation.sub wetterstation.sub.org
- Die Datei wetterstation.sub bearbeiten:
a) Zeile 119 (if [ $WS_PROTOKOLL = 1 ]; then echo -e "$GR keine $WE"; else echo -e "\n"; fi) löschen
b) ab Zeile 581 bearbeiten und die Zeilen wie folgt auskommentieren.
581 # if [ $WS_PROTOKOLL = "1" ]; then 582 # MAXDEVICES=22 583 # else 584 MAXDEVICES=$(( 31 + $ANZAHL_DP50 * 6 + ANZAHL_DP100 * 4 )) 585 # fi Schau mal ob das so läuft. -
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 ok :+1:
Also ich gehe davon aus, dass deine WS wieder Daten sendet. Wenn das der Fall ist, dann geht es weiter:
- In wetterstation.conf stelle:
ANZAHL_DP50=1- cp wetterstation.sub wetterstation.sub.org
- Die Datei wetterstation.sub bearbeiten:
a) Zeile 119 (if [ $WS_PROTOKOLL = 1 ]; then echo -e "$GR keine $WE"; else echo -e "\n"; fi) löschen
b) ab Zeile 581 bearbeiten und die Zeilen wie folgt auskommentieren.
581 # if [ $WS_PROTOKOLL = "1" ]; then 582 # MAXDEVICES=22 583 # else 584 MAXDEVICES=$(( 31 + $ANZAHL_DP50 * 6 + ANZAHL_DP100 * 4 )) 585 # fi Schau mal ob das so läuft.@a200 Soweit Alles angepasst.
Hier kommt das Ergebnis:


Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=22.22&javascript.0.Wetterstation.Aussentemperatur=8.50&javascript.0.Wetterstation.Taupunkt=8.22&javascript.0.Wetterstation.Chillfaktor=8.50&javascript.0.Wetterstation.Innenfeuchtigkeit=41&javascript.0.Wetterstation.Aussenfeuchtigkeit=98&javascript.0.Wetterstation.Wind=1.77&javascript.0.Wetterstation.Wind_max=2.57&javascript.0.Wetterstation.Windrichtung=72&javascript.0.Wetterstation.Druck_absolut=1008.46&javascript.0.Wetterstation.Druck_relativ=1007.45&javascript.0.Wetterstation.Regen_Tag=10.1&javascript.0.Wetterstation.Regen_Woche=12.9&javascript.0.Wetterstation.Regen_Monat=13.7&javascript.0.Wetterstation.Regen_Jahr=0&javascript.0.Wetterstation.Sonnenstrahlung=0.0&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Zeitstempel=15.12.2020%2021:57:59&javascript.0.Wetterstation.DP50.1.Temperatur=9.11&javascript.0.Wetterstation.DP50.1.Feuchtigkeit=97&javascript.0.Wetterstation.Regenstatus=&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Windrichtung_Text=ONODATA von Wetterstation:
GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=72.0&indoorhumidity=41&tempf=47.3&humidity=98&temp1f=48.4&humidity1=97&dewptf=46.8&windchillf=47.3&absbaromin=29.78&baromin=29.75&windspeedmph=1.1&windgustmph=1.6&winddir=72&windspdmph_avg2m=1.1&winddir_avg2m=91&windgustmph_10m=0.7&windgustdir_10m=87&dailyrainin=0.4&weeklyrainin=0.51&monthlyrainin=0.54&yearlyrainin=0&solarradiation=0.0&UV=0&dateutc=2020-12-15%2020:57:59&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0
Entspricht das den Erwartungen ?
-
@a200 Soweit Alles angepasst.
Hier kommt das Ergebnis:


Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=22.22&javascript.0.Wetterstation.Aussentemperatur=8.50&javascript.0.Wetterstation.Taupunkt=8.22&javascript.0.Wetterstation.Chillfaktor=8.50&javascript.0.Wetterstation.Innenfeuchtigkeit=41&javascript.0.Wetterstation.Aussenfeuchtigkeit=98&javascript.0.Wetterstation.Wind=1.77&javascript.0.Wetterstation.Wind_max=2.57&javascript.0.Wetterstation.Windrichtung=72&javascript.0.Wetterstation.Druck_absolut=1008.46&javascript.0.Wetterstation.Druck_relativ=1007.45&javascript.0.Wetterstation.Regen_Tag=10.1&javascript.0.Wetterstation.Regen_Woche=12.9&javascript.0.Wetterstation.Regen_Monat=13.7&javascript.0.Wetterstation.Regen_Jahr=0&javascript.0.Wetterstation.Sonnenstrahlung=0.0&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Zeitstempel=15.12.2020%2021:57:59&javascript.0.Wetterstation.DP50.1.Temperatur=9.11&javascript.0.Wetterstation.DP50.1.Feuchtigkeit=97&javascript.0.Wetterstation.Regenstatus=&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Windrichtung_Text=ONODATA von Wetterstation:
GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=72.0&indoorhumidity=41&tempf=47.3&humidity=98&temp1f=48.4&humidity1=97&dewptf=46.8&windchillf=47.3&absbaromin=29.78&baromin=29.75&windspeedmph=1.1&windgustmph=1.6&winddir=72&windspdmph_avg2m=1.1&winddir_avg2m=91&windgustmph_10m=0.7&windgustdir_10m=87&dailyrainin=0.4&weeklyrainin=0.51&monthlyrainin=0.54&yearlyrainin=0&solarradiation=0.0&UV=0&dateutc=2020-12-15%2020:57:59&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0
Entspricht das den Erwartungen ?
@Legoracer70 Das ist jetzt schon besser. Du hast deinen Zusatzsensor. Die Probleme mit der Zeile 255 kommen von dem fehlenden Regenwert. Zu den Berechnungen wird dir @SBorg mehr sagen können. Sonst sieht es gar nicht so schlecht aus. Dementsprechend solltest du deine Werte auch im IoBroker sehen. Fehlt dir noch ein Wert, oder sind die vollständig?
Diese Werte liefert deine WS:
- indoortempf=72.0& :white_check_mark:
- indoorhumidity=41& :white_check_mark:
- tempf=47.3& :white_check_mark:
- humidity=98& :white_check_mark:
- temp1f=48.4& :white_check_mark:
- humidity1=97& :white_check_mark:
- dewptf=46.8& :white_check_mark:
- windchillf=47.3& :white_check_mark:
- absbaromin=29.78& :white_check_mark:
- baromin=29.75& :white_check_mark:
- windspeedmph=1.1& :white_check_mark:
- windgustmph=1.6& :white_check_mark:
- winddir=72& :white_check_mark:
- windspdmph_avg2m=1.1& :x:
- winddir_avg2m=91& :x:
- windgustmph_10m=0.7& :x:
- windgustdir_10m=87& :x:
- dailyrainin=0.4& :white_check_mark:
- weeklyrainin=0.51& :white_check_mark:
- monthlyrainin=0.54& :white_check_mark:
- solarradiation=0.0& :white_check_mark:
- UV=0& :white_check_mark:
- dateutc=2020-12-15%2020:57:59& :white_check_mark:
Und die meisten davon werden verarbeitet und an IoBroker gesendet (:white_check_mark:). Jetzt kannst du versuchen herauszufinden welche Werte nicht verarbeitet werden (:x:). Imho brauchst du diese nicht.
-
@Legoracer70 Das ist jetzt schon besser. Du hast deinen Zusatzsensor. Die Probleme mit der Zeile 255 kommen von dem fehlenden Regenwert. Zu den Berechnungen wird dir @SBorg mehr sagen können. Sonst sieht es gar nicht so schlecht aus. Dementsprechend solltest du deine Werte auch im IoBroker sehen. Fehlt dir noch ein Wert, oder sind die vollständig?
Diese Werte liefert deine WS:
- indoortempf=72.0& :white_check_mark:
- indoorhumidity=41& :white_check_mark:
- tempf=47.3& :white_check_mark:
- humidity=98& :white_check_mark:
- temp1f=48.4& :white_check_mark:
- humidity1=97& :white_check_mark:
- dewptf=46.8& :white_check_mark:
- windchillf=47.3& :white_check_mark:
- absbaromin=29.78& :white_check_mark:
- baromin=29.75& :white_check_mark:
- windspeedmph=1.1& :white_check_mark:
- windgustmph=1.6& :white_check_mark:
- winddir=72& :white_check_mark:
- windspdmph_avg2m=1.1& :x:
- winddir_avg2m=91& :x:
- windgustmph_10m=0.7& :x:
- windgustdir_10m=87& :x:
- dailyrainin=0.4& :white_check_mark:
- weeklyrainin=0.51& :white_check_mark:
- monthlyrainin=0.54& :white_check_mark:
- solarradiation=0.0& :white_check_mark:
- UV=0& :white_check_mark:
- dateutc=2020-12-15%2020:57:59& :white_check_mark:
Und die meisten davon werden verarbeitet und an IoBroker gesendet (:white_check_mark:). Jetzt kannst du versuchen herauszufinden welche Werte nicht verarbeitet werden (:x:). Imho brauchst du diese nicht.
@a200 Sieht erstmal ganz gut aus :+1: :+1: :+1:
Ich werde das morgen mal etwas genauer betrachten :blush:Danke erstmal :blush:
-
@Grantlhaua Ok, der ist im wahrsten Sinne des Wortes "tot"...
Wie sieht denn dein Systemd-Skript aus:cat /etc/systemd/system/wetterstation.service
Username oä. im Pfad bitte "xxx"-enParallel dazu löst dies ev. auch schon dein Problem, einfach nochmal aus- und wieder einschalten:
systemctl disable wetterstation, dann wiedersystemctl enable wetterstationServus,
das hab ich schon alles probiert. ohne Erfolg.
Es funktioniert ja, wenn ichs einmal starte, wenn dann aber mal kurz der Strom weg ist, wird das Script beim NEustart nicht mit gestartet. :(
-
Servus,
das hab ich schon alles probiert. ohne Erfolg.
Es funktioniert ja, wenn ichs einmal starte, wenn dann aber mal kurz der Strom weg ist, wird das Script beim NEustart nicht mit gestartet. :(
@Grantlhaua den cronjob richtig eingerichtet?
-
@Grantlhaua den cronjob richtig eingerichtet?
ich hab vor ein paar tagen alles mithilfe der anleitung kontrolliert und keinen Fehler gefunden. Ich denke das ist irgend ne Kleinigkeit, die falsch ist.
-
ich hab vor ein paar tagen alles mithilfe der anleitung kontrolliert und keinen Fehler gefunden. Ich denke das ist irgend ne Kleinigkeit, die falsch ist.
@Grantlhaua hmm, mir ist gestern der proxmox rechner abgekackt, nach neustart hat sich das script allerdings wieder gestartet...
deswegen meine frage nach dem cron. -
@Grantlhaua hmm, mir ist gestern der proxmox rechner abgekackt, nach neustart hat sich das script allerdings wieder gestartet...
deswegen meine frage nach dem cron.ich poste mal bei Gelgenheit was ich alles gemacht und eingetragen hab. Vielleicht findet ihr den Fehler.
Danke!




