NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Zu den Jahreswerten noch ne doofe Frage:
Muss ich das komplette Jahr in der influxDB haben? Ich speichere aktuell die Daten nur sechs Monate lang.Doofe Frage, ne... nur dumme Antworten...
Ja. Das ist auch der Grund warum das nur einmalig im Jahr ausgeführt wird. Erstens braucht man halt alle Werte des Zeitraumes, zweitens dauert das beim PI einfach. Wenn ihr alle 30 Sekunden ein Datenpaket loggt, sind das etwas mehr als 1 Million (!) Datensätze. Da dauert die Abfrage einen Augenblick, dann müssen 1 Mio. Addition durchgeführt werden und das Ergebnis wieder durch 1 Mio. geteilt werden, um den Durchschnitt zu errechnen.
Aber wie schon @XxJooO schreibt, die Datenbankgröße ist nicht so dramatisch. Wenn du die drei Werte 1 Jahr Jahr loggst, sind das nur wenige MB (rechnerisch müssten es <10MB sein).Ich könnte mir auch später noch DPs vorstellen wie bspw. Höchst-/Tiefswert vor einem Jahr, also Max./Min. vom 31.01.2020
-
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
irgendwie fluppt das bei mir immer noch nicht mit der Regenmenge...
Hast du noch eine Idee?Bist nicht alleine, ich habe es eben mal bei mir kontrolliert (da ich es nicht aktiv nutze fällt mir das nicht unbedingt auf).
Kann ich leider bestätigen und aktuell so mal überhaupt keine Idee.Eigentlich ist das kein Hexenwerk:
- ließ alle Regenmengen von Gestern ein
- finde den Maximalwert (da die Regenmenge pro DP nur fortgeschrieben wird und kein aktueller Messwert ist)
Dann kommt schon der ganze Voodoo:
if (Max_Regenmenge > 0) {Regenmenge_Monat = getState(PRE_DP+'.aktueller_Monat.Regenmenge_Monat').val + Max_Regenmenge; setState(PRE_DP+'.aktueller_Monat.Regenmenge_Monat', Number((Regenmenge_Monat).toFixed(2)), true);}
Wenn der Maximalwert größer als 0 (es hat heute also geregnet), dann hole den vorherigen Wert aus dem DP, addiere den Maximalwert hinzu und speichere ihn wieder im DP ab.
Da mit den Werten nichts mehr an anderer Stelle geschieht, bleibt eigentlich nur noch ein Fehler bei der Datenbankabfrage (zB. Zeitraum) oder fehlerhafter Messwert an sich. Schau ich mir jedenfalls an, aber eine echte Idee habe ich gerade nicht -
@sborg ,
Hi, ich habe auch noch eine Frage zu den DPs. Wenn ich das Script der V2.3 richtig interpretiere, dann sollte ja bei einer Station mit dem Protokoll 9 der Wert von DP Regenrate auf 0 gesetzt werden. Der DP bleibt aber weiterhin ungefüllt.
Dann wäre es total nett, wenn Du kurz erklären könntest, was die bei mir ungefüllten DP eigentlich für Werte zeigen sollten:
-
Regen_Event hat die Einheit "mm", sollte somit also sich wohl auf ein aktuelles Regenereignis beziehen. Dann müsste die Station ja vom Beginn Regen, also von da wo die gemessene Menge =0 bis da wo die gemessene Menge wieder 0 ist diese Menge aufaddieren und liefern. Ist das so gedacht?
-
Regen_Stunde hat die Einheit "mm", sollte also die gemessene Menge in der aktuell gerade laufenden Stunde abbilden
-
Regen_total hat die Einheit "mm". Auf welche Zeiteinheit aber bezieht sich total?
-
Regenrate hat die Einheit "mm/h" . Ist das nicht das Gleiche, wie Regen_Stunde?
-Regenstatus ist hingegen ein String und soll seinen Inhalt ändern in Abhängigkeit welchen Datenpunktes, der 0,1,4, 10 oder darüber enthält?
Ich frage so genau nach, da ich davon ausgehe, dass ich diese DPs mit einem Blockly über die Zeit aus dem von meiner Station gelieferten Wert für Regen_Tag berechnen kann. Ich benötige dafür aber die zeitlichen Bezüge, die sich mir leider aus Deinem Script mangels Kenntnissen nicht erschließen.
Vielen Dank!!!
-
-
@xxjooo
Regen total ist die Gesamtmenge innerhalb eines Jahres
Regen Stunde, die Menge in einer Stunde
Regenrate hingegen heisst so viel wie Regenintensität, bedeutet wie Stark es Regnen, was aber nicht heisst das eine Ganze Stunde soviel Regen fällt -
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Regenrate hingegen heisst so viel wie Regenintensität, bedeutet wie Stark es Regnen, was aber nicht heisst das eine Ganze Stunde soviel Regen fällt
Ok, aber wie stark in welcher Zeit? Für Regenstatus soll es ja mehr als 0, 1, 4, oder mehr als 10 sein, damit in Abhängigkeit davon ein entsprechender string gefüllt wird. Aber welcher Wert abhängig von welcher Zeit? Ohne die Abhängigkeiten kann ich nix berechnen...
-
@xxjooo sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ok, aber wie stark in welcher Zeit?
Am Display steht bei Regenrate "mm/hr".
Also der hochgerechnete Wert, wenn es in der aktuellen Intensität 1 Stunde durchregnet. -
@xxjooo sagte in [Linux Shell-Skript] WLAN-Wetterstation:
dann sollte ja bei einer Station mit dem Protokoll 9 der Wert von DP Regenrate auf 0 gesetzt werden
Nicht ganz. Die Regenrate bleibt unverändert, da dieser Wert nicht berechnet wird sondern aus der Station kommt. Deswegen wird der auch bei dir nicht befüllt.
#Protokoll #9 liefert keine Regenrate(11); also auf "0" setzen if [ "$WS_PROTOKOLL" -eq "9" ] && [ -z ${MESSWERTE[11]} ]; then MESSWERTE[11]=0; fi
Sollte nur die Fehlermeldungen (zB. bei
./wetterstation.sh --debug
) unterdrücken. Mehr nicht
Auch wenn da im Kommentar "Regenrate" steht, wird an der folgenden Stelle der "Regenstatus" damit berechnet.
@Statistiker: Bitte den falschen Monatswert bei Regenmenge korrigieren ("0_userdata.0.Statistik.Wetter.Jahreswerte.Regenmengemonat") + den gespeicherten Monatswert nicht vergessen ("0_userdata.0.Statistik.Wetter.Data.2021.01").
IMHO Fehler gefunden, läuft heute Nacht mal bei mir im Test ob kein grober Schnitzer drin ist, danach könnt ihr alle testen. -
Guck mal was ich heute gesehen habe
Müssten doch eigentlich beide Werte gleich sein oder (wie bei den anderen)?
Edit. Habe gerade gesehen dass die -6.61°C am 31.1.2021 um ca. 7 Uhr waren und die -7°C am 01.02.2021 um 0:44 Uhr (Laut InfluxDB). Dann wäre das ja wieder korrekt?
Edit2: Dann wären im Umkehrschluss ja aber alle anderen Werte im Vergleich Gestern zu aktueller Monat falsch. Und außerdem gab es 0:49 Uhr nochmal -7,22 °C.Ich bin verwirrt.
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@Statistiker: Bitte den falschen Monatswert bei Regenmenge korrigieren ("0_userdata.0.Statistik.Wetter.Jahreswerte.Regenmengemonat") + den gespeicherten Monatswert nicht vergessen ("0_userdata.0.Statistik.Wetter.Data.2021.01").
IMHO Fehler gefunden, läuft heute Nacht mal bei mir im Test ob kein grober Schnitzer drin ist, danach könnt ihr alle testen.Sorry, ist das ein Einheitenfehler oder ein Wertefehler wegen der Tagesverschiebung? Hab scheinbar den entscheidenden Teil nicht mitbekommen - also was muss ich auf was ändern
-
DP50 und DP60 laufen, hat gleich aufs erste mal alles funktioniert. Nun mal warten auf Daten vom DP60
-
@sonystar Das hängt mit ... zusammen. Ich habe es heute nochmals geändert. Wenn es wieder nicht geht bin ich schon soweit den "Mist" einzustampfen oder zu lassen wie es ist...
Vollig OK am 26./27.:
Warum auch immer, Fehler am 27./28. (der Reset funktioniert sonst auch, warum hier erst um 0:50 Uhr? Die nicht existente Regenmenge ist dann natürlich auch in der Berechnung drin...):
Dann geht es wieder...
Solange solch Ausreißer in Influx vorhanden sind, wird es echt schwer auf vernünftige Werte zu kommen. Bei der Temperatur fällt dies nicht auf, da es nur Momentan werte sind. Der kann sich sowieso dauernd ändern und ob der Wert um 23:59 Uhr nun für den Tag oder eigentlich für den nächsten zählt, ist hierbei nicht relevant. Bei der Regenmenge dann leider schon.
Trotzdem war/ist da noch ein syntaktischer Fehler drin (gewesen). Die Temperatur am 01. habe ich aber korrigiert, er hat sie zwar korrekt resettet, dann aber anschließend mit den Vortagswerten überschrieben...
Künftig wird es dann am 01. nur einen Temperaturwert von 01:03 Uhr (default) geben. Der ist Min-/Max- und Durchschnitt zugleich, wird dann aber am 02. des Monats korrekt (hoffentlich ) berechnet. -
@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@Statistiker: Bitte den falschen Monatswert bei Regenmenge korrigieren ("0_userdata.0.Statistik.Wetter.Jahreswerte.Regenmengemonat") + den gespeicherten Monatswert nicht vergessen ("0_userdata.0.Statistik.Wetter.Data.2021.01").
Sorry, ist das ein Einheitenfehler oder ein Wertefehler wegen der Tagesverschiebung? Hab scheinbar den entscheidenden Teil nicht mitbekommen - also was muss ich auf was ändern
Wertefehler. Bei den beiden DPs die "monatliche Regenmenge", die ist zu hoch (oder nicht, je nach Regenmenge + ob der Fehler überhaupt auftritt). Wenn deine Monatsregenmenge im Januar aber größer als die Jahresmenge ist, kann ja was nicht stimmen
@amiethaner sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nun mal warten auf Daten vom DP60
Kann wohl jemand kein schlechtes Wetter erwarten
-
@amiethaner sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nun mal warten auf Daten vom DP60
Kann wohl jemand kein schlechtes Wetter erwarten
Ja hör auf. Ich betrieb ja auch noch Astrofotografie und seit Anfang November seh ich keine Sterne mehr. Mir reichts. Jetzt is dann der Winter mit den langen nächten wieder rum und ich hab kein einziges Bild raus bekommen.
-
@amiethaner
Vieleicht solltest Du auf Wolkenfotgrafie umsteigen;) -
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@Statistiker: Bitte den falschen Monatswert bei Regenmenge korrigieren ("0_userdata.0.Statistik.Wetter.Jahreswerte.Regenmengemonat") + den gespeicherten Monatswert nicht vergessen ("0_userdata.0.Statistik.Wetter.Data.2021.01").
Sorry, ist das ein Einheitenfehler oder ein Wertefehler wegen der Tagesverschiebung? Hab scheinbar den entscheidenden Teil nicht mitbekommen - also was muss ich auf was ändern
Wertefehler. Bei den beiden DPs die "monatliche Regenmenge", die ist zu hoch (oder nicht, je nach Regenmenge + ob der Fehler überhaupt auftritt). Wenn deine Monatsregenmenge im Januar aber größer als die Jahresmenge ist, kann ja was nicht stimmen
Hm,
Regenmengenmonat (Jahreswert) ist 69,5
Regenmengenmonat (Rekordwert) ist 66,1 (wobei das der gleiche Monat ist da ich das Teil erst seit Januar habe)
Regenmengenmonat (im 2021_01 Objekt) ist auch 69,5Interessant sind die aktuellen Wert
Regenmenge Jahr aus Station - 54,3 mm
Regenmenge Jahr berechnet - 49 mmIrgendwie passt das nur bedingt zusammen;)
Und wo ich schon dabei hin, wo kommt denn die Sonnenscheindauer her?
Ist das ein Sensorwert oder wird der aus der Solarenergie errechnet? -
@rand Jupp, da siehst du den Fehler. Die Monatsmenge kann ja Augenblicklich schlechter größer als die Jahresmenge sein.
Station und berechnet wird zwar wg. Rundung immer etwas unterschiedlich sein, aber so groß sollte der IMO auch nicht sein (außer es waren viele Regenereignisse).Weder noch
Solarenergie ist die Sonnenstrahlung über die Zeit (wird also aus einem Sensorwert berechnet).
Sonnenscheindauer ist die Sonnenstrahlung die per Definition 120W/m² (habe ich irgendwo gelesen) überschreitet.Sieht bei mir hier die letzten 5 Tage ziemlich düster aus:
-
Ok, und welchen Wert nehme ich nun als am richtigsten an?
Ah 120W/m² - das hat mich interessiert. Hatte schon Tage mit nur Wolken (Foto?;), @amiethaner sorry, weisst ja wer den Schaden hat...) aber er hat mir trotzdem munter was von 30 minuten Sonneschein erzählt... aber das sind dann die paar Peaks...
Danke
-
@sborg
Hallo, benutze das neue Statistikscript, leider tritt der Fehler immer noch auf. Betroffen sind abwechselnd alle 5 Vortageswerte, welche immer mal wieder nicht aktualisiert werden. Aber immer nur einzeln, ich hatte noch keinen Tag, an dem zwei Werte nicht aktualisiert wurden.Noch eine Frage an die Besitzer einer Froggit Wetterstation. Ich habe eine HP1000SE, dummerweise ist bei dieser Station der erste Wochentag der Sonntag, ich habe noch keine Option zum Umstellen gefunden. Weiß jemand von euch, ob das möglich ist?
-
@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ok, und welchen Wert nehme ich nun als am richtigsten an?
Gute Frage
Ich weiß nicht wie sie in der Station rechnen. "Mein" Rechenweg ist der mathematisch korrekte + genauste.
Beispiel bei 3 Werten: 0.04 0.06 0.03
"mein" ergebnis = 0.13
beim abschneiden/abrunden = 0.0
beim runden = 0.1Mehr ist es an der Stelle einfach nicht. Simple Addition von Werten, allerdings mit unbekannter Anzahl an Nachkommastellen. Ich rechne halt mit zwei wenn sie mir schon angeboten werden.
Allerdings darfst du den aus der Station und "meinen" kumulierten nur um Mitternacht oder bei Regenabstinenz > 24h vergleichen. Der der Station wird augenblicklich zur Anzeige hinzu addiert, "mein" kumulierter erst um ~23:58 Uhr einmalig für den ganzen Tag@banza Versuche dann mal die neue V0.2.2 (folgt im Anschluss hieran), aber eigentlich kann es das so nicht geben. Das Skript schreibt alle diesbzgl. Daten in einem Rutsch weg (anders wie zB. Rekordwerte, Jahres-/Monatswerte etc.). Deswegen kann er eigentlich nur alle Tageswerte schreiben, oder keinen...
Aber wie das mit "eigentlich" so ist und ich dir das natürlich auch glaube, wüsste ich aktuell nicht an was das liegen sollte -
Neue Version des Wetterstation-Statistik-Addons auf GitHub V0.2.2
- ~Bugfixing Regenmenge Jahr + Monat
Wie immer zu finden im GitHub (wetterstation-statistik.js)
Behebt zwei definitive Fehler meinerseits bei der Berechnung, die in ungünstigen Fällen (also nicht immer und bei jedem gleich) zur fehlerhaften Berechnung der Regenmenge (Jahr/Monat/Rekordwerte) führen konnte.