NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@BigMike71
Päckchen kam heute nach 24 Tagen an...Der Austausch des alten gegen den neuen Temp-/Feuchte-Kombisensor war problemlos. Nur ein paar Schrauben und ein Stecker.
Mein alter Sensor war in einer Art "Stoffbeutel", der neue ist in einem steckbaren, schwarzen runden Gehäuse.
Anscheinend geht dieser Sensor häufiger kaputt, warum wäre Ecowitt sonst auf eine Steckvariante gewechselt ;o)Hier ein Bild vom alten und neuen Sensor:

Die oberste Platte / Schicht von dem Gerippe muß man mit tauschen / kaufen! Die enthält den Sockel für den (steckbaren) Sensor.
Ich habe dieses Set bestellt.
Meine Station funktioniert jetzt wieder einwandfrei.
Gutes gelingen.
Gruß Hefo -
@Hefo
Moin,
heute ist mein Ersatzteil angekommen :)Habe festgestellt das ich schon den "neuen" unterbau drinn habe, so brauchte ich nur den Sensor tauschen (War auch der mit Stoff rum) und taaadaa es geht wieder !!!
nochmals vielen Dank@BigMike71
Freut mich zu hören, dass es bei Dir auch geklappt hat!
Mal sehen, wie lange unsere beiden "Neuen" dann halten ;o) -
@BigMike71
Freut mich zu hören, dass es bei Dir auch geklappt hat!
Mal sehen, wie lange unsere beiden "Neuen" dann halten ;o)Hallo,
mein Statistikscript läuft eigentlich schon Jahrelang problemlos, jetzt ist mir aber aufgefallen, dass meine Rekordtemperatur nicht gestimmt hat. Es sollte eigentlich 38,61 angezeigt werden vom 31.07.26, stattdessen zeigt er nur 38 vom 30.07.26 an.
Hat jemand eine Idee, warum?


