NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@g-hawk Ich komme zu den gleichen Schlussfolgerungen. Die Datenpunkte sind korrekt angelegt, und in der InfluxDB können diese korrekt abgefragt werden. InfluxDB ist V2 Script das aktuellste.
Das Problem dĂŒrfte in wetterstation.sub in der Funktion minmaxheute() liegen.
Wird anstelle von FLUXSTART=$(date +%Y-%m-%d --date="-1 day")"T${ZULU}:00:00Z"
mit FLUXSTART="-1d" gearbeitet werden die Werte sauber abgestellt. Was jetzt genau an der Berechnung oder am Parameter fĂŒr influx falsch ist, muss ich noch genauer untersuchen. -
@g-hawk Ich komme zu den gleichen Schlussfolgerungen. Die Datenpunkte sind korrekt angelegt, und in der InfluxDB können diese korrekt abgefragt werden. InfluxDB ist V2 Script das aktuellste.
Das Problem dĂŒrfte in wetterstation.sub in der Funktion minmaxheute() liegen.
Wird anstelle von FLUXSTART=$(date +%Y-%m-%d --date="-1 day")"T${ZULU}:00:00Z"
mit FLUXSTART="-1d" gearbeitet werden die Werte sauber abgestellt. Was jetzt genau an der Berechnung oder am Parameter fĂŒr influx falsch ist, muss ich noch genauer untersuchen.@gelbwichtel
muss mich revidieren. Schlussfolgerung und Test war nicht korrekt. Hatte vor Aufruf meines Test auf minmaxheute das setup nicht durchlaufen. Werte werden gesetzt, wenn das Skript "richtig" gestartet wird. Ich muss mir mal meine cronjobs genauer ansehen. -
@gelbwichtel
muss mich revidieren. Schlussfolgerung und Test war nicht korrekt. Hatte vor Aufruf meines Test auf minmaxheute das setup nicht durchlaufen. Werte werden gesetzt, wenn das Skript "richtig" gestartet wird. Ich muss mir mal meine cronjobs genauer ansehen.@gelbwichtel
Ich kann nicht ganz folgen. Soll ich irgendwas Àndern oder was testen?
Oder muss ich Influx 2.0 installieren und damit verbunden ein 64 bit System installieren? -
hmm,
warum wird denn bei mir keine Daten in den DPÂŽs von:
javascript.0.Wetterstation.Info.Temp_Aussen_365t_maxgeschrieben???
Habe diese Script gestartet und gestoppt damit die DPÂŽs angelegt werden
//Wetterstation Datenpunkte anlegen V3.0.0 let DP = "javascript.0.Wetterstation."; let WH31 = 0; // Anzahl der WH31/WH25 Sensoren (max. 1 StĂŒck) let WS90 = 0; // Anzahl der WS90 Sensoren (max. 1 StĂŒck) let DP10 = 0; // Anzahl der DP10/WN35 Sensoren (max. 8 StĂŒck) let DP35 = 0; // Anzahl der DP35/WN34 Sensoren (max. 8 StĂŒck) let DP40 = 0; // Anzahl der DP40/WH32 Sensoren (max. 1 StĂŒck) let DP50 = 0; // Anzahl der DP50/WH31 Sensoren (max. 8 StĂŒck) let DP60 = 0; // Anzahl der DP60/WH57 Sensoren (max. 1 StĂŒck) let DP70 = 0; // Anzahl der DP70/WH55 Sensoren (max. 4 StĂŒck) let DP100 = 0; // Anzahl der DP100/WH51 Sensoren (max. 8 StĂŒck) let DP200 = 0; // Anzahl der DP200/WH43 Sensoren (max. 4 StĂŒck) let DP250 = 0; // Anzahl der DP250/WH45 Sensoren (max. 1 StĂŒck) let DP300 = 0; // Anzahl der DP300/WS68 Sensoren (max. 1 StĂŒck) let BR7009999 = 0; // Anzahl der Thermo-Hygro-7Ch-Sensoren (max. 4 StĂŒck) let FT0300 = 0; // Anzahl der FT0300 Sensoren (max. 1 StĂŒck) //Ende der User-Einstellungen -------------------und diese Version von der Wetterstatistik
/* Wetterstation-Statistiken holt die Messdaten aus einer InfluxDB V2 und erstellt eine Monats-, Vorjahresmonat- und Rekordwerte-Statistik Wichtig: funktioniert nur mit der Default-Datenstruktur des WLAN-Wetterstation-Skriptes! Auch keine Aliase unter Influx nutzen! (c)2020-2023 by SBorg v2.0.2 - 02.03.2023 ~Bugfix fehlender Vorjahresmonat (Fix Issue #58) V2.0.1 - 22.02.2023 ~Bugfix Influx-Abfrage "Wind" (@Latzi) ~Bugfix fester Datenpunkt auf "javascript.0..." bei Trockenperiode V2.0.0 - 15.02.2023 ~Umstellung auf Influx V2 +Fix "{ack=true}" bei WĂŒstentage, TropennĂ€chte und Regentage in VorJahres-Anzeige ~Windboe nach Windboee umbenannt V1.3.2 - 03.02.2023 ~Verbesserung des JSON-handlings "VorJahr" (@Boronsbruder) V1.3.1 - 01.02.2023 ~Bugfix keine Daten fĂŒr Vorjahresmonatswerte (Fix Issue #54) V1.3.0 - 09.09.2022 +Regentage (Issue #40) V1.2.0 - 04.08.2022 +WĂŒstentage und TropennĂ€chte V1.1.3 - 01.08.2022 +Rekordwerte auch bei Einstellung "LAST_RAIN=DATUM [+UNIX]" in der wetterstation.conf V1.1.2 - 19.06.2022 ~mögliche "Null"-Werte bei "Regenmenge Vortag" und "Windböe" gefixt (Fix Issue #35) V1.1.1 - 02.05.2022 ~Rework JSON-Management V1.1.0 - 02.04.2022 ~Bugfixing fehlender Vortag am 01. des Monats (Fix Issue #32) ~Korrektur Reset der Monatswerte V1.0.1 - 18.12.2021 ~Bugfixing "error: TypeError: Cannot read property '0' of null" ~Wechsel zu axios V1.0.0 - 02.10.2021 ~Bugfixing Werte VorJahresMonat +KompatibilitĂ€t mit JSC 3.3.x hergestellt (Ănderung JSON -> Array) ~Rekordwerte werden nun korrekt am Tag des Ereignisses gespeichert V0.2.2 - 01.02.2021 ~Bugfixing Regenmenge Jahr + Monat V0.2.1 - 21.01.2021 ~Bugfixing Rekordwerte Spitzenhöchst-/-tiefstwert V0.2.0 - 15.01.2021 ~Bugfixing Benennung DPs / Korrektur Regenmenge V0.1.9 - 09.01.2021 +Regenmenge eines kpl. Monats im Jahr und Rekord V0.1.8 - 08.01.2021 +max. Windböe fĂŒr Gestern und Jahres-/Rekordwerte V0.1.7 - 03.01.2021 ~Fix fĂŒr fehlerhafte/fehlende Speicherung Jahreswerte + Trockenperiode V0.1.6 - 30.12.2020 +Summe "Sommertage", "heiĂe Tage", "Frosttage", "Eistage" und "sehr kalte Tage" fĂŒr das gesamte Jahr V0.1.5 - 29.12.2020 +Summe "kalte Tage" und "warme Tage" fĂŒr das gesamte Jahr V0.1.4 - 26.12.2020 +max. Regenmenge pro Tag fĂŒr Jahres-/Rekordwerte V0.1.3 - 11.11.2020 +Rekordwerte V0.1.2 - 14.10.2020 ~Fix "NaN" bei Regenmenge Monat V0.1.1 - 12.10.2020 +AutoReset Jahresstatistik V0.1.0 - 08.10.2020 +DP fĂŒr Statusmeldungen / Reset Jahresstatistik / AutoDelete "Data" +ScriptVersion / Update vorhanden / UpdateCheck abschaltbar +Jahresstatistik Min-/Max-/Durchschnittstemperatur/Trockenperiode V0.0.7 - 19.09.2020 +Min.-/Max.-/Durchschnittstemperatur vom Vortag V0.0.6 - 18.09.2020 +Regenmenge Monat V0.0.5 - 17.09.2020 +Gradtage Vorjahr V0.0.4 - 16.09.2020 +Eistage (Max. unter 0°C) / sehr kalte Tage (Min. unter -10°C) ~Frosttage (Korrektur: Tiefstwert unter 0°C) V0.0.3 - 15.09.2020 +Frosttage (Min. unter 0°C) / kalte Tage (Max. unter 10°C) V0.0.2 - 12.09.2020 +warme Tage ĂŒber 20°C / Sommertage ĂŒber 25°C / heiĂe Tage ĂŒber 30°C V0.0.1 - 11.09.2020 erste Beta + Temp-Min/Temp-Max/Temp-Durchschnitt/max. Windböe/max. Regenmenge pro Tag ToDo: --- known issues: keine */ // *** User-Einstellungen ********************************************************************************************************************************** const WET_DP='javascript.0.Wetterstation'; // wo liegen die Datenpunkte mit den Daten der Wetterstation [default: 0_userdata.0.Wetterstation] const INFLUXDB_INSTANZ='0'; // unter welcher Instanz lĂ€uft die InfluxDB [default: 0] const INFLUXDB_BUCKET='iobroker'; // Name des zu benutzenden Buckets const PRE_DP='0_userdata.0.Statistik.Wetter'; // wo sollen die Statistikwerte abgelegt werden. Nur unter "0_userdata" oder "javascript" möglich! let REKORDWERTE_AUSGABEFORMAT="[WERT] im [MONAT] [JAHR]"; /* Wie soll die Ausgabe der Rekordwerte formatiert werden (Template-Vorlage)? [WERT] = Messwert (zB. '22.42' bei Temperatur, '12' bei Tagen) [TAG] = Tag (0-31) [MONAT] = Monatsname (Januar, Februar,..., Dezember) [MONAT_ZAHL]= Monat als Zahl (01-12) [MONAT_KURZ]= Monatsname kurz (Jan, Feb,..., Dez) [JAHR] = Jahreszahl vierstellig (2020) Die 'Units' wie bspw. "°C" oder "Tage" werden direkt aus dem Datenpunkt ergĂ€nzt. [default: [WERT] im [MONAT] [JAHR] ] erzeugt als Beispiel im DP die Ausgabe: "22.42 °C im Juni 2020" */ const ZEITPLAN = "3 1 * * *"; // wann soll die Statistik erstellt werden (Minuten Stunde * * *) [default 1:03 Uhr] // *** ENDE User-EinstellungenSollte doch eigentlich richtig sein?

