NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@SBorg also nochmal von vorn
- VM neu gestartet
*Ausgabe grep
root@IoBroker:~# ps -aux | grep wetterstation.sh root 695 0.4 0.0 11548 3344 ? S 13:53 0:00 /bin/bash /home/iobroker/wetterstation.sh root 2297 0.0 0.0 11548 2092 ? S 13:55 0:00 /bin/bash /home/iobroker/wetterstation.sh root 2302 0.0 0.0 12780 1016 pts/0 S+ 13:55 0:00 grep wetterstation.sh
Werte für javascript.0.Wetterstation._Kommunikationsfehler (mein Abfrageintervall ist 30 sec)
false true simple-api.0 2020-03-14 13:52:26.944 true true simple-api.0 2020-03-14 13:52:32.131
nur so am Rande gefragt, im log hab ich gerade gesehen(durch den Neustart)
host.IoBroker 2020-03-14 13:57:18.088 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:68:7) host.IoBroker 2020-03-14 13:57:18.087 error Caught by controller[0]: at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) host.IoBroker 2020-03-14 13:57:18.087 error Caught by controller[0]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) host.IoBroker 2020-03-14 13:57:18.087 error Caught by controller[0]: at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:107068) host.IoBroker 2020-03-14 13:57:18.086 error Caught by controller[0]: TypeError: Cannot read property 'common' of null simple-api.0 2020-03-14 13:57:17.534 info (3520) Terminated (NO_ERROR): Without reason simple-api.0 2020-03-14 13:57:17.533 info (3520) terminating simple-api.0 2020-03-14 13:57:17.510 info (3520) terminating http server on port 8087 simple-api.0 2020-03-14 13:57:17.508 error at process._tickCallback (internal/process/next_tick.js:68:7) simple-api.0 2020-03-14 13:57:17.508 error at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) simple-api.0 2020-03-14 13:57:17.508 error at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) simple-api.0 2020-03-14 13:57:17.508 error at (anonymous function).(anonymous function) (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:17:107068) simple-api.0 2020-03-14 13:57:17.508 error (3520) TypeError: Cannot read property 'common' of null simple-api.0 2020-03-14 13:57:17.506 error (3520) uncaught exception: Cannot read property 'common' of null
- VM neu gestartet
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
root@IoBroker:~# ps -aux | grep wetterstation.sh
root 695 0.4 0.0 11548 3344 ? S 13:53 0:00 /bin/bash /home/iobroker/wetterstation.sh
root 2297 0.0 0.0 11548 2092 ? S 13:55 0:00 /bin/bash /home/iobroker/wetterstation.sh
root 2302 0.0 0.0 12780 1016 pts/0 S+ 13:55 0:00 grep wetterstation.shJepp, Skript läuft doppelt. Daher bekommst du gelegentlich Werte, Direkttests funktionieren deswegen auch nicht (der Port ist durch die 1. Instanz bereits belegt)
Die "13:53 Uhr" dürfte der Autostart vom Reboot sein, aber wo die "13:55 Uhr" herkommt? Oder hattest du da zwischenzeitlich das Skript manuell gestartet? Oder hast du es ev. doppelt in der crontab stehen?
Das erklärt dann natürlich auch warum der "Kommunikationsfehler" so schnell kommt. Da werkelt die eine Instanz noch, wird von der 2. blockiert und meckert dann natürlich zu Rechtund wenn dann sich noch mit
simple-api.0 2020-03-14 13:57:17.510 info (3520) terminating http server on port 8087
der Simple-API verabschiedet geht sowieso auch im ioB nüscht mehr.
-
@SBorg wie kann bitte das script doppelt laufen?
es war lediglich ein Neustart der VM,(kein manuelles starten des scripts)
anschliessend habe ichps -aux | grep wetterstation.sh
aufgerufen,
mit dem Ergebnis von oben.ein crontab ist nur einmal eingetragen
@reboot /home/iobroker/wetterstation.sh & 2 0 * * * pkill -9 wetterstation.* && /home/iobroker/wetterstation.sh &
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
aber wo die "13:55 Uhr" herkommt?
die Uhrzeit ändert sich, wenn ich den Befehl erneut ausführe, also immer die aktuelle Uhrzeit beim Befehlsaufruf
-
@crunchip bei welchem User hast du den Cron eingetragen? Jeder user hat seinen eigenen Cron.. nicht vergessen.. da hab ich mir auch schon ein paar Eigentore geschossen, weil ein Cron beim falschen user drin war...
-
@crunchip also zum nachvollziehen, ein "sudo crontab -e " ist eine andere also einfach nur crontab -e
-
@ilovegym ich bin mit root drauf
-
@ilovegym aber danke für den Hinweis, hab mal mit sudo eingegeben
ist ein anderes temp/crontab.xxxxx
also bewusst hatte ich kein sudo eingegeben, ist dann wohl scheinbar zu Anfangszeiten durch copy and past passiert, das nochmal ein zweiter crontab gesetzt wurde. -
-
Donnerwetter bei mir lief wetterstation.sh auch zweimal, obwohl es nur in einer cron drin war/ist.
Aber ich habe ein größeres Problem bei Regen_Monat und Regen_Woche.
Ich kann einstellen in der History/Influxdb was ich will, es werden keine Daten geschrieben, alle anderen Daten sind vorhanden. Weiß einfach nicht mehr weiterHistory:
67.1 false 2020-03-14 16:30:39.121 67.1 false 2020-03-14 16:30:12.899 67.1 false 2020-03-14 16:29:46.670
Influxdb:
null false influxdb.0 2020-03-14 17:10:17.628 null false influxdb.0 2020-03-14 17:10:36.632 null false influxdb.0 2020-03-14 17:10:36.644
-
@Nashra
Wird denn der Datenpunkt aktualisiert !?Zeige mal die Debug Ausgabe in Putty was dann kommt !
./wetterstation.sh --debug
-
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Nashra
Wird denn der Datenpunkt aktualisiert !?Zeige mal die Debug Ausgabe in Putty was dann kommt !
./wetterstation.sh --debug
-
Laut Gesamtansicht sind die Werte da .
Da fehlt aber der Abschnitt mit den Datenpunkten ,da kannst du es auch erkennen das sie gesendet werden bzw. welcher Wert gesendet wird ... -
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Laut Gesamtansicht sind die Werte da .
Da fehlt aber der Abschnitt mit den Datenpunkten ,da kannst du es auch erkennen das sie gesendet werden bzw. welcher Wert gesendet wird ...Werte kommen alle rein und stehen auch im io in den DP. Im History.0 sind sie ja auch drin,
nur eben die Werte von Regen_Monat und Regen_Woche stehen nicht in Influxdb.0 drin.
Alle anderen Werte/Daten sind in Influxdb vorhanden. -
@SBorg kann es möglich sein, das mit der neuen version wieder das Problem besteht, was ich ganz am Anfang hatte, wegen Proxmox VM, falls du dich erinnern kannst (im Thread ganz am Anfang).
da musst ich ja das -p einfügen in dieser ZeileDATA=$(timeout ${WARTE} nc -lv -p ${WS_PORT}|sed '3 p')
in v1.0 sieht die Zeile so aus
DATA=$(timeout ${WARTE} nc -lvw 1 -p ${WS_PORT}|sed -n '1 p')
da scheinbar bei mir ja vorhin irgendwas doppelt lief, hab ichs nochmal neu gemacht.
Jedoch bekomm ich mit v1.0 keine Werte rein
bin zurück auf die 0.1.4 und läuft wieder
-
@Nashra
Zeige mal die Einstellungen von Influx ( Datenpunkt ) -
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Nashra
Zeige mal die Einstellungen von Influx ( Datenpunkt ) -
Stelle mal so ein ....
-
@Glasfaser habs geändert. Ergebnis nach Neustart des Adapters
Sorry, aber ich kapiere das nicht das keine Daten geschrieben werden
-
Hast du mal Testweise einen neuen Datenpunkt mit influx geloggt , bzw. jetzt mal neu angelegt ob es auch dort kommt das " null" geschrieben wird !?
-
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hast du mal Testweise einen neuen Datenpunkt mit influx geloggt , bzw. jetzt mal neu angelegt ob es auch dort kommt das " null" geschrieben wird !?
Jap, mal eben die Wattzahl der USV geloggt, 1a alle Daten da d.h. Verbrauch schwankt zwar aber wird geloggt.