NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@boronsbruder ja, das war es! Danke!!!!
-
Ich habe es vorgestern gesehen und hatte gleich den "Meteorologischen Sommer" im Verdacht, da der zum 01.06. wieder ausgeführt wird. Deswegen liefert die händische Ausführung auch keinen Wert (s.u.). Wie der (oder ich) aber den Dreher beim Jahr hinbekommt ist mir nach wie vor schleierhaft. Da ich faul = nur C&P
Da das aber per "putty" über die Zwischenablage meines Windoof-Rechners läuft, spinnt da wohl ab und an mal die Autokorrektur (oder grätscht da rein).Nach Update (kommt gleich ) liefert dann auch ein
./wetterstation.sh --metsommer
wieder zumindest einen Temperaturwert (was mit der V3.0.0 nicht funktioniert). Regen war hier schon seit 3 Wochen keiner mehr... -
Bugfix - Release für V3.0.0:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V3.1.0
- + Windböe max für Stationen die den Wert nicht liefern
- + Option "k" für selbstsignierte Zertifikate bei der Influx-Abfrage hinzugefügt
- + Paramter "--influx_test" zum test der Influx-Konnektivität
- + Fix "MetSommer" (Skript bleibt bei den Mitternachtjobs hängen)
Wie immer zu finden im GitHub
Update-Routine von Vorgängerversion:
- aktuellen WS-Updater nutzen (Download falls älter als V2.12.1:
wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh
) ./ws_updater.sh
im Installationsverzeichnis ausführen- Menüpunkt "4" wählen und die Fragen beantworten
Update muss durchgeführt werden, da dass Skript sonst von Juni-August nicht läuft.
Die Release-Version ist nicht mit dem letzten Beta-Release identisch! Betatester tauschen bitte die ".sh" und ".sub" aus und restarten den Service.
-
trotz update ist das script wieder stehen geblieben
● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2023-06-03 11:04:39 CEST; 13h ago Main PID: 1612921 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.8M CPU: 24min 53.187s CGroup: /system.slice/wetterstation.service ├─1612921 /bin/bash /home/chris/wetterstation.sh ├─2241504 /bin/bash /home/chris/wetterstation.sh ├─2241505 timeout 38 nc -nlvw 1 -p 1080 ├─2241506 tail -1 └─2241507 nc -nlvw 1 -p 1080 Jun 04 00:36:23 ioBroker wetterstation.sh[2241411]: (standard_in) 1: syntax error Jun 04 00:36:40 ioBroker wetterstation.sh[2241422]: jq: error (at <stdin>:1): null (null) and number (2) cannot be divided Jun 04 00:36:40 ioBroker wetterstation.sh[2241424]: (standard_in) 12: syntax error Jun 04 00:36:40 ioBroker wetterstation.sh[2241436]: (standard_in) 1: syntax error Jun 04 00:37:11 ioBroker wetterstation.sh[2241454]: jq: error (at <stdin>:1): null (null) and number (2) cannot be divided Jun 04 00:37:11 ioBroker wetterstation.sh[2241456]: (standard_in) 12: syntax error Jun 04 00:37:11 ioBroker wetterstation.sh[2241468]: (standard_in) 1: syntax error Jun 04 00:37:32 ioBroker wetterstation.sh[2241488]: jq: error (at <stdin>:1): null (null) and number (2) cannot be divided Jun 04 00:37:32 ioBroker wetterstation.sh[2241490]: (standard_in) 12: syntax error Jun 04 00:37:33 ioBroker wetterstation.sh[2241502]: (standard_in) 1: syntax error
-
@chris76e sagte in [Linux Shell-Skript] WLAN-Wetterstation:
trotz update ist das script wieder stehen geblieben
dito
dietpi@DietPi:~$ sudo systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2023-06-03 13:12:07 CEST; 12h ago Main PID: 32617 (wetterstation.s) Tasks: 5 (limit: 264) Memory: 3.2M CGroup: /system.slice/wetterstation.service ├─ 3746 /bin/bash /home/iobroker/wetterstation.sh ├─ 3747 timeout 38 nc -nlvw 1 -p 1080 ├─ 3748 tail -1 ├─ 3749 nc -nlvw 1 -p 1080 └─32617 /bin/bash /home/iobroker/wetterstation.sh Jun 04 01:32:13 DietPi wetterstation.sh[32617]: (standard_in) 1: syntax error Jun 04 01:32:14 DietPi wetterstation.sh[32617]: (standard_in) 1: syntax error Jun 04 01:32:45 DietPi wetterstation.sh[32617]: jq: error (at <stdin>:1): null (null) and number (2) cannot be divided Jun 04 01:32:45 DietPi wetterstation.sh[32617]: (standard_in) 12: syntax error Jun 04 01:32:45 DietPi wetterstation.sh[32617]: (standard_in) 1: syntax error Jun 04 01:32:45 DietPi wetterstation.sh[32617]: (standard_in) 1: syntax error Jun 04 01:33:15 DietPi wetterstation.sh[32617]: jq: error (at <stdin>:1): null (null) and number (2) cannot be divided Jun 04 01:33:15 DietPi wetterstation.sh[32617]: (standard_in) 12: syntax error Jun 04 01:33:16 DietPi wetterstation.sh[32617]: (standard_in) 1: syntax error Jun 04 01:33:16 DietPi wetterstation.sh[32617]: (standard_in) 1: syntax error dietpi@DietPi:~$
-
@SBorg
FIX ist wahrscheinlichZeile 1320 PREDP in PRE_DP ändern
Richtig:
--data 'from(bucket: "'${INFLUX_BUCKET}'") |> range(start: '${FLUXSTART}', stop: '${FLUXENDE}') |> filter(fn: (r) => r._measurement == "'${PRE_DP}'.Regen_Tag" and r._field == "value") |> aggregateWindow(every: 1d, fn: max) |> sum()')
./wetterstation.sh --metsommer Daten vom 01.06.2023 bis 31.08.2023 wurden ermittelt... Ø-Temperatur: 19.47 °C Regenmenge : 0 l/m²
-
Hallo
Bei mir bleibt das Script um 23:58 Uhr stehen. Update habe ich auch ausgeführt.
Hat einer schon eine Lösung?
Gruß
-
Bei mir auch, die Temp blieb bei 16.6 Grad stehen und aktuell hat es 18.88
hab mal den change in wetterstation.sub Zeile 1320 wie von @Boronsbruder vorgeschlagen geändert - mal sehen.
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
FIX ist wahrscheinlich
Zeile 1320 PREDP in PRE_DP ändernIst zumindest eindeutig noch ein Fehler
Ich will jetzt nicht noch ein ungetestetes Release raus bringen, deswegen können "Mutige" (keine Angst, geht nix kaputt, nur ist ev. noch ein Fehler drin...)
- können die Änderung von @Boronsbruder einpflegen
- oder bis zum neuen Release um Mitternacht das Skript restarten
- oder in der wetterstation.sh ziemlich weit unten bei den "Mitternachtjobs" vor die Zeile
metsommer #meteorologischer Sommer Durchschnittstemperatur und Regenmenge
einfach eine # davor machen.
# metsommer #meteorologischer Sommer Durchschnittstemperatur und Regenmenge
Damit wird die Funktion nicht mehr ausgeführt und das Skript läuft normal durch. Datenverlust gibt das keinen, da eh immer vom 01.06. bis 31.08. kpl. per Influx abgefragt wird. Nur stehen halt für die nächsten 1-2 Tage keine aktuellen Daten des Met. Sommers zur Verfügung.
Das war jetzt aber ein Schei* Tippfehler...
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
können die Änderung von @Boronsbruder einpflegen
ich werde um Mitternacht dann berichten.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
können die Änderung von @Boronsbruder einpflegen
nope, das wars nicht
dietpi@DietPi:~$ sudo systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2023-06-04 13:42:28 CEST; 10h ago Main PID: 23942 (wetterstation.s) Tasks: 5 (limit: 264) Memory: 3.2M CGroup: /system.slice/wetterstation.service ├─ 3567 /bin/bash /home/iobroker/wetterstation.sh ├─ 3568 timeout 38 nc -nlvw 1 -p 1080 ├─ 3569 tail -1 ├─ 3570 nc -nlvw 1 -p 1080 └─23942 /bin/bash /home/iobroker/wetterstation.sh Jun 04 13:42:28 DietPi systemd[1]: Started Service für ioBroker Wetterstation. Jun 04 13:42:28 DietPi wetterstation.sh[23942]: Connection to 10.0.1.202 8087 port [tcp/*] succeeded! Jun 04 23:58:33 DietPi wetterstation.sh[23942]: (standard_in) 1: syntax error Jun 04 23:58:33 DietPi wetterstation.sh[23942]: (standard_in) 1: syntax error Jun 04 23:59:05 DietPi wetterstation.sh[23942]: (standard_in) 1: syntax error Jun 04 23:59:05 DietPi wetterstation.sh[23942]: (standard_in) 1: syntax error
dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --metsommer Daten vom 01.06.2023 bis 31.08.2023 wurden ermittelt... Ø-Temperatur: °C Regenmenge : 0 l/m²
-
@negalein
hab auch eine neue Fehlermeldung:
und keine Regendaten, zumindest Regen Jahr sollten lt. Station 314,5mm übertragen werden:
-
und irgendwann nach Mitternacht stand es wieder
dietpi@DietPi:~$ sudo systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2023-06-04 23:59:26 CEST; 1h 20min ago Main PID: 3577 (wetterstation.s) Tasks: 5 (limit: 264) Memory: 3.0M CGroup: /system.slice/wetterstation.service ├─ 3577 /bin/bash /home/iobroker/wetterstation.sh ├─10803 /bin/bash /home/iobroker/wetterstation.sh ├─10804 timeout 38 nc -nlvw 1 -p 1080 ├─10805 tail -1 └─10806 nc -nlvw 1 -p 1080 Jun 05 01:18:38 DietPi wetterstation.sh[3577]: (standard_in) 1: syntax error Jun 05 01:18:38 DietPi wetterstation.sh[3577]: (standard_in) 1: syntax error Jun 05 01:19:09 DietPi wetterstation.sh[3577]: jq: error (at <stdin>:1): null (null) and number (2) cannot be divided Jun 05 01:19:09 DietPi wetterstation.sh[3577]: (standard_in) 12: syntax error Jun 05 01:19:09 DietPi wetterstation.sh[3577]: (standard_in) 1: syntax error Jun 05 01:19:09 DietPi wetterstation.sh[3577]: (standard_in) 1: syntax error Jun 05 01:19:39 DietPi wetterstation.sh[3577]: jq: error (at <stdin>:1): null (null) and number (2) cannot be divided Jun 05 01:19:39 DietPi wetterstation.sh[3577]: (standard_in) 12: syntax error Jun 05 01:19:40 DietPi wetterstation.sh[3577]: (standard_in) 1: syntax error Jun 05 01:19:40 DietPi wetterstation.sh[3577]: (standard_in) 1: syntax error
-
Ich würde auch helfen das Problem einzugrenzen, habe aber die Kinder zu Hause wegen Ferien und versuche nebenbei irgendwie noch zu Arbeiten.
Ich kann aber zumindest bestätigen, dass das Deaktivieren der metsommer Funktion in der Datei wetterstation.sh das Skript normal durchlaufen lässt. -
@viper4iob Du hast schon geholfen, damit war/ist meine Vermutung richtig
Kleiner, aber entscheidender Fehler. Für die die es interessiert: der IFS (Internal Field Seperator) wird in der "metsommer"-Routine (global) verändert. Der wird dann aber später bei der darauffolgenden Berechnung der Regenmenge benötigt...
Simulation war erfolgreich, wenn es funktioniert folgt dann, soweit ich es schaffe, morgen ein Bugfix-Release.
Wer möchte:
In der wetterstation.sub in der Funktion "metsommer" (~ Zeile 1322)IFS=","
in
local IFS=","
ändern und Service restarten. Thats all...
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
local IFS=","
Änderung durchgeführt, aber da steht was von Stop und Start was vorher nicht war
jack@ioBroker:~$ sudo systemctl status wetterstation * wetterstation.service - Service fuer ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-06-05 10:50:14 CEST; 1min 26s ago Main PID: 3422963 (wetterstation.s) Tasks: 5 (limit: 18970) Memory: 2.6M CPU: 2.127s CGroup: /system.slice/wetterstation.service |-3422963 /bin/bash /home/jack/wetterstation.sh |-3424246 /bin/bash /home/jack/wetterstation.sh |-3424247 timeout 66 nc -nlvw 1 -p 9999 |-3424248 tail -1 `-3424249 nc -nlvw 1 -p 9999 Jun 05 10:50:14 ioBroker systemd[1]: wetterstation.service: Succeeded. Jun 05 10:50:14 ioBroker systemd[1]: Stopped Service fuer ioBroker Wetterstation. Jun 05 10:50:14 ioBroker systemd[1]: wetterstation.service: Consumed 1.414s CPU time. Jun 05 10:50:14 ioBroker systemd[1]: Started Service fuer ioBroker Wetterstation. Jun 05 10:50:14 ioBroker wetterstation.sh[3422980]: Connection to 192.168.1.14 8087 port [tcp/*] succeeded!
-
@nashra
versuch mal ein sudo systemctl restart wetterstationdann sieh dir den status nochmal an
-
@tritor sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra
versuch mal ein sudo systemctl restart wetterstationdann sieh dir den status nochmal an
Hatte ich schon gemacht weil es mir komisch vorkam,aber trotzdem diese Ausgabe.
Wieder in der .sub geändert, alles OK. -
Ich habe die Änderung mit dem IFS auch mal vorgenommen und sicherheitshalber eine Service Restart für 0:10 Uhr per cronjob hinterlegt, weil ich sonst wieder eine böse Mail von AWEKAS bekomme
Ich checke dann morgen, ob es Fehlermeldungen gab und gebe Rückmeldung.
Bei mir sieht der Status nach dem jetzigen Restart so aus:● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-06-05 13:30:17 CEST; 36s ago Main PID: 16570 (wetterstation.s) Tasks: 5 (limit: 6982) Memory: 2.8M CPU: 1.730s CGroup: /system.slice/wetterstation.service ├─16570 /bin/bash /opt/wetterstation/wetterstation.sh ├─18387 /bin/bash /opt/wetterstation/wetterstation.sh ├─18388 timeout 46 nc -nlvw 1 -p 1080 ├─18389 tail -1 └─18390 nc -nlvw 1 -p 1080 Jun 05 13:30:17 kubix systemd[1]: Started Service für ioBroker Wetterstation. Jun 05 13:30:17 kubix wetterstation.sh[16603]: Connection to 127.0.0.1 8087 port [tcp/*] succeeded!
-
Hi an die Experten,
Ich bin nochmals dran die Struktur des Scripts bei mir auf Letztstand zu bringen.
Dazu gehört der Umzug von javascript.0.Wetterstation auf 0_userdata.0.Wetterstation.Da ich viele Werte aus der Wetterstation in InfluxBD2 schon protokolliere, sind diese eben unter den measurements
javascript.0.Wetterstation.xxx in InfluxDB gespeichert.Transfer in neue measurements mit 0_userdata.0.Wetterstation.xxx hat @sborg schon mal kommentiert und zwar in InfluxDB2 eine Abfrage erstellen und diese in CSV exportieren. Dann im neuen measurement importieren.
Seit dem letzten Update von InfluxDB ist bei mir der CSV Export Button weg. Im Netz wird hingewiesen, anstatt http einfach https: zu verwenden.
Dies dürfte aber nicht so trivial sein, da nur die Eingabe von https://192.168.xxx.xxx/8086 im Browser nicht ausgeführt wird.
Frage: wie seid ihr vorgegangen um die Daten von javascript-Struktur an userdata-Struktur zu übertragen.
EDIT: gelöst, hab im NGINX Proxy Manager eine domain erstellt und damit geht es nun.