@chris76e Du verwechselst da zwei Sachen. Statistik-JS-Skript macht alles was mit Statistik zu tun hat. WLAN-Shell-Skript alles mit dem Thema Wetterstation.
Die 24h / Heute Min-Max-Werte liegen alle unter ...Wetterstation..., kommen also rein vom WLAN-Skript. Das macht an der Stelle nichts weiter als eine InfluxDB-Abfrage.Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert:
systemctl restart wetterstation -
@chris76e Du verwechselst da zwei Sachen. Statistik-JS-Skript macht alles was mit Statistik zu tun hat. WLAN-Shell-Skript alles mit dem Thema Wetterstation.
Die 24h / Heute Min-Max-Werte liegen alle unter ...Wetterstation..., kommen also rein vom WLAN-Skript. Das macht an der Stelle nichts weiter als eine InfluxDB-Abfrage.Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert:
systemctl restart wetterstation -
@gelbwichtel
Ich kann nicht ganz folgen. Soll ich irgendwas Àndern oder was testen?
Oder muss ich Influx 2.0 installieren und damit verbunden ein 64 bit System installieren?@g-hawk Solange du ein 32Bit System nutzt kannst du auch nur Influx 1.8 nutzen. Erst mittels 64Bit lÀsst sich ein InfluxDB 2.7 nutzen. Wenn du so erst mal weiter machen willst, kannst du die letzte V2.x.x (unter releases zu finden) nutzen.
Von der Funktion ist die mit der aktuellen V3.0.0 noch identisch. Ăber kurz oder lang (eher kurz) wirst du aber um 64Bit nicht herumkommen, da schon einiges unter 32 Bit nicht mehr supported wird.@g-hawk sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Habe ich getestet. Es stehen in min und max immer die gleichen Werte etwas zeitversetzt zu der aktuellen AuĂentemperatur.
So wie ich das sehe hast du doch aktuell keine korrekte Influx-Installation? Wenn du noch eine 1er hast kann die mit der aktuellen V3 des WLAN-Skriptes nicht funktionieren, da die mittels Flux die Influx abfragt was die 1.8 nicht kann. Da kommt irgendwas an Daten, nur nichts vernĂŒnftiges ;)
-
@g-hawk Solange du ein 32Bit System nutzt kannst du auch nur Influx 1.8 nutzen. Erst mittels 64Bit lÀsst sich ein InfluxDB 2.7 nutzen. Wenn du so erst mal weiter machen willst, kannst du die letzte V2.x.x (unter releases zu finden) nutzen.
Von der Funktion ist die mit der aktuellen V3.0.0 noch identisch. Ăber kurz oder lang (eher kurz) wirst du aber um 64Bit nicht herumkommen, da schon einiges unter 32 Bit nicht mehr supported wird.@g-hawk sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Habe ich getestet. Es stehen in min und max immer die gleichen Werte etwas zeitversetzt zu der aktuellen AuĂentemperatur.
So wie ich das sehe hast du doch aktuell keine korrekte Influx-Installation? Wenn du noch eine 1er hast kann die mit der aktuellen V3 des WLAN-Skriptes nicht funktionieren, da die mittels Flux die Influx abfragt was die 1.8 nicht kann. Da kommt irgendwas an Daten, nur nichts vernĂŒnftiges ;)
-
@chris76e Du verwechselst da zwei Sachen. Statistik-JS-Skript macht alles was mit Statistik zu tun hat. WLAN-Shell-Skript alles mit dem Thema Wetterstation.
Die 24h / Heute Min-Max-Werte liegen alle unter ...Wetterstation..., kommen also rein vom WLAN-Skript. Das macht an der Stelle nichts weiter als eine InfluxDB-Abfrage.Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert:
systemctl restart wetterstation@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert: systemctl restart wetterstation
Habe ich gemacht, Ànderts sich aber nichts. Unter javascript.0.Wetterstation.Info.Temp_Aussen_Heute_min und max kommen immer dieselben werte rein, und bei javascript.0.Wetterstation.Info.Temp_Aussen_24h_min und max keine Werte. Habe das Display von der Wetterstation auch einmal neugestartet.....
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 Tue 2023-05-16 19:12:51 CEST; 21min ago Main PID: 967052 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.7M CPU: 38.877s CGroup: /system.slice/wetterstation.service ââ967052 /bin/bash /home/chris/wetterstation.sh ââ983892 /bin/bash /home/chris/wetterstation.sh ââ983893 timeout 38 nc -nlvw 1 -p 1080 ââ983894 tail -1 ââ983895 nc -nlvw 1 -p 1080 Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden. Mai 16 19:12:51 ioBroker wetterstation.sh[967069]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded! Mai 16 19:15:28 ioBroker wetterstation.sh[969312]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:15:29 ioBroker wetterstation.sh[969315]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:30:09 ioBroker wetterstation.sh[980843]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:30:09 ioBroker wetterstation.sh[980846]: jq: error (at <stdin>:0): Cannot iterate over null (null) chris@ioBroker:~$ -
@chris76e Du verwechselst da zwei Sachen. Statistik-JS-Skript macht alles was mit Statistik zu tun hat. WLAN-Shell-Skript alles mit dem Thema Wetterstation.
Die 24h / Heute Min-Max-Werte liegen alle unter ...Wetterstation..., kommen also rein vom WLAN-Skript. Das macht an der Stelle nichts weiter als eine InfluxDB-Abfrage.Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert:
systemctl restart wetterstation -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert: systemctl restart wetterstation
Habe ich gemacht, Ànderts sich aber nichts. Unter javascript.0.Wetterstation.Info.Temp_Aussen_Heute_min und max kommen immer dieselben werte rein, und bei javascript.0.Wetterstation.Info.Temp_Aussen_24h_min und max keine Werte. Habe das Display von der Wetterstation auch einmal neugestartet.....
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 Tue 2023-05-16 19:12:51 CEST; 21min ago Main PID: 967052 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.7M CPU: 38.877s CGroup: /system.slice/wetterstation.service ââ967052 /bin/bash /home/chris/wetterstation.sh ââ983892 /bin/bash /home/chris/wetterstation.sh ââ983893 timeout 38 nc -nlvw 1 -p 1080 ââ983894 tail -1 ââ983895 nc -nlvw 1 -p 1080 Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden. Mai 16 19:12:51 ioBroker wetterstation.sh[967069]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded! Mai 16 19:15:28 ioBroker wetterstation.sh[969312]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:15:29 ioBroker wetterstation.sh[969315]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:30:09 ioBroker wetterstation.sh[980843]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:30:09 ioBroker wetterstation.sh[980846]: jq: error (at <stdin>:0): Cannot iterate over null (null) chris@ioBroker:~$Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden.Du hast auf jedenfall einen Fehler in der Config.
Ob der ursĂ€chlich fĂŒr die anderen ist, kann ich aber nicht sagen -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert: systemctl restart wetterstation
Habe ich gemacht, Ànderts sich aber nichts. Unter javascript.0.Wetterstation.Info.Temp_Aussen_Heute_min und max kommen immer dieselben werte rein, und bei javascript.0.Wetterstation.Info.Temp_Aussen_24h_min und max keine Werte. Habe das Display von der Wetterstation auch einmal neugestartet.....
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 Tue 2023-05-16 19:12:51 CEST; 21min ago Main PID: 967052 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.7M CPU: 38.877s CGroup: /system.slice/wetterstation.service ââ967052 /bin/bash /home/chris/wetterstation.sh ââ983892 /bin/bash /home/chris/wetterstation.sh ââ983893 timeout 38 nc -nlvw 1 -p 1080 ââ983894 tail -1 ââ983895 nc -nlvw 1 -p 1080 Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden. Mai 16 19:12:51 ioBroker wetterstation.sh[967069]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded! Mai 16 19:15:28 ioBroker wetterstation.sh[969312]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:15:29 ioBroker wetterstation.sh[969315]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:30:09 ioBroker wetterstation.sh[980843]: jq: error (at <stdin>:0): Cannot iterate over null (null) Mai 16 19:30:09 ioBroker wetterstation.sh[980846]: jq: error (at <stdin>:0): Cannot iterate over null (null) chris@ioBroker:~$Jupp ;)
@chris76e Schau mal in deiner "conf" bei Zeile #67, da hast du wohl aus versehen die Raute gelöscht
# Datum = .....Dann sicherheitshalber Skript stoppen
systemctl stop wetterstation, kurz warten und wieder startensystemctl start wetterstation.Daraus könnten die vier weiteren Fehler resultieren, zumindest kommen die genau zu jeder vollen Viertelstunde und genau da wird "Minmax24h" und "...heute" berechnet. Sind die nun weg, dĂŒrfte auch alles funktionieren ;)
-
Jupp ;)
@chris76e Schau mal in deiner "conf" bei Zeile #67, da hast du wohl aus versehen die Raute gelöscht
# Datum = .....Dann sicherheitshalber Skript stoppen
systemctl stop wetterstation, kurz warten und wieder startensystemctl start wetterstation.Daraus könnten die vier weiteren Fehler resultieren, zumindest kommen die genau zu jeder vollen Viertelstunde und genau da wird "Minmax24h" und "...heute" berechnet. Sind die nun weg, dĂŒrfte auch alles funktionieren ;)
habe das geĂ€ndert kein Fehler mehr, aber immer noch dasselbe. Hab auch mal die DPÂŽs gelöscht und ĂŒber das Script neu anlegen lassen. Hat auch nicht geholfen.
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 Wed 2023-05-17 10:30:07 CEST; 45min ago Main PID: 628054 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.8M CPU: 1min 28.219s CGroup: /system.slice/wetterstation.service ââ628054 /bin/bash /home/chris/wetterstation.sh ââ666172 /bin/bash /home/chris/wetterstation.sh ââ666173 timeout 38 nc -nlvw 1 -p 1080 ââ666174 tail -1 ââ666175 nc -nlvw 1 -p 1080 Mai 17 10:30:07 ioBroker wetterstation.sh[628071]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded! -
habe das geĂ€ndert kein Fehler mehr, aber immer noch dasselbe. Hab auch mal die DPÂŽs gelöscht und ĂŒber das Script neu anlegen lassen. Hat auch nicht geholfen.
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 Wed 2023-05-17 10:30:07 CEST; 45min ago Main PID: 628054 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.8M CPU: 1min 28.219s CGroup: /system.slice/wetterstation.service ââ628054 /bin/bash /home/chris/wetterstation.sh ââ666172 /bin/bash /home/chris/wetterstation.sh ââ666173 timeout 38 nc -nlvw 1 -p 1080 ââ666174 tail -1 ââ666175 nc -nlvw 1 -p 1080 Mai 17 10:30:07 ioBroker wetterstation.sh[628071]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded!@chris76e Keine Fehler mehr ist schon mal gut. Ev. klemmt es an der Influx-KonnektivitĂ€t. Kleiner Test im Installationsverzeichnis stehend:
sudo systemctl stop wetterstation. ./wetterstation.conf. ./wetterstation.subminmax24h DEBUG