-
Ja, ist ein Fehler (genauer in der Abfolge) im Script. Am letzten Tag des Monats (auch hier genauer am 1. des Folgemonats) werden die Tageswerte vor dem ermitteln der Rekorde gelöscht.
Wer möchte... mir fehlt einfach schon ewig die Zeit dafür es zu fixen.
Ich dachte, probierst mal KI, die hat den Fehler auch richtig erkannt, der (angebliche) Fix war dann aber leider mehr als Murks
-
Ja, ist ein Fehler (genauer in der Abfolge) im Script. Am letzten Tag des Monats (auch hier genauer am 1. des Folgemonats) werden die Tageswerte vor dem ermitteln der Rekorde gelöscht.
Wer möchte... mir fehlt einfach schon ewig die Zeit dafür es zu fixen.
Ich dachte, probierst mal KI, die hat den Fehler auch richtig erkannt, der (angebliche) Fix war dann aber leider mehr als Murks
Danke für die Analyse, vielleicht findest du (oder jemand anderer) Zeit für den Fix ;-)
-
Danke für die Analyse, vielleicht findest du (oder jemand anderer) Zeit für den Fix ;-)
@sborg
Ich habe mal ein Code Review "machen lassen", hier meine Findings. Hab auch gleich die Fixes dazu. Wenn du diese akzeptierst, könntest du das gleich einchecken ;) -
hab gerade dies entdeckt.
influxdb.2 2026-08-17 01:12:33.116 warn Error: Non Finite value NaN for 0_userdata.0.Wetterstation.Info.Hitzeindex can not be handled0_userdata.0.Wetterstation.Info.Hitzeindexzeigt nichts an.
Was will da nicht?
-
hab gerade dies entdeckt.
influxdb.2 2026-08-17 01:12:33.116 warn Error: Non Finite value NaN for 0_userdata.0.Wetterstation.Info.Hitzeindex can not be handled0_userdata.0.Wetterstation.Info.Hitzeindexzeigt nichts an.
Was will da nicht?
@Negalein
Das hat vermutlich mit der neuen InfluxDB v5 zu tun, bekomme ähnliche Fehler auch bei anderen Adaptern.Aber das Stat-script wirft auch Fehler:
javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at process.callbackTrampoline (node:internal/async_hooks:130:17) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at processImmediate (node:internal/timers:484:21) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11027:45) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Object.cbFunc [as cb] (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:4083:38) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Object.<anonymous> (script.js.common.Wetterstatistik:198:43) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Array.reduce (<anonymous>) javascript.0 2026-08-17 01:03:00.303 error script.js.common.Wetterstatistik: Error in callback: TypeError: Reduce of empty array with no initial value javascript.0 2026-08-17 01:03:00.264 error script.js.common.Wetterstatistik: Fehler beim Lesen der InfluxDB: compilation failed: error @1:199-1:200: invalid statement: ,error @1:391-1:392: invalid statement: , influxdb.1 2026-08-17 01:03:00.256 error queries: compilation failed: error @1:199-1:200: invalid statement: ,error @1:391-1:392: invalid statement: , -
@Negalein
Das hat vermutlich mit der neuen InfluxDB v5 zu tun, bekomme ähnliche Fehler auch bei anderen Adaptern.Aber das Stat-script wirft auch Fehler:
javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at process.callbackTrampoline (node:internal/async_hooks:130:17) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at processImmediate (node:internal/timers:484:21) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11027:45) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Object.cbFunc [as cb] (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:4083:38) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Object.<anonymous> (script.js.common.Wetterstatistik:198:43) javascript.0 2026-08-17 01:03:00.304 error script.js.common.Wetterstatistik: at Array.reduce (<anonymous>) javascript.0 2026-08-17 01:03:00.303 error script.js.common.Wetterstatistik: Error in callback: TypeError: Reduce of empty array with no initial value javascript.0 2026-08-17 01:03:00.264 error script.js.common.Wetterstatistik: Fehler beim Lesen der InfluxDB: compilation failed: error @1:199-1:200: invalid statement: ,error @1:391-1:392: invalid statement: , influxdb.1 2026-08-17 01:03:00.256 error queries: compilation failed: error @1:199-1:200: invalid statement: ,error @1:391-1:392: invalid statement: , -
mit der neuen InfluxDB v5
hab die nicht upgedatet
hmmmm, wie find ich die Version raus?
@Negalein
den InfluxDB Adapter meine ich... -
@Negalein
den InfluxDB Adapter meine ich... -
@sborg
Ich habe mal ein Code Review "machen lassen", hier meine Findings. Hab auch gleich die Fixes dazu. Wenn du diese akzeptierst, könntest du das gleich einchecken ;)@sborg
Ich habe mal ein Code Review "machen lassen", hier meine Findings. Hab auch gleich die Fixes dazu. Wenn du diese akzeptierst, könntest du das gleich einchecken ;)@massiveattack
Danke für die Mühe (<-- keine Ironie, ernst gemeint)
Aber leider nein, die Analyse war mal wieder ...
Nur zwei Beispiele:- Tropennächte werden hundertfach gezählt — Schleifenlogik falsch (Zeilen 541–553)
if (MonatsTag != MonatsTag_old) { Hit=[..., true]; } // Hit[8]=true bei Tageswechsel
if (Temp < 20 && Hit[8] == true) { Hit[8] = false; }
MonatsTag_old = MonatsTag;
if (Hit[8]) { VTropennaechte++; } // ↠pro MESSWERT, nicht pro Tag!VTropennaechte++ wird am Ende jeder Iteration ausgeführt, solange Hit[8] true ist. An einem echten Tropennacht-Tag mit
z.B. 48 Halbstundenwerten (alle ≥ 20°C) werden 48 Tropennächte gezählt statt einer. Korrekt wäre die Auswertung beim
Tageswechsel.und
Eistage sind Tage mit Höchsttemperatur < 0°C (nicht Tiefsttemperatur). Mit der aktuellen Logik sind Eistage und
Frosttage immer identisch.Einfaches Beispiel aus meinen Daten:

Ok, er hat Recht, im Mai, Juni und Juli sind sie tatsächlich identisch...
Die hunderte Tropennächte suche ich aktuell noch... [IRONIE /OFF]
Er hat wohl übersehen, dass einiges an Auswertung aus der InfluxDB kommt.Aber wer will kann es ja gerne mal testen

