NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Kleines Zwischenrelease. Einige Displays scheinen bei der Temperatur "--" zu übertragen wenn die Funkverbindung zum Mast gestört ist. Daraus resultieren dann bei der Umrechnung °F --> °C Phantasiewerte von -5.xxx°C. Nicht gerade schön, gerade wenn es auch noch in der InfluxDB landet...
Mit dem neuen Release lässt sich dafür nun ein Fix in der "conf" aktivieren (FIX_AUSSENTEMP=true
per Default [false], also nicht aktiviert). Sollte die Temperatur unter dem "absoluten Nullpunkt" (-273°C) liegen, wird das Datenpaket verworfen und nichts an den ioB gesendet:Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.12.0
- + bei fehlerhafter Außentemperatur erfolgt keine Datenübertragung des Paketes an den ioB
Wie immer zu finden im GitHub
Update-Routine von Vorgängerversion:
- wetterstation.sh, wetterstation.sub und ws_updater.sh ersetzen
./ws_updater.sh --patch
im Installationsverzeichnis ausführen- nun mittels
sudo systemctl restart wetterstation
den Service neu starten
Mutige können auch mal direkt den Updater probieren
Im Installationsverzeichnis ausführen:
bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)
Dies wird zukünftig die bevorzugte Methode werden. Aktuell funktioniert er bei mir problemlos
Ein Update ist nicht zwingend erforderlich, sofern ihr kein Problem mit "Ausreißern" bei der Temperatur habt.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mutige können auch mal direkt den Updater probieren
funktioniert, bis auf die letzte Zeile
dietpi@DietPi:/home/iobroker$ bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) ┌────────────────────────┐ │ │ │ WS-Updater V2.12.0 │ │ │ └────────────────────────┘ 'bc' installiert: [✓] 'jq' installiert: [✓] 'unzip' installiert: [✓] 'patch' installiert: [✓] Aktuelle Version (latest) auf GitHub: V2.12.0 vom 26.03.2022 Version im aktuellen Verzeichnis : V2.11.0 Informationen zum Release V2.12.0: ───────────────────────────────────────────────────────────── Neu/Änderungen im Release: + bei fehlerhafter Außentemperatur erfolgt keine Datenübertragung des Paketes an den ioB Soll ein Update von WLAN-Wetterstation durchgeführt werden? [J/N]: J Führe Update aus... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 661 100 661 0 0 2503 0 --:--:-- --:--:-- --:--:-- 2513 100 30415 100 30415 0 0 56533 0 --:--:-- --:--:-- --:--:-- 56533 Archive: tmp.zip V2.12.0 inflating: wetterstation.js inflating: wetterstation.sh inflating: wetterstation.sub inflating: ws_updater.sh ┌────────────────────────┐ │ │ │ WS-Updater V2.12.0 │ │ │ └────────────────────────┘ Soll die wetterstation.conf nun auf eine neue Version gepatcht werden? [J/N]: J Lege Sicherungskopie der wetterstation.conf an... Patche wetterstation.conf auf V2.11.1 ... Fertig... Lege Sicherungskopie der wetterstation.conf an... Patche wetterstation.conf auf V2.12.0 ... Fertig... Parameter für FIX_AUSSENTEMP ggf. ändern. Per Default werden auch unplausible Messwerte an den ioB geschickt. Update ausgeführt. Soll der Service nun neu gestartet werden? [J/N]: J Failed to connect to bus: Datei oder Verzeichnis nicht gefunden dietpi@DietPi:/home/iobroker$
-
@negalein Danke, habe es eben (wohl) gefixt. Dein DietPi (bzw. Distri) will da anscheinend extra nochmals ein "sudo" für den Restart des Service. Eigentlich sollte der für ein paar Minuten gültig sein, aber ich hab es auch schlichtweg übersehen
Aber sonst hat alles so funktioniert wie es soll, selbst der Zwischenpatch von 2.11.0 nach 2.11.1
Falls noch nicht schon von dir ausgeführt:
sudo systemctl restart wetterstation.service
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Aber sonst hat alles so funktioniert wie es soll,
Ja, alles tutti completti!
-
@SBorg
Alles sauber -
@nashra Danke fürs Feedback, aber root...
Ich weiß, damit geht halt alles einfacher, keine nervenden Dauerabfragen nach Passwort usw., aber ich kann es jedem nur wärmstens ans Herz legen nicht als root zu arbeiten. Das ist in etwa so wie bei Tempo 130 auf der Autobahn als Fahrer die Augen zu zumachen. Funktioniert ja auch...
Kurze Frage in die Runde: spricht etwas dagegen, dass der "Auswerte-Client" (also der Rechner auf dem das Skript läuft) kein Internet hat?
Hintergrund ist einfach der, ich würde den Updater gerne ändern, so dass er die aktuelle Version von GitHub startet. Somit wäre man immer aktuell und braucht künftig nur noch./ws_updater.sh
starten. Danach kann man im Menü auswählen was man möchte. Per Fallback (=kein Inet) würde er dann halt die lokale Version starten.So zumindest mal der grobe Plan
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra Danke fürs Feedback, aber root...
Ich weiß, damit geht halt alles einfacher, keine nervenden Dauerabfragen nach Passwort usw., aber ich kann es jedem nur wärmstens ans Herz legen nicht als root zu arbeiten. Das ist in etwa so wie bei Tempo 130 auf der Autobahn als Fahrer die Augen zu zumachen. Funktioniert ja auch...Ich weiß und habe auch einen Benutzer, aber wie das manchmal so ist
Kurze Frage in die Runde: spricht etwas dagegen, dass der "Auswerte-Client" (also der Rechner auf dem das Skript läuft) kein Internet hat?
Hintergrund ist einfach der, ich würde den Updater gerne ändern, so dass er die aktuelle Version von GitHub startet. Somit wäre man immer aktuell und braucht künftig nur noch./ws_updater.sh
starten. Danach kann man im Menü auswählen was man möchte. Per Fallback (=kein Inet) würde er dann halt die lokale Version starten.So zumindest mal der grobe Plan
Gute Idee, also ich bin dafür und werde dann auch nur den Benutzer nehmen
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
braucht künftig nur noch ./ws_updater.sh starten
na das wär geil!
-
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
Kurze Frage in die Runde: spricht etwas dagegen, dass der "Auswerte-Client" (also der Rechner auf dem das Skript läuft) kein Internet hat?
Hintergrund ist einfach der, ich würde den Updater gerne ändern, so dass er die aktuelle Version von GitHub startet. Somit wäre man immer aktuell und braucht künftig nur noch./ws_updater.sh
starten. Danach kann man im Menü auswählen was man möchte. Per Fallback (=kein Inet) würde er dann halt die lokale Version starten.So zumindest mal der grobe Plan
Klingt gut
-
seit 26.3., 16:47 kommen keine Daten an.
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 Mon 2022-03-28 10:48:31 CEST; 7min ago Main PID: 277 (wetterstation.s) Tasks: 5 (limit: 264) Memory: 4.8M CGroup: /system.slice/wetterstation.service ├─ 277 /bin/bash /home/iobroker/wetterstation.sh ├─2977 /bin/bash /home/iobroker/wetterstation.sh ├─2978 timeout 38 nc -nlvw 1 -p 1080 ├─2979 sed -n 1 p └─2980 nc -nlvw 1 -p 1080 Mär 28 10:50:46 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:51:17 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:51:49 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:52:19 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:52:51 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:53:23 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:53:56 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:54:24 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:55:27 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected Mär 28 10:55:50 DietPi wetterstation.sh[277]: /home/iobroker/wetterstation.sh: line 266: [: -5572.77: integer expression expected
im ioBroker-Log seh ich haufenweise influxdb.0 Fehler
/ "{\"error\":\"timeout\"}\n"" 2022-03-28 02:00:35.030 - [32minfo[39m: influxdb.0 (520) Add point that had error for javascript.0.Wetterstation.Info.Temp_Aussen_24h_max to buffer again, error-count=1 2022-03-28 02:00:35.030 - [32minfo[39m: influxdb.0 (520) Add point that had error for javascript.0.Wetterstation.Info.Temp_Aussen_24h_max to buffer again, error-count=1
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
-5572.77
Das passiert eigentlich nur wenn das Display keinen Wert für die Außentemperatur schickt.
Je nachdem was du per WS-View+ App ggf. nutzt, Daten auf WU/Ecowitt sind Ok? Display zeigt auch aktuelle Temperatur an?Ev. sind einfach deine Batterien vom Mast alle?
Vor kurzem hat sich mein Display nach knapp 2 Jahren im 24/7-Betrieb verabschiedet. Genauen Fehler weiß ich jetzt nicht mehr, aber Batterien raus, Strom ab, eine Minute warten, Strom und Batterien an/rein, Service restarten und alles lief wieder
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ev. sind einfach deine Batterien vom Mast alle?
gerade gesehn, dass der Display keine Aussentemp anzeigt. Manchmal gehts, manchmal nicht.
Batterien haben wir vor ein paar Tagen getauscht.
2 Jahre?? Ich muss alle 8-9 Monate tauschen.
-
@sborg
Hallo,habe gerade den Updater "ausprobiert", hab aber eine Fehlermeldung bzgl. der Rechte für das Anlegen der tmp.zip Datei (s. unten):
┌────────────────────────┐ │ │ │ WS-Updater V2.12.0 │ │ │ └────────────────────────┘ Service läuft nicht im User-Kontext sondern unter User root... Soll nun auf User (empfohlen) umgestellt werden? [J/N]: J Done... Restarte Service... 'bc' installiert: [✓] 'jq' installiert: [✓] 'unzip' installiert: [✓] 'patch' installiert: [✓] Aktuelle Version (latest) auf GitHub: V2.12.0 vom 26.03.2022 Version im aktuellen Verzeichnis : V2.11.0 Informationen zum Release V2.12.0: ───────────────────────────────────────────────────────────── Neu/Änderungen im Release: + bei fehlerhafter Außentemperatur erfolgt keine Datenübertragung des Paketes an den ioB Soll ein Update von WLAN-Wetterstation durchgeführt werden? [J/N]: J Führe Update aus... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 661 100 661 0 0 2777 0 --:--:-- --:--:-- --:--:-- 2777 Warning: Failed to create the file tmp.zip: Keine Berechtigung 4 30415 4 1369 0 0 2799 0 0:00:10 --:--:-- 0:00:10 2799 curl: (23) Failed writing body (0 != 1369) unzip: cannot find or open tmp.zip, tmp.zip.zip or tmp.zip.ZIP. rm: das Entfernen von 'tmp.zip' ist nicht möglich: Datei oder Verzeichnis nicht gefunden ┌────────────────────────┐ │ │ │ WS-Updater V2.11.0 │ │ │ └────────────────────────┘ Soll die wetterstation.conf nun auf eine neue Version gepatcht werden? [J/N]: J Version ist bereits aktuell... Update ausgeführt. Soll der Service nun neu gestartet werden? [J/N]: J
-
Auf GitHub (https://github.com/SBorg2014/WLAN-Wetterstation) steht nun die aktuelle Online-Version des
ws_updater.sh
bereit.
Dieser muss einmalig herunter geladen werden, oder man wartet auf das Rollout der nächsten Version, dann ist er darin auch enthalten. Nicht verwirren lassen, die Versionsnummer ist noch immer die V2.12.0 (eigentlich hat der Updater keine eigene, er zeigt nur an für welche Version des Skriptes er ist).Danach genügt ein einfaches
./ws_updater.sh
im Installationsverzeichnis. Bei bestehender Inet-Verbindung nutzt er nun die aktuelle Version von GitHub und zeigt ein Auswahlmenü an.
Ohne Inet führt er die aktuelle Version im Verzeichnis aus.
Parameter (Übersicht mittels./ws_updater.sh --help
funktionieren weiterhin, allerdings dann "Offline".Kein spezieller @Nashra -Patch:
Meister Röhrich: das tut nicht Not als root...
Wenn also alles klapp bedeutet das zukünftig für ein Update einfach:
./ws_updater.sh
im Installationsverzeichnis aufrufen- Punkt "4" wählen
- paar Abfragen mit "j" beantworten
- freuen
-
Aber warum kommen dann überhaupt keine Daten an?
Keine Sonne, kein Wind, ...Display zeigt alles, bis auf Temperatur an.
-
@negalein Ich habe noch die ersten Batterien drin, wobei ich meine Station dank euch so gegen März/April 2020 (?) bekam. Habe aber auch "gute" Duracel Alkaline genommen und mein Solarpanel bekommt durchgängig volles Tageslicht.
Keine Daten: ist die neue Funktion des Fixes von V2.12.0 (falls aktiviert)
Wenn die Außentemperatur -5572°C beträgt klappt auch die Kommunikation mit dem Mast nicht korrekt, also sind andere Werte ebenfalls fragwürdig. Deswegen wird der kpl. Datensatz weggeschmissen und nicht an den ioB geschickt -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wenn die Außentemperatur -5572°C beträgt klappt auch die Kommunikation mit dem Mast nicht korrekt, also sind andere Werte ebenfalls fragwürdig. Deswegen wird der kpl. Datensatz weggeschmissen und nicht an den ioB geschickt
Ah, ich dachte er schickt nur die fehlerhaften Daten nicht weiter.
-
@qqolli Da hat dein aktueller User keine Schreibrechte in dem Verzeichnis.
Ich bin User "sborg" und gehöre der Gruppe "sborg" an. Nur der User "sborg" hat im aktuellen Verzeichnis "." bei mir auch Schreibrechte "w". Du müsstest also deinen aktuellen User einer Gruppe hinzufügen die Schreibrechte im Verzeichnis hat, die Schreibrechte anpassen, ... usw.
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ah, ich dachte er...
Wie sagte mein Alter Lehrer immer nicht denken, lesen, und wer lesen kann ist klar im Vorteil...
Aus dem Release-Text:
Sollte die Temperatur unter dem "absoluten Nullpunkt" (-273°C) liegen, wird das Datenpaket verworfen und nichts an den ioB gesendet:
...und bevor jemand was falsch versteht: das ist nur Spaß, der wird wohl noch erlaubt sein, alles Gut