NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
So … Update aufgespielt …. lauft wie immer Top
@Glasfaser wie hast Du mit Flot die Balken hinbekommen.
Versuche schon den halben Tag das hinzubekommen aber irgendwie will das nicht.
Würdest Du mir den Link zu Flot zukommen lassenErledigt!
-
@SBorg das hab ich gemerkt
hab mal nen graph erstellt, bei mir ist der Beginn der Regenmenge immer ab 23.00Uhr neu, kann das sein??
-
@Nashra Bei "Chart-Type" Bar auswählen, oder noch ein anderes Problem?
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg das hab ich gemerkt
hab mal nen graph erstellt, bei mir ist der Beginn der Regenmenge immer ab 23.00Uhr neu, kann das sein??Danke
Das dürfte "normal" sein, da es also um 0:00 Uhr UTC (aktuell sind wir UTC -1) umgestellt wird. Dann müsste ich also als Toleranz um 23:58 Uhr UTC den Tageswert aufaddieren. Wäre zwar nicht 100% genau, ob es aber in den 2 Minuten dann tatsächlich mal so viel regnet...? -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Nashra Bei "Chart-Type" Bar auswählen, oder noch ein anderes Problem?
Nein Danke, jetzt wo Du es geschrieben hast habe ich es gerade hinbekommen.
Mache das sonst über Grafana aber wollte es diesmal mit Flot -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
da es also um 0:00 Uhr UTC (aktuell sind wir UTC -1)
jetzt wo du es so schreibst, klingt logisch
-
@crunchip Fast, denn falsch gedacht. Korrekt ist UTC +1, denn dann ist 23:00 Uhr UTC = 0:00 Uhr bei uns
-
@SBorg dacht ich mir schon, aber man wusste was gemeint war
immer diese Kleinigkeiten mit + und - -
@crunchip Hehehe, eins haben und eins fehlt sind dann schon zwei
Aber im Prinzip eigentlich egal, denn für die Station ist es eh dann immer um 23:58 Uhr UTC, egal wie viel Uhr es bei uns ist. Es wird wohl keinem auffallen, dass zwischen 23 - 0 Uhr die Jahresregenmenge nicht zu 100% stimmt, bzw. den Wert ohne den aktuellen Tageswert anzeigt -
Gestern bzw. heute bei dem Sturm kann man den Windwächter mal richtig testen …
hier das mit der Froggit Software:
Was mir auffällt ist die Aktualisierung z.b. die Windgeschwindigkeit IST und Max …
die Wetterstation hat ein Intervall von ca. 16 sek. so kommen die Daten auf dem Original Display an ,
… mit dem Script ( 16 sek eingestellt ) und allen Verzögerungen eingerechnet ist es ungefähr dann bei ioBroker in ca. 90 sek. - 120 sek. aktualisiert. aber dann gerade mit einem kleineren Wert von zb. ca. 2 km/h also weit deutlich weniger.Was sehr interessant ist , das der Wind Max . bei 105.1 km/h im Display liegt , und bei Auslesen und Übergabe an Iobroker 3,5 km/h liegen .
Gibt es hier noch ein Feintuning , damit die Werte vom Wind bzw. von der Anlage schon recht Zeitnah angezeigt werden !?
-
@Glasfaser Ich kann mir schon denken woran es im gesamten liegt
Mach bitte mal ein./wetterstation.sh --debug
im Installationsverzeichnis. Dort sollte dann eigentlich bei WS_POLL: 30 stehen.
Das passt aber zur 4000er nicht, denn die sendet im Gegensatz zu den "kleineren" Stationen tatsächlich im 16 Sekundentakt (wie in deiner Config angegeben). Ich hatte aber ganz zu Anfang eine Sicherung eingebaut, die keine Werte unter 30 Sekunden erlaubt (kleinster Sendeintervall). Das ist dann aber bei der 4000er Kontraproduktiv, da sie nun im falschen Rhythmus auf ein Datenpaket wartet und sogar ev. welche nicht empfängt. Die Berechnung habe ich gerade noch mal kontrolliert, die stimmt:
92.9 mph lt. Google 149,508.. km/h
Berechnung per Script: 149,51 km/h (korrekt, denn auf zwei Nachkommastellen gerundet)Dir ist anscheinend "nur" der Spitzenwert flöten (so.) gegangen...
Kommentiere versuchsweise mal in der wetterstation.sh #67 aus:
#if [ ${WS_POLL} -lt "30" ]; then WS_POLL=30; fi
Sollte sich dann nach dem speichern binnen 1-2 Minuten korrekt synchronisieren; booten musst du nicht.
-
So … danke erstmal ….
Zeit wird dann per ./wetterstation.sh --debug als WS_POLL:16 angezeigt .
Aber viel Unterschied merkt man da nicht .
Der Zeit Intervall / Aktualisierung ist dann eher so : ca. 180 sek, 35 sek., 180 sek. 180 sek. , 35 sek.
Neustart danach durchgeführt , das gleiche.WS_POLL:8 eingestellt : 120 sek. 35sek. 180 sek.
WS_POLL:1 eingestellt : ditoWas mir auffällt ist die Zeit : 17:44:49 / 17:45:19 / 17:48:49
Sie Sekunden sind immer im Wechsel : 49 , 19 , 49 , 19Gibt es noch etwas ??
-
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Was mir auffällt ist die Zeit : 17:44:49 / 17:45:19 / 17:48:49
Sie Sekunden sind immer im Wechsel : 49 , 19 , 49 , 19Das sind genau alle 30 Sekunden. Wahrscheinlich schickt auch die 4000er die Daten nur im 30 Sekundentakt.
Ich habe mir mal die Bedienungsanleitung gezogen und überflogen. Genaues steht nicht drin, aber es sieht so aus als wenn der "Wettermast" fest im 16 Sekundentakt seine Daten an das Display funkt. Das zeigt die Werte dann auch so an. Das Display selbst, die Daten dann aber nur im 30 Sekundentakt ins WLAN schickt.- stoppe mal versuchsweise das Skript mittels
pkill -9 wetterstation.*
- dann starte den nc von Hand mittels
nc -lv -p 9999 ( 9999 dein Port )
- wenn ein Datenpaket eingetrudelt ist aktuelle Sekundenanzeige merken und
- gleich wieder den nc starten
Kam das 2. Datenpaket nun nach 16 oder 30 Sekunden? Ich tippe ja auf 30...
- stoppe mal versuchsweise das Skript mittels
-
Werde ich heute Abend testen ...
Wenn der Abstand der Messung / Aktualisierung zu ioBroker 30 Sekunden bleiben würde währe es ja Ok , aber wie schon oben geschrieben varrieren die Zeiten . (180 sek, 35 sek., 180 sek. 180 sek. , 35 sek. oder mal mehr .)
-
@Glasfaser Ist dein Datenpunkt "_Kommunikationsfehler" true (nach ein paar Stunden Laufzeit des Skriptes; beim Start wird er automatisch auf false gesetzt)?
Dieser asynchrone Modus ist "OK" so, denn wenn die Timings zwischen senden der Station und hören des Client-Rechners nicht synchron laufen, macht er quasi munter weiter bis er mal zufällig "hört" wenn der andere gerade "sendet". Laufen beide dagegen synchron, klappt die Übertragung zumindest in dem Zeitryhtmus, in dem auch die Station sendet. Aufbereiten der Daten und an den ioB senden dauert max. 1-2 Sekunden.
Ev. muss ich auch nur das Fenster etwas erweitern, in dem er "hört". Kann ich aber ohne Station halt nur raten...
Aber wenn sie im 30 Sekundentakt sendet, muss zumindest der WS_POLL auch auf 30 stehen. Das andere kriegen wir auch noch hin, ist dann halt etwas rumprobiererei -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Glasfaser Ist dein Datenpunkt "_Kommunikationsfehler" true (nach ein paar Stunden Laufzeit des Skriptes; beim Start wird er automatisch auf false gesetzt)?
(Wie blöd ich habe dein Beitrag nicht gesehen ... daher weis ich nicht was vorher war !)
Er ist ist true .... passt auch von der Zeit ,vom absetzen des pkill Befehls.
Nach dem Start ist er false .
Der Abruf ist 16 Sekunden mit nc -lv -p 9999 und bleibt auch vom Abstand/ eintrudeln der Daten.
-
Wird für die Anbindung noch das Display benötigt? Oder fragt das Script die Station direkt ab
-
@eviltrooper Für die oben genannten, ja. Die funken auf 8xx-9xxMHz an das Display und das schickt dann erst die Daten ins WLAN. Das Skript wartet dann auf diese Daten. Also ohne Display leider auch keine Daten, außer es gäbe einen Wettermast direkt mit WLAN.
-
@Glasfaser Ist nicht schlimm mit dem DP, "true" wird er eh nur bei Fehlern, was auch zu deinem Fehlerbild passt. Was mir im Moment noch nicht so klar ist, ist das warum. Ich gebe dem Client 5 Sekunden Zeit zu starten (dauert < 1 Sekunde) und warte dann 10 Sekunden ob ein Datenpaket kommt. Ev. muss ich bei der 4000er wg. des schnelleren Versandes der Pakete von der Vorgehensweise abweichen. Logge bitte mal per History den Zeitstempel für ~10 Minuten mit, ob das wenigstens ein System hat oder eher zufällig ist.
Zumindest kannst du dann theoretisch, wenn es mal läuft, im 16 Sekundentakt aktuelle Werte empfangen. WS_POLL auf 16 ist also korrekt. -
Gehört hier zwar nicht hin aber wie sieht es bei den Stationen mit der sofort Regenerkennung aus. Die soll bei dem Homematic Teil ja nicht soooo toll sein