-
Ich habe auch eine V2.0.8 des Statistik-Scriptes hochgeladen, die sollte funktionieren für Influx-Adapter 5.x
"sollte" = ich habe in letzter Sekunde noch zwei Miniänderungen vorgenommen und damit genau das gemacht was man eigentlich nicht sollte. Ungetestet gepublisht.
Der Influx-Adapter hat wohl einen Bug, oder die Doku wurde nicht aktualisiert. Eigentlich hätte die Abfrage weiter funktionieren sollen, was sie aber augenscheinlich nicht tut. -
Ich habe auch eine V2.0.8 des Statistik-Scriptes hochgeladen, die sollte funktionieren für Influx-Adapter 5.x
"sollte" = ich habe in letzter Sekunde noch zwei Miniänderungen vorgenommen und damit genau das gemacht was man eigentlich nicht sollte. Ungetestet gepublisht.
Der Influx-Adapter hat wohl einen Bug, oder die Doku wurde nicht aktualisiert. Eigentlich hätte die Abfrage weiter funktionieren sollen, was sie aber augenscheinlich nicht tut.@SBorg
also ich habe "meine" version bei mir laufen, ohne probleme
-
Ich habe auch eine V2.0.8 des Statistik-Scriptes hochgeladen, die sollte funktionieren für Influx-Adapter 5.x
"sollte" = ich habe in letzter Sekunde noch zwei Miniänderungen vorgenommen und damit genau das gemacht was man eigentlich nicht sollte. Ungetestet gepublisht.
Der Influx-Adapter hat wohl einen Bug, oder die Doku wurde nicht aktualisiert. Eigentlich hätte die Abfrage weiter funktionieren sollen, was sie aber augenscheinlich nicht tut. -
@negalein
Das kommt aber nicht vom Statistik-Script. Außerdem wird dort der "Hitze-Index" überhaupt nicht benutzt/verwertet.
Das kommt von einem anderen Script, Blockly etc. direkt als Fehlerausgabe, denn Meldungen seitens JS sind immer klein geschrieben (also "error") und würden den Skript-Namen beinhalten:2026-08-23 01:03:00.173 - info: javascript.0 (4016614) script.js.common.Wetter.Wetterstation-Statistik_V2_0_8: InfluxDB: Temperatur=1005, Wind=411, Regen=15
2026-08-23 01:03:00.174 - info: javascript.0 (4016614) script.js.common.Wetter.Wetterstation-Statistik_V2_0_8: Auswertung durchgeführt...... und bevor wer fragt was das für eine Ausgabe ist/sie bedeutet: das sind die Anzahl der Datensätze die aus der InfluxDB gelesen wurden, also 1005 Temperaturwerte, 411 Windstärken und 15 Regenmengen
-
@negalein
Das kommt aber nicht vom Statistik-Script. Außerdem wird dort der "Hitze-Index" überhaupt nicht benutzt/verwertet.
Das kommt von einem anderen Script, Blockly etc. direkt als Fehlerausgabe, denn Meldungen seitens JS sind immer klein geschrieben (also "error") und würden den Skript-Namen beinhalten:2026-08-23 01:03:00.173 - info: javascript.0 (4016614) script.js.common.Wetter.Wetterstation-Statistik_V2_0_8: InfluxDB: Temperatur=1005, Wind=411, Regen=15
2026-08-23 01:03:00.174 - info: javascript.0 (4016614) script.js.common.Wetter.Wetterstation-Statistik_V2_0_8: Auswertung durchgeführt...... und bevor wer fragt was das für eine Ausgabe ist/sie bedeutet: das sind die Anzahl der Datensätze die aus der InfluxDB gelesen wurden, also 1005 Temperaturwerte, 411 Windstärken und 15 Regenmengen
Das kommt aber nicht vom Statistik-Script. Außerdem wird dort der "Hitze-Index" überhaupt nicht benutzt/verwertet.
hängt mit dem neuen Influx Adapter zusammen.
Zurück auf 4.0.2 und es läuft wieder.Dachte, weil du
Ich habe auch eine V2.0.8 des Statistik-Scriptes hochgeladen, die sollte funktionieren für Influx-Adapter 5.xgeschrieben hast. -
Die V2.0.8 beseitigt nur den auftretenden Fehler bei Nutzung des Influx-Adapters V5.x:
2026-08-17 01:03:00.018 - info: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: Auswertung durchgeführt...
2026-08-17 01:03:00.073 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: Fehler beim Lesen der InfluxDB: compilation failed: error @1:205-1:206: invalid statement: ,
error @1:403-1:404: invalid statement: ,
2026-08-17 01:03:00.068 - error: influxdb.3 (3414492) queries: compilation failed: error @1:205-1:206: invalid statement: ,
error @1:403-1:404: invalid statement: ,
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: Error in callback: TypeError: Reduce of empty array with no initial value
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Array.reduce ()
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Object. (script.js.common.Wetter.Wetterstation-Statistik_V2_0_7:199:43)
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Object.cbFunc [as cb] (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:4083:38)
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11027:45)
2026-08-17 01:03:00.288 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
2026-08-17 01:03:00.288 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at processImmediate (node:internal/timers:484:21)
2026-08-17 01:03:00.288 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at process.callbackTrampoline (node:internal/async_hooks:130:17)Der "Hitze-Index" funktioniert bei mir, der wird aber direkt vom WLAN-Skript erzeugt und sonst nicht weiter verarbeitet.
-
Die V2.0.8 beseitigt nur den auftretenden Fehler bei Nutzung des Influx-Adapters V5.x:
2026-08-17 01:03:00.018 - info: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: Auswertung durchgeführt...
2026-08-17 01:03:00.073 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: Fehler beim Lesen der InfluxDB: compilation failed: error @1:205-1:206: invalid statement: ,
error @1:403-1:404: invalid statement: ,
2026-08-17 01:03:00.068 - error: influxdb.3 (3414492) queries: compilation failed: error @1:205-1:206: invalid statement: ,
error @1:403-1:404: invalid statement: ,
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: Error in callback: TypeError: Reduce of empty array with no initial value
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Array.reduce ()
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Object. (script.js.common.Wetter.Wetterstation-Statistik_V2_0_7:199:43)
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Object.cbFunc [as cb] (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:4083:38)
2026-08-17 01:03:00.287 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11027:45)
2026-08-17 01:03:00.288 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
2026-08-17 01:03:00.288 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at processImmediate (node:internal/timers:484:21)
2026-08-17 01:03:00.288 - error: javascript.0 (2948224) script.js.common.Wetter.Wetterstation-Statistik_V2_0_7: at process.callbackTrampoline (node:internal/async_hooks:130:17)Der "Hitze-Index" funktioniert bei mir, der wird aber direkt vom WLAN-Skript erzeugt und sonst nicht weiter verarbeitet.
Die V2.0.8 beseitigt nur den auftretenden Fehler bei Nutzung des Influx-Adapters V5.x:
OK
Der "Hitze-Index" funktioniert bei mir, der wird aber direkt vom WLAN-Skript erzeugt und sonst nicht weiter verarbeitet.
wie/wo kann ich prüfen, warum mit Influx-Adapter 4.0.2 der Hitzeindex funktioniert, aber mit 5.x nicht funktioniert.
-
Die V2.0.8 beseitigt nur den auftretenden Fehler bei Nutzung des Influx-Adapters V5.x:
OK
Der "Hitze-Index" funktioniert bei mir, der wird aber direkt vom WLAN-Skript erzeugt und sonst nicht weiter verarbeitet.
wie/wo kann ich prüfen, warum mit Influx-Adapter 4.0.2 der Hitzeindex funktioniert, aber mit 5.x nicht funktioniert.
@Negalein Ich vermute du loggst den Hitze-Index direkt per InfluxDB?
Dann könnte die 5er Version ev. ein Problem damit haben, dass hier nicht immer ein Wert vorhanden ist, obwohl "ack=true" gesetzt wird.
Ich habe es jetzt nur für den Screeny mal eingeschaltet, also keine Ahnung ob es hilft, aber aktiviere mal "0" / "Null" und explizit "speichere als Zahl"

Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login