Danach Service wieder starten
systemctl start wetterstation -
habe das geĂ€ndert kein Fehler mehr, aber immer noch dasselbe. Hab auch mal die DPÂŽs gelöscht und ĂŒber das Script neu anlegen lassen. Hat auch nicht geholfen.
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 Wed 2023-05-17 10:30:07 CEST; 45min ago Main PID: 628054 (wetterstation.s) Tasks: 5 (limit: 21048) Memory: 2.8M CPU: 1min 28.219s CGroup: /system.slice/wetterstation.service ââ628054 /bin/bash /home/chris/wetterstation.sh ââ666172 /bin/bash /home/chris/wetterstation.sh ââ666173 timeout 38 nc -nlvw 1 -p 1080 ââ666174 tail -1 ââ666175 nc -nlvw 1 -p 1080 Mai 17 10:30:07 ioBroker wetterstation.sh[628071]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded!Verdammt, wegen dir ist mir jetzt aufgefallen, dass ich das selbe Problem habe....
@SBorg
Bei mir liegt es sowie es aussieht am httpslvl=info msg="http: TLS handshake error from 172.17.0.1:53300: local error: tls: bad record MAC" log_id=0hrT8bdl000 service=httpich hab in der .sub bei der Influxquery den -k Parameter hinzugefĂŒgt (weil ich ein selbstsigniertes Zertifikat verwende) und schon geht es
Zeile 1213local TMP_DATA=$(curl -sk --request POST "${INFLUX_WEB}://${INFLUX_API}/api/v2/query?org=${INFLUX_ORG}" --header 'Content-Type: application/vnd.flux' \ -
@chris76e Keine Fehler mehr ist schon mal gut. Ev. klemmt es an der Influx-KonnektivitÀt. Kleiner Test im Installationsverzeichnis stehend:
sudo systemctl stop wetterstation. ./wetterstation.conf. ./wetterstation.subminmax24h DEBUG

Danach Service wieder starten
systemctl start wetterstationDann kommt das hier
chris@ioBroker:~$ sudo systemctl stop wetterstation [sudo] Passwort fĂŒr chris: chris@ioBroker:~$ . ./wetterstation.conf chris@ioBroker:~$ . ./wetterstation.sub chris@ioBroker:~$ minmax24h DEBUG Testing InfluxDB... min/max Aussentemperatur 24h: °C °Chier ist mal meine wetterstation.conf, eventuell ist da ein Fehler???
### Settings V3.0.0 ----------------------------------------------------------- #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte debug=false #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden? RESET_KOMFEHLER=false #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei logging=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.0.21:8087 #Protokoll, ioBroker-IP und Port der Rest-API [http(s)://xxx.xxx.xxx.xxx:xxxxx] / leer lassen falls nicht benutzt RESTAPI_URL=http://192.168.0.21:8093 RESTAPI_USER=RestAPI RESTAPI_PW=xxxxx #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=DNS / default: 2 WS_PROTOKOLL=2 #Anzahl der vorhandenen Zusatzsensoren Froggit, Ecowitt und Bresser / default: 0 ANZAHL_WH31=0 ANZAHL_WS90=0 ANZAHL_DP10=0 ANZAHL_DP35=0 ANZAHL_DP40=0 ANZAHL_DP50=0 ANZAHL_DP60=0 ANZAHL_DP70=0 ANZAHL_DP100=0 ANZAHL_DP200=0 ANZAHL_DP250=0 ANZAHL_DP300=0 ANZAHL_7009999=0 #Protokoll (HTTP oder HTTPS) / default: HTTP WEB=HTTP #Ignoriere Zertifikatsfehler bei der Simple-Restful-API [true/false] / default: false / nötig bei eigenen Zertifikaten WEB_IGN_SSL_ERROR=false #User-Authentifizierung falls benutzt; sonst leer lassen AUTH_USER= AUTH_PASS= #Port der Wetterstation WS_PORT=1080 #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden) WS_POLL=16 #Name/ID der Wetterstation WS_ID=ZuHause #wo sollen die Datenobjekte abgelegt werden PRE_DP=javascript.0.Wetterstation #InfluxDB-Konfiguration fĂŒr Influx V1.x.x / ohne InfluxDB alles leer lassen #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_API=192.168.0.23:8086 #Bucket, Token und Organisation der InfluxDB INFLUX_BUCKET=iobroker INFLUX_TOKEN=6mBq1PkKwMWsHGRMS_qtSYH1e2dho2kOu_36JRr873i8FyCwcd81uieH9ZnbJ437CowkICe0837Ye_UXKGyF0w INFLUX_ORG=iobroker #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen") # DATUM = 28.04.2020 13:12 # UNIX = 1588074964 # DIFF = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen LAST_RAIN=DIFF #Text-Format fĂŒr Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text" # zweistellig wird ggf. mit einer fĂŒhrenden "0" aufgefĂŒllt # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59) # # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden # # Auswahl | Ausgabe im Datenpunkt # ---------------------------------------------------------------------------- # [0] = h Std. mm Min. ss Sek. | 68 Std. 02 Min. 15 Sek. # [1] = h:mm | 68:02 # [2] = d Tag/e h Std. | 2 Tage 20 Std. # [3] = d Tag/e, h Std, m Min | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0) SONNENSCHEIN_TXTFORMAT=3 #Daten an Wetter.com senden (leer lassen falls nicht gewĂŒnscht)? WETTERCOM_ID= WETTERCOM_PW= #Daten an Wunderground.com senden? [true/false] / default: false #Nur nötig und sinnvoll bei WS_PROTOKOLL=9 (DNS) wenn trotzdem auch Daten weiterhin an Wunderground.com gesendet werden sollen. WUNDERGROUND_UPDATE=false #Windrichtung und -geschwindigkeit der letzten 10 Minuten anstelle aktueller Werte an #windy/OpenSenseMap/wetter.com ĂŒbertragen? [true/false] / default: false USE_AVG_WIND=false #Fix aktivieren bei fehlerhafter AuĂentemperatur [true/false] / default: false #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt FIX_AUSSENTEMP=false ############################################################################################# ### openSenseMap - Einstellungen (nur nötig falls openSenseMap benutzt werden soll) ### ### ### ### FĂŒr die Registrierung muss "openSenseMap" auf "false" eingestellt sein! ### ### Erst wenn auch Sensoren angelegt wurden, darf auf "true" umgestellt werden! ### ############################################################################################# #openSenseMap aktivieren [true/false] / default: false openSenseMap=false #SenseBox-User senseBox_USER= #SenseBox-Password senseBox_PWD= #ID der senseBox (24-stellig) senseBox_ID= #Security-Token der Box BOX_TOKEN= ### Die restlichen Einstellungen fĂŒr OpenSenseMap werden vom System generiert/benutzt ###### ### Ănderungen sind hier nicht nötig, auĂer man weiĂ ganz genau was man tut! ############### #Sensor-IDs (wird automatisch anhand der Sensoren erzeugt) SENSEBOX_IDSENSOR=() #Sensor-Bezeichnung (Reihenfolge muss zur Sensor-ID identisch sein!) SENSEBOX_IDNAME=("Temperatur" "Luftfeuchte" "Luftdruck relativ" "Luftdruck absolut" "Taupunkt" "gefĂŒhlte Temperatur" "Sonnenstrahlung" "Windgeschwindigkeit" "Windrichtung" "UV-Index" "Regenrate") #Messwertezuordnung (Reihenfolge muss zur Sensor-ID identisch sein!) SENSEBOX_IDMESSWERT=(1 5 10 9 2 3 16 6 8 17 11) #Sensorendefinitionen ICONS=(osem-thermometer osem-humidity osem-barometer osem-barometer osem-thermometer osem-thermometer osem-brightness osem-particulate-matter osem-particulate-matter osem-brightness osem-umbrella) UNITS=('°C' '%H' 'hPa' 'hPa' '°C' '°C' 'W/mÂČ' 'km/h' '°' 'Index' 'mm/h') ############################################################################################# ### openSenseMap - Ende der Einstellungen ############################################# ############################################################################################# ############################################################################################# ### Windy - Einstellungen (nur nötig falls Windy benutzt werden soll) ### ############################################################################################# #Windy aktivieren [true/false] / default: false use_windy=false #Windy API-Key windy_APIKey= #Station [number: 0 - 2147483647] / default: 0 windy_Station= #Name der Station [Text] windy_Name= #Latitude/Breitengrad der Station windy_Latitude= #Longitude/LĂ€ngengrad der Station windy_Longitude= #Elevation/Höhe ĂNN windy_Elevation= #Montagehöhe Temperatursensor ĂŒber Boden windy_Tempheight= #Montagehöhe Windsensor ĂŒber Boden windy_Windheight= ############################################################################################# ### Windy - Ende der Einstellungen #################################################### ############################################################################################# ############################################################################################# ### AWEKAS - Einstellungen (nur nötig falls AWEKAS benutzt werden soll) ### ############################################################################################# #AWEKAS aktivieren [true/false] / default: false use_awekas=true #AWEKAS Login Username und Passwort AWEKAS_USER=xxxx AWEKAS_PW=jxxxx ############################################################################################# ### AWEKAS - Ende der Einstellungen ################################################### ############################################################################################# ### Ende Usereinstellungen ###EoF -
Verdammt, wegen dir ist mir jetzt aufgefallen, dass ich das selbe Problem habe....
@SBorg
Bei mir liegt es sowie es aussieht am httpslvl=info msg="http: TLS handshake error from 172.17.0.1:53300: local error: tls: bad record MAC" log_id=0hrT8bdl000 service=httpich hab in der .sub bei der Influxquery den -k Parameter hinzugefĂŒgt (weil ich ein selbstsigniertes Zertifikat verwende) und schon geht es
Zeile 1213local TMP_DATA=$(curl -sk --request POST "${INFLUX_WEB}://${INFLUX_API}/api/v2/query?org=${INFLUX_ORG}" --header 'Content-Type: application/vnd.flux' \@boronsbruder Sehr gut :)
Das fehlt dann aber auch beim Metsommer, da wird die Influx ebenso abgefragt.@Chris76e Jepp, da kommt nix. Ich gehe mal davon aus, dass dein Influx soweit in der conf korrekt ist. Deswegen auch die Frage:
Nutzt du ebenfalls bei Influx "https" mit einem selbst signierten Zertifikat?Dann Q&D-fix auf die schnelle: im Installationsverzeichnis stehend
 sed -i "s/curl -s --request POST/curl -sk --request POST/g" wetterstation.subausfĂŒhren und den Service restarten.
Die Ănderung pflege ich in die V3.1.0 dann ein. -
Dann kommt das hier
chris@ioBroker:~$ sudo systemctl stop wetterstation [sudo] Passwort fĂŒr chris: chris@ioBroker:~$ . ./wetterstation.conf chris@ioBroker:~$ . ./wetterstation.sub chris@ioBroker:~$ minmax24h DEBUG Testing InfluxDB... min/max Aussentemperatur 24h: °C °Chier ist mal meine wetterstation.conf, eventuell ist da ein Fehler???
### Settings V3.0.0 ----------------------------------------------------------- #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte debug=false #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden? RESET_KOMFEHLER=false #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei logging=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.0.21:8087 #Protokoll, ioBroker-IP und Port der Rest-API [http(s)://xxx.xxx.xxx.xxx:xxxxx] / leer lassen falls nicht benutzt RESTAPI_URL=http://192.168.0.21:8093 RESTAPI_USER=RestAPI RESTAPI_PW=xxxxx #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=DNS / default: 2 WS_PROTOKOLL=2 #Anzahl der vorhandenen Zusatzsensoren Froggit, Ecowitt und Bresser / default: 0 ANZAHL_WH31=0 ANZAHL_WS90=0 ANZAHL_DP10=0 ANZAHL_DP35=0 ANZAHL_DP40=0 ANZAHL_DP50=0 ANZAHL_DP60=0 ANZAHL_DP70=0 ANZAHL_DP100=0 ANZAHL_DP200=0 ANZAHL_DP250=0 ANZAHL_DP300=0 ANZAHL_7009999=0 #Protokoll (HTTP oder HTTPS) / default: HTTP WEB=HTTP #Ignoriere Zertifikatsfehler bei der Simple-Restful-API [true/false] / default: false / nötig bei eigenen Zertifikaten WEB_IGN_SSL_ERROR=false #User-Authentifizierung falls benutzt; sonst leer lassen AUTH_USER= AUTH_PASS= #Port der Wetterstation WS_PORT=1080 #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden) WS_POLL=16 #Name/ID der Wetterstation WS_ID=ZuHause #wo sollen die Datenobjekte abgelegt werden PRE_DP=javascript.0.Wetterstation #InfluxDB-Konfiguration fĂŒr Influx V1.x.x / ohne InfluxDB alles leer lassen #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_API=192.168.0.23:8086 #Bucket, Token und Organisation der InfluxDB INFLUX_BUCKET=iobroker INFLUX_TOKEN=6mBq1PkKwMWsHGRMS_qtSYH1e2dho2kOu_36JRr873i8FyCwcd81uieH9ZnbJ437CowkICe0837Ye_UXKGyF0w INFLUX_ORG=iobroker #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen") # DATUM = 28.04.2020 13:12 # UNIX = 1588074964 # DIFF = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen LAST_RAIN=DIFF #Text-Format fĂŒr Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text" # zweistellig wird ggf. mit einer fĂŒhrenden "0" aufgefĂŒllt # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59) # # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden # # Auswahl | Ausgabe im Datenpunkt # ---------------------------------------------------------------------------- # [0] = h Std. mm Min. ss Sek. | 68 Std. 02 Min. 15 Sek. # [1] = h:mm | 68:02 # [2] = d Tag/e h Std. | 2 Tage 20 Std. # [3] = d Tag/e, h Std, m Min | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0) SONNENSCHEIN_TXTFORMAT=3 #Daten an Wetter.com senden (leer lassen falls nicht gewĂŒnscht)? WETTERCOM_ID= WETTERCOM_PW= #Daten an Wunderground.com senden? [true/false] / default: false #Nur nötig und sinnvoll bei WS_PROTOKOLL=9 (DNS) wenn trotzdem auch Daten weiterhin an Wunderground.com gesendet werden sollen. WUNDERGROUND_UPDATE=false #Windrichtung und -geschwindigkeit der letzten 10 Minuten anstelle aktueller Werte an #windy/OpenSenseMap/wetter.com ĂŒbertragen? [true/false] / default: false USE_AVG_WIND=false #Fix aktivieren bei fehlerhafter AuĂentemperatur [true/false] / default: false #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt FIX_AUSSENTEMP=false ############################################################################################# ### openSenseMap - Einstellungen (nur nötig falls openSenseMap benutzt werden soll) ### ### ### ### FĂŒr die Registrierung muss "openSenseMap" auf "false" eingestellt sein! ### ### Erst wenn auch Sensoren angelegt wurden, darf auf "true" umgestellt werden! ### ############################################################################################# #openSenseMap aktivieren [true/false] / default: false openSenseMap=false #SenseBox-User senseBox_USER= #SenseBox-Password senseBox_PWD= #ID der senseBox (24-stellig) senseBox_ID= #Security-Token der Box BOX_TOKEN= ### Die restlichen Einstellungen fĂŒr OpenSenseMap werden vom System generiert/benutzt ###### ### Ănderungen sind hier nicht nötig, auĂer man weiĂ ganz genau was man tut! ############### #Sensor-IDs (wird automatisch anhand der Sensoren erzeugt) SENSEBOX_IDSENSOR=() #Sensor-Bezeichnung (Reihenfolge muss zur Sensor-ID identisch sein!) SENSEBOX_IDNAME=("Temperatur" "Luftfeuchte" "Luftdruck relativ" "Luftdruck absolut" "Taupunkt" "gefĂŒhlte Temperatur" "Sonnenstrahlung" "Windgeschwindigkeit" "Windrichtung" "UV-Index" "Regenrate") #Messwertezuordnung (Reihenfolge muss zur Sensor-ID identisch sein!) SENSEBOX_IDMESSWERT=(1 5 10 9 2 3 16 6 8 17 11) #Sensorendefinitionen ICONS=(osem-thermometer osem-humidity osem-barometer osem-barometer osem-thermometer osem-thermometer osem-brightness osem-particulate-matter osem-particulate-matter osem-brightness osem-umbrella) UNITS=('°C' '%H' 'hPa' 'hPa' '°C' '°C' 'W/mÂČ' 'km/h' '°' 'Index' 'mm/h') ############################################################################################# ### openSenseMap - Ende der Einstellungen ############################################# ############################################################################################# ############################################################################################# ### Windy - Einstellungen (nur nötig falls Windy benutzt werden soll) ### ############################################################################################# #Windy aktivieren [true/false] / default: false use_windy=false #Windy API-Key windy_APIKey= #Station [number: 0 - 2147483647] / default: 0 windy_Station= #Name der Station [Text] windy_Name= #Latitude/Breitengrad der Station windy_Latitude= #Longitude/LĂ€ngengrad der Station windy_Longitude= #Elevation/Höhe ĂNN windy_Elevation= #Montagehöhe Temperatursensor ĂŒber Boden windy_Tempheight= #Montagehöhe Windsensor ĂŒber Boden windy_Windheight= ############################################################################################# ### Windy - Ende der Einstellungen #################################################### ############################################################################################# ############################################################################################# ### AWEKAS - Einstellungen (nur nötig falls AWEKAS benutzt werden soll) ### ############################################################################################# #AWEKAS aktivieren [true/false] / default: false use_awekas=true #AWEKAS Login Username und Passwort AWEKAS_USER=xxxx AWEKAS_PW=jxxxx ############################################################################################# ### AWEKAS - Ende der Einstellungen ################################################### ############################################################################################# ### Ende Usereinstellungen ###EoF@chris76e Ok, Fehler gefunden, dir fehlt das Protokoll fĂŒr Influx:
#InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen #Protokoll (HTTP oder HTTPS) / default: HTTP INFLUX_WEB=HTTP #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_API= #Bucket, Token und Organisation der InfluxDB INFLUX_BUCKET= INFLUX_TOKEN= INFLUX_ORG=FĂŒge einfach
INFLUX_WEB=HTTPhinzu, neu starten und dann hoffentlich freuen ;) -
@boronsbruder Sehr gut :)
Das fehlt dann aber auch beim Metsommer, da wird die Influx ebenso abgefragt.@Chris76e Jepp, da kommt nix. Ich gehe mal davon aus, dass dein Influx soweit in der conf korrekt ist. Deswegen auch die Frage:
Nutzt du ebenfalls bei Influx "https" mit einem selbst signierten Zertifikat?Dann Q&D-fix auf die schnelle: im Installationsverzeichnis stehend
 sed -i "s/curl -s --request POST/curl -sk --request POST/g" wetterstation.subausfĂŒhren und den Service restarten.
Die Ănderung pflege ich in die V3.1.0 dann ein.@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nutzt du ebenfalls bei Influx "https" mit einem selbst signierten Zertifikat?
Nicht das ich wĂŒsste... Wo kann ich das sehen?
Habe das jetzt so geÀndert
#InfluxDB-Konfiguration fĂŒr Influx V1.x.x / ohne InfluxDB alles leer lassen #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_WEB=HTTP INFLUX_API=192.168.0.23:8086und neugestartet. jetzt mal schaun ob es funktioniert.
-
@chris76e Ok, Fehler gefunden, dir fehlt das Protokoll fĂŒr Influx:
#InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen #Protokoll (HTTP oder HTTPS) / default: HTTP INFLUX_WEB=HTTP #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_API= #Bucket, Token und Organisation der InfluxDB INFLUX_BUCKET= INFLUX_TOKEN= INFLUX_ORG=FĂŒge einfach
INFLUX_WEB=HTTPhinzu, neu starten und dann hoffentlich freuen ;)