NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Hallo,
mein WS Script 2.16 verliert seit einigen Tagen immer wieder die Verbindung zum ioBroker.
Eine Statusabfrage bringt dieses Ergebnis:
● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-08-03 20:28:08 CEST; 1h 31min ago Main PID: 488 (wetterstation.s) Tasks: 2 (limit: 8985) CPU: 1min 27.967s CGroup: /system.slice/wetterstation.service ├─ 488 /bin/bash /home/pi/Wetterstation/wetterstation.sh └─16794 curl -s -H Content-Type: application/json -H Authorization: 90d68e964cf60c2f4508c6f0bf33479620a4749f20213fad390bdcee67026fad -d [ {"sensor":"61e95e3e494dbc001c7422d5", "value":"28.11"},{"sensor":"61e960e7494db> Aug 03 20:28:09 Smartazamba wetterstation.sh[580]: nc: connect to 192.168.178.20 port 8087 (tcp) failed: Network is unreachable Aug 03 20:29:37 Smartazamba wetterstation.sh[745]: nc: connect to 192.168.178.20 port 8087 (tcp) failed: Connection refused Aug 03 20:30:07 Smartazamba wetterstation.sh[872]: nc: connect to 192.168.178.20 port 8087 (tcp) failed: Connection refused Aug 03 20:30:37 Smartazamba wetterstation.sh[1013]: nc: connect to 192.168.178.20 port 8087 (tcp) failed: Connection refused Aug 03 20:31:07 Smartazamba wetterstation.sh[1155]: nc: connect to 192.168.178.20 port 8087 (tcp) failed: Connection refused Aug 03 20:31:37 Smartazamba wetterstation.sh[1339]: nc: connect to 192.168.178.20 port 8087 (tcp) failed: Connection refused Aug 03 20:32:07 Smartazamba wetterstation.sh[1962]: nc: connect to 192.168.178.20 port 8087 (tcp) failed: Connection refused Aug 03 20:32:37 Smartazamba wetterstation.sh[2067]: Connection to 192.168.178.20 8087 port [tcp/*] succeeded! Aug 03 20:45:09 Smartazamba wetterstation.sh[10322]: jq: error (at <stdin>:0): Cannot iterate over null (null) Aug 03 20:45:09 Smartazamba wetterstation.sh[10326]: jq: error (at <stdin>:0): Cannot iterate over null (null)
woran kann das liegen?
Manchmal läuft das Script aber trotzdem kommt im ioBroker nichts an:
pi@Smartazamba:~ $ 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 Wed 2022-08-03 22:04:19 CEST; 10min ago Main PID: 22200 (wetterstation.s) Tasks: 2 (limit: 8985) CPU: 6.349s CGroup: /system.slice/wetterstation.service ├─22200 /bin/bash /home/pi/Wetterstation/wetterstation.sh └─23240 curl -s -H Content-Type: application/json -H Authorization: 90d68e964cf60c2f4508c6f0bf33479620a474> Aug 03 22:04:19 Smartazamba systemd[1]: Started Service für ioBroker Wetterstation. Aug 03 22:04:19 Smartazamba wetterstation.sh[22216]: Connection to 192.168.178.20 8087 port [tcp/*] succeeded! lines 1-12/12 (END)
Dann hilft ein Restart des ioBrokers.
-
@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
mein WS Script 2.16 verliert seit einigen Tagen immer wieder die Verbindung zum ioBroker.
kann ich bestätigen. Ist seit 2 Tagen, dass zu unbestimmten Uhrzeiten nichts mehr übertragen wird.
Bin gerade im Urlaub und kann daher die VM jedesmal nur neu booten (Zugangsdaten liegen daheim --> deshalb gerade ohne Putty). -
@chris76e sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Da es ja immer Wärmer wird kannst du vieleicht beim nächsten Update der Wetterstatistik die Einteilung der Tage nach Temperatur erweitern? Wüstentag und Tropennacht finde ich intersseant.
Siehe hier
Ich habe es mal auf die ToDo-Liste gesetzt
-
@rushmed Bei dir sehe ich es, bei @Negalein meine ich es zu wissen, bei mir weiß ich es...
Ihr/wir nutzen alle OSeM? Bei @Rushmed sieht man auch den "curl"-Befehl wie er da "hängt". Anscheinend hat OpenSenseMap Probleme mit seinen/m Server/n. Ich teste gerade eine Alternative die dann den hängenden curl-Befehl wieder freigibt und das Skript dann weiter läuft. Das muss aber erst mal 1-2 Tage im Test laufen.
Aktuelle Lösung ist so lassen und eben restarten, oder temporär OSeM per conf abschalten.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das muss aber erst mal 1-2 Tage im Test laufen.
Gönn dir! Problem gemeldet und erkannt. Wenn eine Lösung in Aussicht is übe ich mich in Geduld.
-
Sieht bis jetzt gut aus, zumindest kein Hänger und die Übertragung klappt weiterhin. Wer kann ( @Negalein ) darf gerne mal mit testen, ist in einer Minute erledigt.
Ich gehe mal von "nano" aus...
Im Installationsverzeichnisnano wetterstation.sub
--> STRG + W drücken --> osem_tr eingeben und [ENTER] drücken --> nochmals STRG + W drücken, jetzt aber direkt danach [ENTER]Wir landen nun bei dieser Zeile:
OSEM_TRANSMIT=$(curl -s -H "Content-Type: application/json" -H "Authorization: ${BOX_TOKEN}" \
und setzten nur einen "timeout 10" vor den curl-Befehl bzw. ändern sie derart ab:
OSEM_TRANSMIT=$(timeout 10 curl -s -H "Content-Type: application/json" -H "Authorization: ${BOX_TOKEN}" \
speichern und Service restarten, dass war es auch schon.
Wenn es den heutigen Tag bis morgen Früh ohne weiteren Hänger überlebt, kommt es so dann noch in die V2.17.0 mit hinein
Der/die OSeM-Server geben offenbar sporadisch überhaupt keine Daten zurück. Normalerweise kommt ein "Erfolg" oder ein "Fehler" zurück. Aber bei "gar nichts" wartet der curl-Befehl bis zum sankt Nimmerleinstag... -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wer kann ( @Negalein ) darf gerne mal mit testen, ist in einer Minute erledigt.
leider erst am Sonntag Abend. Hab hier kein VPN.
-
@sborg Habs geändert und läuft nun schon seit etwa 21 h unterbrechungsfrei. Danke.
-
-
Da keine offensichtlichen Fehler aufgetreten sind bzw. einer ausgemerzt (OSeM) wurde:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.17.0
- + durchschnittliche Windrichtung und -geschwindigkeit der letzten 10 Minuten alternativ anstelle
der aktuellen Werte an OpenSenseMap, windy und wetter.com senden - + Temperaturtrend Aussentemperatur der letzten Stunde
- ~ Fix für Datenübertragung an nicht antwortenden OSeM-Server
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
- wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neuer Datenpunkt Aussentemperatur_Trend); bei aktivierter Rest-API wird der Datenpunkt automatisch im ioB angelegt
Update sollte durchgeführt werden, gerade wenn man OpenSenseMap nutzt.
Die Release-Version ist nicht mit dem letzten Beta-Release identisch! Betatester tauschen bitte die ".sh" und ".sub" aus und restarten den Service.
- + durchschnittliche Windrichtung und -geschwindigkeit der letzten 10 Minuten alternativ anstelle
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Da keine offensichtlichen Fehler aufgetreten sind bzw. einer ausgemerzt (OSeM) wurde:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.17.0
Mußte dc installieren und läuft
-
@sborg Hallo, habe über den Updater auf die 17 geupdated und bekomme bei Statusabfrage folgende Ausgabe.
pi@Smartazamba:~/Wetterstation $ 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 2022-08-05 18:33:56 CEST; 6s ago Main PID: 2232017 (wetterstation.s) Tasks: 3 (limit: 8985) CPU: 6.073s CGroup: /system.slice/wetterstation.service ├─2232017 /bin/bash /home/pi/Wetterstation/wetterstation.sh └─2234321 /bin/bash /home/pi/Wetterstation/wetterstation.sh Aug 05 18:34:02 Smartazamba wetterstation.sh[2234299]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: command not found Aug 05 18:34:02 Smartazamba wetterstation.sh[2234304]: (standard_in) 1: syntax error Aug 05 18:34:02 Smartazamba wetterstation.sh[2234305]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: command not found Aug 05 18:34:02 Smartazamba wetterstation.sh[2234306]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: command not found Aug 05 18:34:02 Smartazamba wetterstation.sh[2234311]: (standard_in) 1: syntax error Aug 05 18:34:02 Smartazamba wetterstation.sh[2234312]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: command not found Aug 05 18:34:02 Smartazamba wetterstation.sh[2234313]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: command not found Aug 05 18:34:02 Smartazamba wetterstation.sh[2234320]: (standard_in) 1: syntax error Aug 05 18:34:02 Smartazamba wetterstation.sh[2234321]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: command not found Aug 05 18:34:02 Smartazamba wetterstation.sh[2234322]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: command not found Aug 05 18:34:02 Smartazamba wetterstation.sh[2234327]: (standard_in) 1: syntax error
Was hab ich falsch gemacht?
Was hat diese Angabe beim Ausführen des Updaters zu bedeuten:
Patche wetterstation.conf auf V2.17.0 ... ./ws_updater.sh: line 405: [: ==: unary operator expected Fertig...
Habs jetzt mehrmals versucht. Mit Updater und ohne. Der Fehler mit den fehlenden Kommandos bleibt und Daten kommen nicht an.
Beim Debug siehts ähnlich aus:
pi@Smartazamba:~/Wetterstation $ 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 2022-08-05 19:48:53 CEST; 10s ago Main PID: 527835 (wetterstation.s) Tasks: 1 (limit: 8985) CPU: 10.750s CGroup: /system.slice/wetterstation.service ├─527835 /bin/bash /home/pi/Wetterstation/wetterstation.sh └─532315 date +%H Aug 05 19:49:03 Smartazamba wetterstation.sh[532295]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532296]: /home/pi/Wetterstation/wetterstation.sh: line 326: debuging: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532301]: (standard_in) 1: syntax error Aug 05 19:49:03 Smartazamba wetterstation.sh[532302]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532303]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532304]: /home/pi/Wetterstation/wetterstation.sh: line 326: debuging: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532310]: (standard_in) 1: syntax error Aug 05 19:49:03 Smartazamba wetterstation.sh[532312]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532313]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532314]: /home/pi/Wetterstation/wetterstation.sh: line 326: debuging: command not found Aug 05 19:49:03 Smartazamba wetterstation.sh[532319]: (standard_in) 1: syntax error Aug 05 19:49:03 Smartazamba wetterstation.sh[532320]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: command not found
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich weiß doch, deswegen auch Zwinker-Smily
Ahh, der Zwinker ist mir am Handy garnicht aufgefallen.
-
@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Was hab ich falsch gemacht?
Hast du versucht eine Beta-Version mittels des Updaters upzugraden? Das funktioniert nicht, hier muss man per Hand die Dateien kopieren.
So wie es aussieht fehlt oder ist deine *.sub beschädigt. Ich würde trotzdem mal beide neu installieren. Im Installationsverzeichnis (vorher den Service stoppen):
wget -O wetterstation.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/wetterstation.sh
wget -O wetterstation.sub https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/wetterstation.sub
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
wget -O wetterstation.sub https://github.com/SBorg2014/WLAN-Wetterstation/blob/master/wetterstation.sub
Jetzt siehts noch schlimmer aus:
pi@Smartazamba:~/Wetterstation $ systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2022-08-05 20:17:03 CEST; 1s ago Process: 977580 ExecStart=/home/pi/Wetterstation/wetterstation.sh (code=exited, status=203/EXEC) Main PID: 977580 (code=exited, status=203/EXEC) CPU: 4ms Aug 05 20:17:03 Smartazamba systemd[1]: Started Service für ioBroker Wetterstation. Aug 05 20:17:03 Smartazamba systemd[977580]: wetterstation.service: Failed to execute /home/pi/Wetterstation/wetterstat> Aug 05 20:17:03 Smartazamba systemd[977580]: wetterstation.service: Failed at step EXEC spawning /home/pi/Wetterstation> Aug 05 20:17:03 Smartazamba systemd[1]: wetterstation.service: Main process exited, code=exited, status=203/EXEC Aug 05 20:17:03 Smartazamba systemd[1]: wetterstation.service: Failed with result 'exit-code'.
Ich habe nicht versucht eine Beta mit dem Updater up zu daten.
-
@rushmed Sieht jetzt verdächtig nach fehlenden Rechten aus.
Was sagt denn einls -al wetterstattion*
bzgl. Beta: dann weiß ich nicht was schief gelaufen ist. Pauschal scheint es zu funktionieren. -
@sborg Hab nochmal alles gelöscht und mit dem Updater neu installiert.
pi@Smartazamba:~/Wetterstation $ 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 2022-08-05 20:24:00 CEST; 1s ago Main PID: 978048 (wetterstation.s) Tasks: 2 (limit: 8985) CPU: 1.724s CGroup: /system.slice/wetterstation.service ├─978048 /bin/bash /home/pi/Wetterstation/wetterstation.sh ├─978719 /bin/bash /home/pi/Wetterstation/wetterstation.sh └─978720 [bc] Aug 05 20:24:02 Smartazamba wetterstation.sh[978699]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: comm> Aug 05 20:24:02 Smartazamba wetterstation.sh[978704]: (standard_in) 1: syntax error Aug 05 20:24:02 Smartazamba wetterstation.sh[978705]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: > Aug 05 20:24:02 Smartazamba wetterstation.sh[978706]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: comm> Aug 05 20:24:02 Smartazamba wetterstation.sh[978711]: (standard_in) 1: syntax error Aug 05 20:24:02 Smartazamba wetterstation.sh[978712]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: > Aug 05 20:24:02 Smartazamba wetterstation.sh[978713]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: comm> Aug 05 20:24:02 Smartazamba wetterstation.sh[978720]: (standard_in) 1: syntax error Aug 05 20:24:02 Smartazamba wetterstation.sh[978721]: /home/pi/Wetterstation/wetterstation.sh: line 384: opensensemap: > Aug 05 20:24:02 Smartazamba wetterstation.sh[978722]: /home/pi/Wetterstation/wetterstation.sh: line 198: get_DATA: comm> pi@Smartazamba:~/Wetterstation $ ls -al wetterstattion* ls: cannot access 'wetterstattion*': No such file or directory
pi@Smartazamba:~/Wetterstation $ sudo ls -al wetterstation* -rw-r--r-- 1 pi pi 7561 Aug 5 20:05 wetterstation.conf -rw-r--r-- 1 pi pi 21596 Jul 21 08:53 wetterstation.js -rwxr-xr-x 1 pi pi 19368 Aug 5 15:39 wetterstation.sh -rw-r--r-- 1 pi pi 77119 Aug 5 14:20 wetterstation.sub
Wenn ich Opensensemap in der Conf deaktiviere taucht zumindest diese fehlende Kommando bei der Satusabfrage nicht mehr auf.
-
@rushmed Blöde Tippfehler...
Die Fehlermeldungen besagen, dass er die opensensensmap und get_data - Befehle nicht kennt. Die lädt er aus der sub nach, was fehlschlägt (wofür es keinen offensichtlichen Grund gibt).
Hmm, das (meist) Allheilmittel: reboot?
-
@sborg
mir ist beim patchen folgendes aufgefallen:Patche wetterstation.conf auf V2.17.0 ... ./ws_updater.sh: Zeile 405: [: ==: Einstelliger (unärer) Operator erwartet. Fertig...
Ich bekomme ständig:
Aug 5 20:38:39 ZEROSERVER wetterstation.sh[18688]: (standard_in) 1: syntax error Aug 5 20:38:39 ZEROSERVER wetterstation.sh[18688]: /home/wetter/wetterstation.sh: Zeile 384: opensensemap: Kommando nicht gefunden. Aug 5 20:38:39 ZEROSERVER wetterstation.sh[18688]: /home/wetter/wetterstation.sh: Zeile 392: logging: Kommando nicht gefunden. Aug 5 20:38:39 ZEROSERVER wetterstation.sh[18688]: /home/wetter/wetterstation.sh: Zeile 198: get_DATA: Kommando nicht gefunden.
-
@boronsbruder Wo kommen denn die Meldungen bei dir und kommen Daten im ioBroker an?
@SBorg Reboot hatte ich schon erfolglos probiert. Erneuter Reboot war auch erfolglos, selbes Ergebnis.
@Nashra Läuft bei dir alles mit der .17?