NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@werners
Immer oder auch nur wenn es tatsächlich regnet? Andere Werte sind nicht betroffen?
Auch wenn du es wahrscheinlich nicht lesen magst, sieht aber nach einem lokalen Problemchen (oder der Station) bei dir aus.
Das Skript macht zuerst von alleine nichts, es führt also keine Aktion zwischenzeitlich aus wie bspw. Werte schreiben.
Es benötigt immer einen Trigger/Auslöser. Dies ist dann ein Datenpaket von der Station. Erst dann wird die Routine durchlaufen. Läuft bspw. gegen Mitternacht die Station nicht (=sendet keinerlei Datenpakete), wird auch nichts zurückgestellt (es fehlt dafür der Auslöser "empfangenes Datenpaket") und zB. der Solarwert wird nicht zurückgestellt.
Wenn er also bei dir kurz hintereinander den Regen 2x schreibt, muss auch 2x kurz hintereinander ein Datenpaket eingetrudelt sein (dann schreibt er aber auch fast alle anderen Werte).
Du kannst mal testweise das "Logging" per "conf" (nicht Debug) aktivieren (sudo systemctl restart wetterstation
zum aktivieren nicht vergessen). Dann schreibt er jedes empfangene Datenpaket in die Logdatei. Ev. sieht man dann schon am Zeitstempel ob er tatsächlich kurz hintereinander zwei Datenpakete sendet. Dies könnte ich dann notfalls ausfiltern -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
sudo systemctl restart wetterstation
ok habe ich gemacht. Jetzt muss ich nur noch auf den nächsten Regen warten dann schicke ich dir hier die logs.
Ich gehe davon aus das in den logs keine vertrauliche Daten gespeihert werden.Gruß
Werner -
So es hat gestern geregnet. Hier die logs
Gruß
Werner -
@werners
Sorry, dauert bei mir aktuell "etwas"...Sieht soweit gut aus. Ich frage mal scheinheilig, mit "kurz hintereinander" meinst du aber nicht ca. 16 Sekunden? Das wäre so aktuell korrekt, denn deine Station sendet ca. alle 16 Sekunden ein Datenpakt. Darauf würde das Skript reagieren und alle 16 Sekunden ein Datenpaket an den ioB absetzen.
Falls schneller: wie stellst du es fest? Per logging InfluxDB? Wie kurz ist es dann lt. InfluxDB? -
ich habe direkt in den Verlaufsdaten nachgesehen und einen Download gemacht. Aber ich muss dir recht geben ich habe da wohl in Excel einen Fehler gemacht. Sorry
Mal schauen wie ich das am sinnvollsten in Grafana darstelle. Mit Bargraph sieht das etwas blöd aus -
habe heute einen DP50 zusätzlich in Betrieb genommen.
Beim durchlaufen vom Wetterstation Datenpunkte anlegen V3.4.0 kam es im Log
zu Warnungen, vielleicht können die ja zur nächsten Version korregiert werden?! -
Kurze Info:
Die GW2000 können mit der aktuellen Firmware (GW2000A_V3.1.5) 16 Kanäle mit Bodenfeuchte-Sensoren nutzen. -
Moin,
das Script läuft echt super. Ich habe eine Ws90 mit GW2000.
Neuerdings zeigt die WSView+ app bei Regen ein Symbol an. Und reagiert damit - so mein Empfinden - deutlich schneller auf regen als es die aktuelle Niederschlagsmenge macht. Ist das im Script auch integriert?
Danke -
@easytj
Kann es nur, wenn es in den Daten des Gateway mitgesendet wird.
In meinen aktuellen Logs habe ich keinen Platzhalter dafür gesehen.
Am besten die Stationsdaten mit loggen und bei Regen reinschaun, ob das ein zusätzliches Datenpaket auftaucht. -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Sorry, dauert bei mir aktuell "etwas"...
Naja, waren jetzt nur knapp 6 Wochen, scheint aber soweit noch zu laufen.
Kinners kann euch gar nicht beschreiben wie viel braune Masse mir am Hacken klebt.
@bigmike71 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
...zu Warnungen, vielleicht können die ja zur nächsten Version korregiert werden?!
Danke für den Hinweis. Aktuelle Version V3.4.1 (ich hoffe alle Stellen gefunden zu haben) liegt auf GitHub und hält dann Einzug mit der nächsten Version. Braucht niemand upzudaten, ist ein reiner "Schönheitsfehler" der nur einmalig beim Anlegen der Datenpunkte auftritt. Muss, und soll aber nicht sein
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kurze Info:
Die GW2000 können mit der aktuellen Firmware (GW2000A_V3.1.5) 16 Kanäle mit Bodenfeuchte-Sensoren nutzen.Nutzt das aktuell jemand? Da müsste man dann mal den String sehen. Wenn sie 10-16 so übertragen wäre dies etwas was ich wahrscheinlich so nicht unterstützen würde. Der Aufwand dürfte nicht gerade klein sein. Wenn sie allerdings A-F (also HEX) nutzen, wäre es noch relativ einfach.
-
@easytj sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ist das im Script auch integriert?
Nein, siehe aber @Boronsbruder . In 4 Wochen sollte es mittlerweile auch mal geregnet haben?
Allerdings kann sie nur Regen egal wie und wo anzeigen wenn der Sensor auch eine Regenmenge gemessen hat (außer halt beim Wittboy, der detektiert anders). Von daher kann es durchaus sein, dass der schneller detektiert. Das müsste sich aber im String wiederspiegeln, sonst könnte WSView+ es auch nicht anzeigen -
Ich bekomme seit 2 Tagen folgende Info vom Wetterscript,
2024-11-12 01:03:00.020 - info: javascript.0 (748) script.js.common.Wetterstation.Statistik: Auswertung durchgeführt... 2024-11-12 01:03:00.273 - info: javascript.0 (748) script.js.common.Wetterstation.Statistik: Fehler: AxiosError: Request failed with status code 429
Was kann das sein? Die Statistik ist aber aktuell
-
bei Awekas gibt es die Möglichkeit, sich die Sonnenstunden im Dashboard anzeigen zu lassen.
Wir haben einen DP0_userdata.0.Wetterstation.Info.Sonnenschein_Tag
.
Könntest du den noch im Script an Awekas schicken? -
@babl sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Was kann das sein? Die Statistik ist aber aktuell
Da ist ggf. mal wieder was an JS oder dem JSC geändert worden. Die Statistik funktioniert trotzdem, nur "axios" ist davon betroffen und der wird nur benutzt, um auf GitHub nach einer neuen Skript-Version zu suchen.
Neue Version liegt auf GitHub, sollte das Problem fixen.
Update für alle Statistiker empfohlen, zumindest für diejenigen die auch den Update-Check aktiviert haben.
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Könntest du den noch im Script an Awekas schicken?
Nicht auf die schnelle. Das wird nur über die API unterstützt und bedarf eines kpl. Umbaus der Routine. Das bekomme ich aktuell zeitlich nicht gebacken.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das bekomme ich aktuell zeitlich nicht gebacken.
keine Eile. Die Sonne stirbt nicht so schnell.
und wie heißt es bei uns im Alpenland............vom hudln kemmand d'Kinda
-
@sborg danke 2.05 läuft
-
@babl Danke für die Rückmeldung
-
Hallo
sagt dir dieser Error etwas?
javascript.1 2024-11-20 01:03:00.022 error at processImmediate (node:internal/timers:483:21) javascript.1 2024-11-20 01:03:00.022 error at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37) javascript.1 2024-11-20 01:03:00.022 error at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45) javascript.1 2024-11-20 01:03:00.022 error at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38) javascript.1 2024-11-20 01:03:00.021 error at Object.<anonymous> (script.js.Wetter.Wetterstatistik:195:43) javascript.1 2024-11-20 01:03:00.021 error at Array.reduce (<anonymous>) javascript.1 2024-11-20 01:03:00.021 error Error in callback: TypeError: Reduce of empty array with no initial value javascript.1 2024-11-20 01:03:00.019 error script.js.Wetter.Wetterstatistik: Fehler beim Lesen der InfluxDB: Invalid call influxdb.0 2024-11-20 01:03:00.014 error query: Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
was geschiet da in Zeile 195?
let MonatsTemp_Durchschnitt = Math.round(((((getState(PRE_DP+'.aktueller_Monat.Temperatur_Durchschnitt').val)*(zeitstempel.getDate()-1))+Temp_Durchschnitt)/zeitstempel.getDate())*100)/100;
irgendwas passt da nicht. wenn du dir die Werte anschaust.