NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Jetzt wieder das selbe, script läuftt, werden aber keine Daten gesendet
chris@ioBroker:~$ 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 Fri 2023-06-02 21:49:00 CEST; 2h 12min ago Main PID: 1036946 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.8M CPU: 3min 49.066s CGroup: /system.slice/wetterstation.service ├─1036946 /bin/bash /home/chris/wetterstation.sh ├─1128667 /bin/bash /home/chris/wetterstation.sh ├─1128668 timeout 38 nc -nlvw 1 -p 1080 ├─1128669 tail -1 └─1128670 nc -nlvw 1 -p 1080 Jun 03 00:00:25 ioBroker wetterstation.sh[1128481]: (standard_in) 1: syntax error Jun 03 00:00:25 ioBroker wetterstation.sh[1036946]: /home/chris/wetterstation.sub: Zeile 1953: [: : Ganzzahliger Ausdruck erwartet. Jun 03 00:00:25 ioBroker wetterstation.sh[1128489]: (standard_in) 1: syntax error Jun 03 00:00:25 ioBroker wetterstation.sh[1128491]: (standard_in) 12: syntax error Jun 03 00:00:25 ioBroker wetterstation.sh[1128495]: (standard_in) 1: syntax error Jun 03 00:00:41 ioBroker wetterstation.sh[1128582]: (standard_in) 1: syntax error Jun 03 00:00:41 ioBroker wetterstation.sh[1128585]: (standard_in) 1: syntax error Jun 03 00:00:41 ioBroker wetterstation.sh[1036946]: /home/chris/wetterstation.sub: Zeile 1953: [: : Ganzzahliger Ausdruck erwartet. Jun 03 00:00:41 ioBroker wetterstation.sh[1128590]: (standard_in) 1: syntax error Jun 03 00:01:12 ioBroker wetterstation.sh[1128665]: (standard_in) 1: syntax error
-
@chris76e sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Jetzt wieder das selbe, script läuftt, werden aber keine Daten gesendet
Ja, bei mir auch.
Tritt pünktlich um Mitternacht auf.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 Fri 2023-06-02 20:55:12 CEST; 3h 8min ago Main PID: 31007 (wetterstation.s) Tasks: 5 (limit: 264) Memory: 3.1M CGroup: /system.slice/wetterstation.service ├─11762 /bin/bash /home/iobroker/wetterstation.sh ├─11763 timeout 38 nc -nlvw 1 -p 1080 ├─11764 tail -1 ├─11765 nc -nlvw 1 -p 1080 └─31007 /bin/bash /home/iobroker/wetterstation.sh Jun 03 00:01:46 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:01:46 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:02:16 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:02:16 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:02:48 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:02:48 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:03:18 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:03:18 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:03:50 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error Jun 03 00:03:51 DietPi wetterstation.sh[31007]: (standard_in) 1: syntax error
Ein
sudo systemctl restart wetterstation
hilft. -
Der Fehler liegt in der Berechnung des Meterologischen Sommers und tritt immer um 23:58 Uhr auf!
Ich warte mal heute Nacht noch ab, aber der Fix sollte folgendes sein:
@SBorg
ein Tippfehler in der wetterstation.sub Zeile 1293 und 1294 -> +Y% in +%Y ändern!Falsch:
local FLUXSTART=$(date +Y%-06-01)"T00:00:00Z" local FLUXENDE=$(date +Y%-08-31)"T23:59:59Z"
Richtig:
local FLUXSTART=$(date +%Y-06-01)"T00:00:00Z" local FLUXENDE=$(date +%Y-08-31)"T23:59:59Z"
-
@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