NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
mir ist noch was eingefallen. Eventuell hab ich es auch überlesen und du hast schon daran gedacht (eventuell in
0_userdata.0.Statistik.Wetter.Data
)0_userdata.0.Statistik.Wetter.aktueller_Monat
wird ja am 1. des Monats wieder mit Daten des aktuellen Monat neu beschrieben.Wo werden die Daten des/der Vormonat/e des aktuellem Jahr gespeichert?
Ich müsste nur noch 1,5 Wochen warten. Aber ich bin so neugierig!
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
und du hast schon daran gedacht
Na logisch
Ließ mal die Beschreibung hinter "Data"...
Ich hatte es auch schon ein- zweimal hier erwähnt. Darauf bezieht sich auch ganz aktuell "AutoDelete Data".
Daraus sollte am 01.10. 1:03 Uhr ein Ordner werden. In diesem sich dann ein Ordner "2020" befinden. Darunter ein Datenpunkt "09". In diesem steht dann ein JSON-String mit den bisherigen Daten vom September.
Nächstes Jahr im September wird dann nicht mehr eine kpl. Vorjahresstatistik für den Sep. 2020 gefahren, sondern genau dieses JSON eingelesen. Darin stehen ja alle Werte vom Sep 2020, warum muss ich also (zeit-)aufwändig nochmals den ganzen Monat auswerten? Das wird natürlich am 01.10. passieren müssen, da du den JSON-String für Okt. 2019 nicht hast (gab es das Skript ja noch nicht). Zusätzlich hast du aber auch keine Influx-Daten vom Okt. 2019, es wird also bei 99999 für die VorMonatswerte bleiben -
Wer mal testen möchte (wäre nicht schlecht ) :
Neue Version des Wetterstation-Statistik-Skriptes auf GitHub V0.1.0 Beta-Testversion
- + DP für Statusmeldungen / Reset Jahresstatistik / AutoDelete "Data"
- + Jahresstatistik Min-/Max-/Durchschnittstemperatur/Trockenperiode
Wie immer zu finden im GitHub (wetterstation-statistik_test.js)
Dies ist eine Beta-Testversion!
Sie wird zwar nichts kaputt machen, aber Fehler sind möglich und nicht alles funktioniert auch. Ich brauche aber etwas Hilfe, um zu sehen ob das auch so funktioniert. Die Daten werden weiter gesammelt/ausgewertet, auch wenn man später wieder auf eine andere Version switchen sollte (nur der Reset-Test [s.u.] wird die entsprechenden Daten wirklich ins Nirwana schicken).
- AutoDelete_Data: bin ich gerade dran, funktioniert (noch) nicht - ignorieren
- Reset Jahresstatistik: wenn mit Werten nach dem Schedule befüllt auf "true" setzen. Dann sollte nach dem nächsten Schedule die Statistik resettet sein (IMO kein Beinbruch, da die Werte eh noch nicht wirklich aussagekräftig sind) + der DP wieder auf "false" stehen. "Tiefstwert" sollte auch gehen, hatte noch einen Tippfehler drin...
- Statusmeldung: wie im Bild, bzw. nach dem Schedule erfolgreich
Der Ordner "Data" bleibt bei euch noch ein leerer DP. Ich habe zum testen für "AutoDelete" dort per Hand DPs zum löschen angelegt, also nicht wundern.
Die restlichen Funktionen sollten wie gehabt laufen. Ihr könnt es mit der bisherigen Version ersetzen oder einfach ein neues JS anlegen (dann aber nicht vergessen das Andere zu stoppen!). -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wer mal testen möchte (wäre nicht schlecht ) :
gesagt, getan
-
@Negalein Hattest du zwischenzeitlich noch mal Regen, da du 6l/m² für "Regenmenge Monat" stehen hast?
AutoDelete_Data funktioniert mittlerweile auch schon fast komplett. Muss nur noch das Löschen des Jahresordners realisieren.
Wenn dann morgen die Jahreswerte alle kpl. sind fehlt nur noch der Reset-Test. Ich habe das extra nicht "on-the-fly" implementiert, sonst muss man ggf. noch eine Sicherheitsabfrage in die VIS einbauen. Ansonsten wären bei einem falschen Klick in der VIS sofort die Jahreswerte alle weg. So wird es erst mit dem nächsten Schedule-Termin gelöscht und man hat noch Zeit den DP per Hand wieder auf false zu setzen. -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hattest du zwischenzeitlich noch mal Regen, da du 6l/m² für "Regenmenge Monat" stehen hast?
Ja und heute schüttet es auch schon den ganzen Tag!
So wird es erst mit dem nächsten Schedule-Termin gelöscht und man hat noch Zeit den DP per Hand wieder auf false zu setzen.
das ist sehr gut.
-
Sieht bis jetzt alles gut aus + endlich auch mal wieder etwas Regen
...dann mal den Reset aktiviert...
Die 4 Jahreswerte kann man bei Bedarf auch wieder händisch nachtragen. -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Sieht bis jetzt alles gut aus
guten Morgen
Frage: sollten diese Werte nicht gleich sein?
-
@Negalein Normal schon, aber der Tiefstwert des aktuellen Monats funktioniert seit bspw. 15. September (müsste nachschauen seit wann genau). Da waren es halt mal "nur" 6°C und das wurde geloggt.
Die Jahreswerte funktionieren aber erst seit gestern korrekt, da war es halt bisher nicht kälter als 13°C
So richtig aussagekräftig werden die Jahreswerte erst ab 01. Januar, denn dann sammelt man wirklich das kpl. Jahr. Ich kann an der Stelle keine Auswertung über die InfluxDB fahren, da es einfach mal wieder zu viele Daten sind/sein könnten: ~1.500 Messwerte (oder mehr) x 365 Tage (schlimmstenfalls) = ~>500k Datensätze
Das würde auf einem PI etliche Minuten, wenn nicht sogar Stunden, dauern. Deswegen der einfache/schnelle Weg:
Prüfe Temperatur (egal jetzt welche) mit altem Wert im DP; ist dieser nun größer/kleiner/,,, (halt je nachdem ob Höchst-/Tiefstwert...) schreibe neuen Wert in den DP. Damit funktioniert es aber auch erst mit Start des Skriptes bzw. ab wann die entsprechende Funktion implementiert wurde.
Aber aussagekräftig ist es bis dato eh nicht. Denn stell dir mal vor, es waren im Januar -20°C und den Tiefstwert überschreitest (oder unterschreitest?) du für den Rest des Jahres nicht mehr. Dann steht da bspw. -11°C (da es von Sep-Dez einfach nicht kälter wurde), obwohl du doch im Januar -20°C hattest...
Wichtig ist im Moment bei den Jahreswerten eigentlich nur, ob sich die Werte ändern wenn ein neuer Höchst-/Tiefstwert/... erreicht wurde. Richtig "nutzen" dann erst ab 01. Januar 2021 -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die Jahreswerte funktionieren aber erst seit gestern korrekt, da war es halt bisher nicht kälter als 13°C
Ah, die sind mit gestrigem Script hinzu gekommen.
Muss ich gestern verpeilt haben.Richtig "nutzen" dann erst ab 01. Januar 2021
Aye aye, Käpt'n
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Aye aye, Käpt'n
Warum denke ich da sofort als erstes an ein sinkendes Schiff...
Sodele, habe fertig. Wenn der Reset-Test noch funktioniert kann die V0.1.0 als Final ins offizielle Release gehen. Ob dann wirklich alles funktioniert wird sich in 1Jahr(+) erweisen. Aber Release ist vor dem Patch...
Dann heißt es wieder Wiki schreiben. Danach dürfen auch zögerlich Feature-Requests gestellt werden -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Danach dürfen auch zögerlich Feature-Requests gestellt werden
da fällt mir sicher was ein
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
da fällt mir sicher was ein
Da kommt mir doch gerade eine intergalaktische Idee: wer an der Wiki schreibt darf auch Wünsche äußern
Test war auch erfolgreich, sogar Regen gab es gestern (gleich mal knapp 13 l/m²). Da es stable läuft und vor dem Release steht, habe ich es nun auch bei mir im Produktivsystem wieder unter Instanz "0" laufen. Ich fange jetzt mit der Wiki an und wenn am 01.10. soweit alles funktioniert hat, wandert es vom Beta-Branch dann auch in den Master und wird offiziell released.
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Da kommt mir doch gerade eine intergalaktische Idee:
Ich fange jetzt mit der Wiki an und wenn am 01.10. soweit alles funktioniert hat, wandert es vom Beta-Branch dann auch in den Master und wird offiziell released.
Ist schon toll, was du da zauberst!
-
Da meine Motivation offen gesagt recht gering ist und eher gegen 0-Bock beim Schreiben der Wiki tendiert, ist diese doch schon recht umfangreich ausgefallen [Ironie /AUS]...
Dafür kam mir dann eine neue Idee:
Erstmal ist die "Scriptversion" relativ unspektakulär, aber man mag den Sinn dahinter ev. schon erahnen. Ich arbeite gerade daran, dass Updates angezeigt werden können (nein, AutoUpdate funktioniert bei einem JS nicht ).
Ich möchte dann einen DP bereit stellen, der leer ist (=kein Update verfügbar) oder den Link zum Update enthält. So kann man diesen direkt in die Zwischenablage kopieren und im Browser aufrufen, oder in der VIS bspw. auf einen Button etc. legen.Bei der Durchschnittstemperatur der Jahreswerte hat sich ein gedanklicher Fehler meinerseits eingeschlichen. Dieser ist auch gefixt und die Berechnung funktioniert nun korrekt.
Ferner habe ich bei den GradTagen noch die Optik angepasst und als "Unit" Tage hinzugefügt. -
Neue Version des Wetterstation-Statistik-Skriptes auf GitHub V0.1.0 RC
- + DP für Statusmeldungen / Reset Jahresstatistik / AutoDelete "Data"
- + ScriptVersion / Update vorhanden
- + Jahresstatistik Min-/Max-/Durchschnittstemperatur/Trockenperiode
Wie immer zu finden im GitHub (wetterstation-statistik.js)
Unterschied zur vorherigen V0.1.0 Beta ist nur die
Scriptversion + Update
und eine Änderung wg. Fehlers in der Jahresdurchschnittstemperatur.
Den Updatecheck werde ich noch abschaltbar machen, denn dazu ist natürlich eine Internetverbindung (zur Abfrage der Versionsnummer bei GitHub) nötig. Will ja ev. nicht jeder haben
So kann ich die Update-Routine beim RC1 dann aber auch gleich testen -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Neue Version des Wetterstation-Statistik-Skriptes auf GitHub V0.1.0 RC
Läuft
Thx
-
Hallo, ich hab jetz das Statistik Script aktualisiert aber es stimmen immernoch manche Werte nicht.
Ich habe nicht alle geprüft aber bei:-
höchste Tagestemperatur des Jahres
-
höchste Temperatur (minimale Temp. stimmt)
-
stärkste Windböe
-
Regenmenge im Monat (maximale Regenmenge pro Tag stimmt)
weichen die Angaben in Grafana von denen aus dem Statistik Script ab.
-
-
@Rushmed ist "normal" (siehe auch https://forum.iobroker.net/post/493125)
Eine Statistik funktioniert immer erst ab dem Zeitpunkt ab dem man startet. Wenn du heute (im September) den Spritverbrauch deines Autos anfängst zu notieren, um zu sehen wie viel du im Monat/Jahr... verbrauchst, kannst du auch nicht feststellen was du im Februar diesen Jahres verbraucht hast.
Genau so verhält es sich hier. Erst ab Start des Skriptes (bzw. der Version mit der entsprechenden Funktionalität wie bspw. Jahreswerte) kannst du die Werte ermitteln. Pauschal könnte ich es zwar auch rückwirkend aus der InfluxDB noch auslesen, aber dafür ist Influx nicht "gemacht" (soll heißen zu langsam [siehe auch verlinkten Post von oben}) und ich muss auch immer an alle User denken, denn derjenige der jetzt einsteigt, hat sowieso keinerlei Werte. Du hast vielleicht seit März Werte, ich ab ~ April/Mai, einer ab Januar...
Deine Monatsstatistik für den September bzgl. der Gradtage stimmt ebenfalls nicht, denn dass habe ich erst gegen Mitte des Monates implementiert, also hat er auch erst ab da gezählt, bei der Regenmenge das gleiche usw.Verlässliche, und auch eine korrekte Statistik, gibt es nur mit dem aktuellen Skript und ab dem 01.10.2020 (denn dann wird auch wirklich das 1. mal der kpl. Monat berücksichtigt), Jahresstatistik erst ab dem 01.01.2021 (ab da hat man dann sämtliche Werte von 2021) und die Vorjahresstatistik des aktuellen Monats erst ab dem folgenden 01. seit wann man mit Influx die Daten sammelt (man sammelt also bspw. mit Influx seit Mai 2020, dann gibt es erst ab dem 01.06.2021 dafür Daten).
...und um beim Auto zu bleiben, den Jahresverbrauch kannst du auch erst wissen wenn du 365 Tage lang den Verbrauch notiert hast
Deswegen war ich auch so erpicht darauf, die Version zumindest soweit heute fertig zu haben, dass alles Relevante ausgewertet wird. So kann man schön ab dem 01.10. damit starten -
So "halbherzig" hat es funktioniert:
(hier schon mit Fix )Leider gleich zwei Fehler eingebaut. An entscheidender Stelle vergessen, dass JS die Monate in Datums-Objekten von 0-11 nummeriert (deswegen wurde es als August angelegt) und nicht als 1-12.
Werte sind auch nicht alle im JSON gelandet (und die sind auch noch falsch). Ist wohl besser die Daten erst zu speichern und dann zu löschen, als erst zu löschen und dann zu speichern... [Ironie /OFF]