NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@a200 Hab ich umgehend versucht, neues Image, neuen Container: Container ist zwar grün, aber die Console startet nicht. Im Log steht :
/bin/ls: /bin/ls: cannot execute binary file. Ich muss mich dann wohl mal nach einem kompletteren Linux umsehen - irgend eine Idee/Empfehlung? -
@sonystar und @a200
Ich mache es mal direkt in einem Post, da dass Bild für alle Probleme passt:

@a200 Der Rekordwert funktioniert, zumindest fast. Mein neuer Tiefstwert wurde korrekt eingetragen, nur der Zusatz "für 2020" ist falsch. Der sollte, unabhängig vom falschen Jahr, an der Stelle nicht auftauchen und müsste "im Januar 2021" lauten. Muss ich mal schauen...
@sonystar Ich weiß nicht wie das Display rechnet, zumindest hat es nur eine Nachkommastelle. Je nachdem wie die runden (auf, ab, korrekt, gar nicht, einfach eine Stelle abschneiden) kommt es hier immer zu Differenzen. An der Stelle addiere ich einfach Zahlen mit zwei Nachkommastellen, kein Hexenwerk und kann man eigentlich nicht viel falsch machen (siehe zB. dein erstes Pic: 19mm von der Station, die Einzelwerte von mir aufaddiert aber schon 19.1mm).
...und wie man gerade sieht, zickt auch stellenweise Javascript herum. Ich habe jetzt zwar nicht die Nullen gezählt, aber ich rechne oder bekomme bestimmt keine Angabe in femto, atto oder pico Litern. Muss ich also auch zwangsweise auf 2 Stellen kürzen...
Fazit: du wirst nie eine 100% Übereinstimmung von Station, WLAN-Skript und Statistik (die sowieso nicht wg. anderer Vorraussetzungen) erreichen können, außer alle hätten die gleichen Grundvoraussetzungen.Aber ganz allgemein: ich kann auch nicht all zu viel von einer Hobbystation im Preissegment <500,- € erwarten, zumal schon bei der Temperatur stellenweise eine Differenz von +/- 1°C, oder an anderer Stelle eine Drift von 5% . Ein "echter" Sensor kostet ein mehrfaches dessen. Da brauche ich mir offen gestanden auch keinerlei Gedanken mehr um Rundungsdifferenzen zu machen. Ich werde auch bestimmt nicht aus 5.4 + 4.6 etwas anderes als 10.0 machen, bloß weil China aus Kostengründen durch abschneiden (ist halt einfacher als eine Datenbank in der Elektronik zu führen) irgendwas daraus macht

