NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg
Ich werde das mal testen
Mir ist aber gerade aufgefallen, dass im Wetterstations-Log weit über 15 Minuten keine Daten kamen:PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4281915&heap=147048&dateutc=2024-09-05+17:39:14&tempinf=81.32&humidityin=56&baromrelin=29.784&baromabsin=28.160&tempf=74.12&humidity=77&winddir=234&windspeedmph=0.67&windgustmph=2.24&maxdailygust=8.05&solarradiation=1.72&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=75.38&humidity1=76&soilmoisture1=50&soilad1=258&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.3&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30 PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4284692&heap=150960&dateutc=2024-09-05+18:25:31&tempinf=81.50&humidityin=57&baromrelin=29.805&baromabsin=28.180&tempf=71.42&humidity=82&winddir=173&windspeedmph=2.01&windgustmph=4.47&maxdailygust=8.05&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=73.04&humidity1=80&soilmoisture1=50&soilad1=257&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.4&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30
dateutc=2024-09-05+17:39:14 bis dateutc=2024-09-05+18:25:31
Wann wird das Log geschrieben?
Nicht dass das Gateway keine Daten gesendet hat, weil es keine Verbindung zum Internet hatte?
-
@boronsbruder
Hmm, Gateway bin ich außen vor, allerdings hatte ich auch schon öfters ein abgestürtzes Internet. Da kamen nach Wiederherstellung ziemlich zügig wieder Daten an.Zumindest fast 45 Minuten kommt IMO nicht vom Skript, muss ich mir aber noch mal anschauen.
Das Ganze ist eine Endlosschleife:- warte auf ein Datenpaket
- verarbeite dies in zig Schritten
- mach den Beikram wie Min/Max etc.
- führe bei Bedarf 5,6 oder 15 Minutenjobs aus
- Mitternacht? --> Mitternachtjobs
- sende die Daten an die aktivierten Dienste
- und zum Schluß bevor wir einen neuen Durchlauf starten schreibe die Logzeile
-
@sborg
Ahh, dann kann es sein, da er laut dem Log ja einen 2. Versuch bei Awekas unternommen hat.
Bei den Wiederholungsversuchen ist das Default übrigens 20.
Kann mit --tries=number geändert werden.Da ich Internet über LTE habe und es die Fritte nicht geschafft hat eine Neuverbindung aufzubauen, war das Internet ne gute 3/4 Stunde weg, bis ich sie manuell wiederverbunden habe --- was zu den Log Daten passen würde.
-
@sborg
Also...
Mit folgender Änderunglocal MESSAGE=$(wget -qO- --tries=1 --timeout=15 "${AWEKAS_URL}")
werden die von der Wetterstation kommenden Daten intern (im LAN) weiter verarbeitet und an den Iobroker gesendet, wenn die Verbindung ins Web abreisst.
Ohne bleibt das Skript in der 20x 900 Sekunden Schleife stehen und wird (vermutlich) erst dann wieder Daten an den Iobroker weiterleiten.
Grüße
Markus -
@boronsbruder
Ich weiß aktuell nicht mehr ob das bei Awekas einen richtigen Grund hat mittels "wget" zu kommunizieren. Die "Anderen" Dienste laufen mittels "curl" und haben einen Timeout von 10 SekundenDanke auf jeden Fall fürs testen, die Änderung nehme ich für die nächste Version mit auf.
-
Das sind die besten Tage, sonnig bei geschlossener Wolkendecke und Regen
-
Hallo
Also bei mir funktioniert das Sript mit HP1000SE super. Nur ist mir aufgefallen das beim Regen die Daten zweimal kurz hintereinander geschrieben werden. Ist schlecht für eine Auswertung.
Gruß
Werner -
@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