...was aber nicht heißen soll offensichtliche Programmfehler nicht zu fixen
@sborg Danke für die Erklärung. Kann ich nachvollziehen. Wenn ich die jeweiligen Tageswerte addiere komme ich auch auf den Wert im Statistikbereich.
Allerdings doch etwas komsich: Heute wurden 0,7mm im Statistikteil ergänzt obwohl es gestern keinen Niederschlag gab. Die 0,7mm sind an dem Tag zuvor gefallen, die wurden aber natürlich schonmal ergänzt.
Ich beobachte weiter, vielleicht war es wieder eine einmalige Besonderheit wie das letzte mal mit der Maximaltemperatur (war übrigens seit dem nicht nochmal).
-
@keksn said in [Linux Shell-Skript] WLAN-Wetterstation:
Hallo, ich habe nach wie vor keine Daten bei der Sonnenscheindauer in Grafana und zusätzlich den Fehler not Executed". Im IOBroker habe ich mittlerweile Daten bei der Sonnenscheindauer.
Ich habe auch keine Daten Daten bei Temp. min. max. und seit neuestem auch keine Daten beim Niederschlag.Temp min/max funktioniert nur wenn auch das Statistik-Addon läuft/benutzt wird, da die Station diese Werte nicht liefert.
Allgemeines Influx-/Grafana-Problem bei fehlenden Werten (gerade wenn man ganz "frisch/neu" anfängt: wenn man mittels des Javascripts die Objekte (oder DPs) angelegt hat, werden diese Initial mit Werten (meist "0") befüllt. Erst nach dem Anlegen kann ich jetzt aber auch das Influx-Logging aktivieren. Problem dabei, falls man "log changes only" aktiviert (was man aus Performance-/Platzgründen aber machen sollte), wird erst mit einer Änderung des Wertes (also ungleich "0" bei einem DP der mit "0" befüllt ist) das Logging gestartet. Vorher hat Influx nicht mal die Serie angelegt. Um auch spätere Lücken in Grafana zu vermeiden, sollte man immer ein Turnusmäßiges Schreiben erzwingen. Bspw. "3600" als Eintrag bei "log changes interval" erzwingt alle 3.600 Sekunden (= 1 Stunde
) unabhängig davon ob sich der Wert geändert hat, den aktuellen Wert in die Influx zu schreiben.
Weiterer Knackpunkt ist hier die Option "Automatic" (leider Default-Einstellung) bei speichern als. Oftmals wird dann eine Zahl (number) als Zeichenkette (string) missinterpretiert und die ganze Serie als String angelegt. Damit kommt Grafana später nicht mehr zu Recht. Hier hilft nur im Influx nachschauen ob die entsprechende Serie als "String" angelegt wurde. Falls ja, muss man dann zuerst im ioB auf "Zahl" umstellen und dann leider die gesamte Serie in Influx droppen. Nachträglich kann man eine Datenreihe in Influx nicht mehr von String --> Zahl konvertieren/ändern. -
kurzes Statement zur Wintertauglichkeit der Wetterstation

mein Windmesser der Froggit ist ein einziger Eisklumpen

Nichts dreht sich mehr. Die komplette Windfahne ist zugefroren.
-
kurzes Statement zur Wintertauglichkeit der Wetterstation

mein Windmesser der Froggit ist ein einziger Eisklumpen

Nichts dreht sich mehr. Die komplette Windfahne ist zugefroren.
-
Heute wurde wieder der Wert von vorgestern ergänzt, obwohl es gestern keinen Niederschlag gab. Das betrifft den Rekordwert sowie den Wert im aktuellen Monat. Ist das nur bei mir so?

@sonystar said in [Linux Shell-Skript] WLAN-Wetterstation:
Heute wurde wieder der Wert von vorgestern ergänzt, obwohl es gestern keinen Niederschlag gab. Das betrifft den Rekordwert sowie den Wert im aktuellen Monat. Ist das nur bei mir so?
Da bist du teilweise alleine. Ist aber ein Fehler im JS, der allerdings nur auftritt wenn es tatsächlich innerhalb des Tages keinen einzigen Regenpuls gab. Der korrekte Monatswert steht aber noch im DP der Wetterstation. Fix ist bereits fertig und läuft heute Nacht bei mir im Test. Hoffentlich gibt es Heute keinen Regenpuls...

Ansonsten müsst ihr morgen zum testen alle ran
@Negalein ...also doch die ganze Station beheizen und nicht nur den Trichter

-
Ich habe jetzt ebenfalls auf das Ecowitt Protokoll gewechselt. Funktioniert out of the box so wie sein soll. Super. Dabei nutze ich einen DP1500. Danke für Eure tolle Arbeit. Da kann ich mein node-red wieder deaktivieren.

P.S.: Wenn jetzt noch ein DP60 mit eingebunden werden könnte wäre es nahezu mehr als perfekt. Hier mal ein Auszug aus dem Protokoll:
PASSKEY=*************&stationtype=GW1000A_V1.6.3&dateutc=2021-01-15+17:03:51&tempinf=67.5&humidityin=44&baromrelin=28.092&baromabsin=28.092&tempf=24.3&humidity=94&winddir=98&windspeedmph=0.00&windgustmph=0.00&maxdailygust=0.00&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.008&yearlyrainin=0.008&totalrainin=0.008&temp1f=59.00&humidity1=39&soilmoisture1=61&soilmoisture2=41&soilmoisture3=50&soilmoisture4=60&soilmoisture5=40&lightning_time=&lightning_num=0&lightning=&wh65batt=0&batt1=0&soilbatt1=1.5&soilbatt2=1.5&soilbatt3=1.5&soilbatt4=1.5&soilbatt5=1.5&wh57batt=5&freq=868M&model=GW1000_ProDie Werte wären dabei interessant:
&lightning_time=&lightning_num=0&lightning= -
Ich habe jetzt ebenfalls auf das Ecowitt Protokoll gewechselt. Funktioniert out of the box so wie sein soll. Super. Dabei nutze ich einen DP1500. Danke für Eure tolle Arbeit. Da kann ich mein node-red wieder deaktivieren.

P.S.: Wenn jetzt noch ein DP60 mit eingebunden werden könnte wäre es nahezu mehr als perfekt. Hier mal ein Auszug aus dem Protokoll:
PASSKEY=*************&stationtype=GW1000A_V1.6.3&dateutc=2021-01-15+17:03:51&tempinf=67.5&humidityin=44&baromrelin=28.092&baromabsin=28.092&tempf=24.3&humidity=94&winddir=98&windspeedmph=0.00&windgustmph=0.00&maxdailygust=0.00&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.008&yearlyrainin=0.008&totalrainin=0.008&temp1f=59.00&humidity1=39&soilmoisture1=61&soilmoisture2=41&soilmoisture3=50&soilmoisture4=60&soilmoisture5=40&lightning_time=&lightning_num=0&lightning=&wh65batt=0&batt1=0&soilbatt1=1.5&soilbatt2=1.5&soilbatt3=1.5&soilbatt4=1.5&soilbatt5=1.5&wh57batt=5&freq=868M&model=GW1000_ProDie Werte wären dabei interessant:
&lightning_time=&lightning_num=0&lightning=Hallo zusammen,
ich nutze seit ein paar Tagen das Skript wie auch die Statistik mit meiner Froggit HP1000SE und bin sehr begeistert.
Eine Frage habe ich jetzt allerdings zum Datenpunkt "Kommunikationsfehler". Ich musste heute morgen zum ersten Mal seit Benutzung des Skripts meine Wetterstation neu starten. Der Datenpunkt verblieb jedoch auf dem alten Status "false", nach Wiederinbetriebnahme sprang der Status auf "true", also Kommunikationsfehler vorhanden. Seitdem ist der Status auf true, Daten kommen aber rein. Muss ich nach einem Kommunikationsfehler noch etwas manuell machen, z.B. Skript neu starten oder ähnliches? -
Ich habe jetzt ebenfalls auf das Ecowitt Protokoll gewechselt. Funktioniert out of the box so wie sein soll. Super. Dabei nutze ich einen DP1500. Danke für Eure tolle Arbeit. Da kann ich mein node-red wieder deaktivieren.

P.S.: Wenn jetzt noch ein DP60 mit eingebunden werden könnte wäre es nahezu mehr als perfekt. Hier mal ein Auszug aus dem Protokoll:
PASSKEY=*************&stationtype=GW1000A_V1.6.3&dateutc=2021-01-15+17:03:51&tempinf=67.5&humidityin=44&baromrelin=28.092&baromabsin=28.092&tempf=24.3&humidity=94&winddir=98&windspeedmph=0.00&windgustmph=0.00&maxdailygust=0.00&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.008&yearlyrainin=0.008&totalrainin=0.008&temp1f=59.00&humidity1=39&soilmoisture1=61&soilmoisture2=41&soilmoisture3=50&soilmoisture4=60&soilmoisture5=40&lightning_time=&lightning_num=0&lightning=&wh65batt=0&batt1=0&soilbatt1=1.5&soilbatt2=1.5&soilbatt3=1.5&soilbatt4=1.5&soilbatt5=1.5&wh57batt=5&freq=868M&model=GW1000_ProDie Werte wären dabei interessant:
&lightning_time=&lightning_num=0&lightning=@schittl said in [Linux Shell-Skript] WLAN-Wetterstation:
P.S.: Wenn jetzt noch ein DP60 mit eingebunden werden könnte wäre es nahezu mehr als perfekt. Hier mal ein Auszug aus dem Protokoll:
Die Werte wären dabei interessant:&lightning_time=&lightning_num=0&lightning=Hi, ist eigentlich kein größeres Problem. Nur habe ich kleinere Probleme bei der Zuordnung:
- lightning_time = ist wohl Zeitpunkt des Ereignisses? Format (wahrscheinlich UTC-Zeitstempel oder Unix-Timestamp)?
- lightning_num = Anzahl der Blitze?
- lightning = fehlt ja noch etwas wie Stärke etc. pp., um die Entfernung/Richtung zu bestimmen? Format...?
So wie es aussieht ist wahrscheinlich auch nur ein DP60 pro Station vorgesehen. Mehrere ergäbe wohl auch keinen Sinn...

-
Hallo zusammen,
ich nutze seit ein paar Tagen das Skript wie auch die Statistik mit meiner Froggit HP1000SE und bin sehr begeistert.
Eine Frage habe ich jetzt allerdings zum Datenpunkt "Kommunikationsfehler". Ich musste heute morgen zum ersten Mal seit Benutzung des Skripts meine Wetterstation neu starten. Der Datenpunkt verblieb jedoch auf dem alten Status "false", nach Wiederinbetriebnahme sprang der Status auf "true", also Kommunikationsfehler vorhanden. Seitdem ist der Status auf true, Daten kommen aber rein. Muss ich nach einem Kommunikationsfehler noch etwas manuell machen, z.B. Skript neu starten oder ähnliches?@banza Der DP verbleibt wenn er einmalig true war solange auf true bis du
- das WLAN-Skript neu startest
- den DP per Hand auf false setzt
Ich habe dazu in der VIS eine Anzeige bei "fehlerhafter Kommunikation" und kann dann dort per Widget den Fehler quittieren. Durch das quittieren setze ich dann gleichzeitig den DP auf false zurück

-
Neue Version des Wetterstation-Statistik-Addons auf GitHub V0.1.9
- +Regenmenge eines kpl. Monats im Jahr und Rekord
Wie immer zu finden im GitHub (wetterstation-statistik.js)
Dabei wird der Jahreswert nur zum 01. des Monats aktualisiert (sollte also am 01.02. auf jeden Fall eine Menge stehen, denn aktuell ist es ja "Null"; dann halt nur noch wenn im entsprechenden Monat mehr Regen fiel als bei allen bisherigen Monaten diesen Jahres).
Abweichend davon wird der Rekordwert aber täglich geschrieben. Sollte sich also ggf. bis 31.01. zu einem Monatsrekordwert aufsummieren, dann nur noch wenn auch tatsächlich ein neuer Rekordwert erreicht wurde.Beispiel: 5mm Regen an drei Tagen im Monat
Jahreswert zeigt am folgenden 01. 15mm/m² an
Rekord zeigt am 1. Tag 5mm, am 2. Tag 10mm, am 3. Tag 15mm an und verbleibt dann bei 15mm im Monat xyznächster Monat kein Regen:
Jahreswert dann am 01. weiterhin 15mm (war ja kein neuer Rekord für dieses Jahr)
Rekord (er summiert zwar munter weiter, aber 0 + 0 + 0 + ....+0 = immer noch 0), ebenfalls weiterhin bei 15mmMonat(e) mit weniger als den 15mm : es bleibt wie es ist...
Monsun-Monat: 5 Tage a 10mm
Jahreswert zeigt dann am folgenden 01. 50mm an (war ja ein neuer Rekord für dieses Jahr)
Rekord zeigt dann am 1. Tag weiterhin die bisherigen 15mm (ist ja noch kein neuer Rekord), am 2. Tag jetzt aber 20mm (da neuer Rekord), am 3. Tag 30mm (da wieder neuer Rekord), am 4. Tag 40mm (da schon wieder neuer Rekord) und am 5. Tag 50mm (da abermals neuer Rekord) an und verbleibt dann bei 50mm im Monat xyz bis er (oder auch nie mehr) gebrochen wird. Am Monatsersten wird dann der interne Wert wieder genullt und neu addiert.Verwirrt? Keine Ahnung wie man das "einfach" schreibt...
Neue Version des Wetterstation-Statistik-Addons auf GitHub V0.2.0
- ~Bugfixing Benennung DPs / Korrektur Regenmenge
Wie immer zu finden im GitHub (wetterstation-statistik.js)
Ob die Regenmengenrekorde nun richtig funktionieren muss erst der nächste Niederschlag zeigen, dafür wird jetzt bei keinem Niederschlag aber auch nichts mehr hinzu addiert. Die falschen Rekordwerte müssen ggf. per Hand in den DPs korrigiert werden. Ich warte bei mir einfach mal ab, der Monat ist noch jung und ich überschreite den fehlerhaften Rekordwert bestimmt noch (neue Spitzenwerte sollten jetzt korrekt im DP landen).
-
@banza Der DP verbleibt wenn er einmalig true war solange auf true bis du
- das WLAN-Skript neu startest
- den DP per Hand auf false setzt
Ich habe dazu in der VIS eine Anzeige bei "fehlerhafter Kommunikation" und kann dann dort per Widget den Fehler quittieren. Durch das quittieren setze ich dann gleichzeitig den DP auf false zurück

-
@schittl said in [Linux Shell-Skript] WLAN-Wetterstation:
P.S.: Wenn jetzt noch ein DP60 mit eingebunden werden könnte wäre es nahezu mehr als perfekt. Hier mal ein Auszug aus dem Protokoll:
Die Werte wären dabei interessant:&lightning_time=&lightning_num=0&lightning=Hi, ist eigentlich kein größeres Problem. Nur habe ich kleinere Probleme bei der Zuordnung:
- lightning_time = ist wohl Zeitpunkt des Ereignisses? Format (wahrscheinlich UTC-Zeitstempel oder Unix-Timestamp)?
- lightning_num = Anzahl der Blitze?
- lightning = fehlt ja noch etwas wie Stärke etc. pp., um die Entfernung/Richtung zu bestimmen? Format...?
So wie es aussieht ist wahrscheinlich auch nur ein DP60 pro Station vorgesehen. Mehrere ergäbe wohl auch keinen Sinn...

-
Ich melde mich nochmal zurück. Ich hab das Script auf nem normalen Raspi nativ aufgesetzt und konnte die Debug ausgaben auslesen.
Soweit so schön. Ich vermute, dass die Froggit WH3000SE die Werte für Regen_Event, Regen_total, Regen_Stunde sowie Windboeen_max gar nicht liefert. Dann leb ich halt ohne.
Nochmals vielen Dank für alle Helfer. -
Ich melde mich nochmal zurück. Ich hab das Script auf nem normalen Raspi nativ aufgesetzt und konnte die Debug ausgaben auslesen.
Soweit so schön. Ich vermute, dass die Froggit WH3000SE die Werte für Regen_Event, Regen_total, Regen_Stunde sowie Windboeen_max gar nicht liefert. Dann leb ich halt ohne.
Nochmals vielen Dank für alle Helfer.@rene55 Stell mal das Protokoll auf ecowitt. Du erhältst dann mehr Werte, die die WS liefert. Allerdings werden Chill-Faktor und Luftdruck relativ nicht übertragen. Jetzt musst du entscheiden, was dir wichtiger ist.
Falls du noch weitere Sensoren auslesen möchtest, dann ist ecowitt eh das Protokoll deiner Wahl.
-
@rene55 Stell mal das Protokoll auf ecowitt. Du erhältst dann mehr Werte, die die WS liefert. Allerdings werden Chill-Faktor und Luftdruck relativ nicht übertragen. Jetzt musst du entscheiden, was dir wichtiger ist.
Falls du noch weitere Sensoren auslesen möchtest, dann ist ecowitt eh das Protokoll deiner Wahl.
Vielen Dank!! Ich werde mich dann man damit herumspielen bis es funkt!