Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Linux Shell-Skript] WLAN-Wetterstation

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[Linux Shell-Skript] WLAN-Wetterstation

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Posts 153 Posters 3.8m Views 135 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B babl

    Mir fällt hier gerade auf, daß mit der Regenmengen Statistik irgendwas nicht stimmt. Siehe Bild.

    Statistik Regenmenge.jpg

    Und Zwar wird das aktuelle Jahr nicht zurückgesetzt.
    Shell Script Version : V3.2.0
    Script Version: v2.0.3 - 02.07.2023

    Es wurden die Original angelegten Datenpunkte hergenommen und nichts geändert.

    Auch unter den Objekten ist der Wert im iobroker falsch und wurde nicht zurückgesetzt.

    Was sagt da @SBorg dazu?

    BoronsbruderB Offline
    BoronsbruderB Offline
    Boronsbruder
    wrote on last edited by
    #5121

    541c0ceb-8adf-4fd9-8704-e188814694af-grafik.png
    ich hab hier noch 2.0.2 der Statistik und v3.1.1. am Laufen, da passt es im IOB.

    B 1 Reply Last reply
    0
    • BoronsbruderB Boronsbruder

      541c0ceb-8adf-4fd9-8704-e188814694af-grafik.png
      ich hab hier noch 2.0.2 der Statistik und v3.1.1. am Laufen, da passt es im IOB.

      B Offline
      B Offline
      babl
      wrote on last edited by
      #5122

      @boronsbruder ok, hmm, alles andere was ich jetzt so gesehen habe, paßt auch, was has du denn unter dem ordner 0_userdata.0.Statistik.Wetter.Jahreswerte
      drin stehen?

      Jahreswerte.jpg

      BoronsbruderB 1 Reply Last reply
      0
      • B babl

        @boronsbruder ok, hmm, alles andere was ich jetzt so gesehen habe, paßt auch, was has du denn unter dem ordner 0_userdata.0.Statistik.Wetter.Jahreswerte
        drin stehen?

        Jahreswerte.jpg

        BoronsbruderB Offline
        BoronsbruderB Offline
        Boronsbruder
        wrote on last edited by
        #5123

        @babl
        b4b44243-127c-4cd2-a950-25d1910c6df4-grafik.png
        Ein paar Kuriositäten wohl...
        Entweder hatten wir viele Tage die von Frost in über 25 °C übergingen oder 455 Tage im Jahr :thinking_face:
        Auch die Trockenperiode kommt mir etwas lang vor

        BoronsbruderB 1 Reply Last reply
        0
        • BoronsbruderB Boronsbruder

          @babl
          b4b44243-127c-4cd2-a950-25d1910c6df4-grafik.png
          Ein paar Kuriositäten wohl...
          Entweder hatten wir viele Tage die von Frost in über 25 °C übergingen oder 455 Tage im Jahr :thinking_face:
          Auch die Trockenperiode kommt mir etwas lang vor

          BoronsbruderB Offline
          BoronsbruderB Offline
          Boronsbruder
          wrote on last edited by Boronsbruder
          #5124

          @babl
          Also bei mir kommen die "komischen" Werte vom fehlenden / falsch eingestellten

          0_userdata.0.Statistik.Wetter.Control.AutoReset_Jahresstatistik 
          

          (stand auf 0[AUS] anstatt 2[Reset und Backup])

          B 1 Reply Last reply
          0
          • B Offline
            B Offline
            BigMike71
            wrote on last edited by
            #5125

            erst einmal ein frohes neues Jahr an alle :)

            ich habe da mal ein Frage bezüglich dem logging mit Influx.
            bei welchen werten macht es sinn nur "Nur Änderungen aufzeichnen" auszuwählen und bei welchen nicht? bin mir da nicht ganz sicher...

            BoronsbruderB 1 Reply Last reply
            0
            • BoronsbruderB Boronsbruder

              @babl
              Also bei mir kommen die "komischen" Werte vom fehlenden / falsch eingestellten

              0_userdata.0.Statistik.Wetter.Control.AutoReset_Jahresstatistik 
              

              (stand auf 0[AUS] anstatt 2[Reset und Backup])

              B Offline
              B Offline
              babl
              wrote on last edited by
              #5126

              @boronsbruder auto reset jahresstatistik steht bei mir auch auf 0 und reset jahresstatistik auf false, muss man die auto reset jahresstatistik auf 2 setzen, wo steht denn das, habe ich da was überlesen?

              BoronsbruderB 1 Reply Last reply
              0
              • B babl

                @boronsbruder auto reset jahresstatistik steht bei mir auch auf 0 und reset jahresstatistik auf false, muss man die auto reset jahresstatistik auf 2 setzen, wo steht denn das, habe ich da was überlesen?

                BoronsbruderB Offline
                BoronsbruderB Offline
                Boronsbruder
                wrote on last edited by Boronsbruder
                #5127

                @babl @SBorg
                Im Skript ist ein Hinweis.
                In der Doku fehlt er, glaube ich noch ?
                Ich habe aus dem Quellcode abgeleitet, dass mit

                0 Aus
                1 Reset
                2 Backup und Reset
                

                der Jahresstatistik zum 01.01. durchgeführt wird.
                Wenn du jetzt 0_userdata.0.Statistik.Wetter.Control.Reset_Jahresstatistik auf true setzt wird zum nächsten Statistikdurchlauf, die Jahresstatistik zurückgesetzt. (Das steht schon in der Doku)
                ACHTUNG: aber ohne die Daten der Jahresstatistik in einen Datenpunkt zu sichern!

                Ich habe, um ein Backup mit Reset sofort zu erzwingen, ganz am Ende des Statistikskripts

                Backup_Jahresstatistik();
                Reset_Jahresstatistik();
                

                angehängt, das Skript gespeichert, und dann den Anhang wieder entfernt und gespeichert.

                B SBorgS 2 Replies Last reply
                0
                • B BigMike71

                  erst einmal ein frohes neues Jahr an alle :)

                  ich habe da mal ein Frage bezüglich dem logging mit Influx.
                  bei welchen werten macht es sinn nur "Nur Änderungen aufzeichnen" auszuwählen und bei welchen nicht? bin mir da nicht ganz sicher...

                  BoronsbruderB Offline
                  BoronsbruderB Offline
                  Boronsbruder
                  wrote on last edited by Boronsbruder
                  #5128

                  @bigmike71
                  Ohne Nur Änderungen aufzeichnen wird halt bei jedem Empfang der Daten ein neuer Datensatz geschrieben, was die Datenmenge in der Datenbank erhöht.

                  Man muss beim Setzen von Nur Änderungen aufzeichnen bedenken, dass wenn Skripte Verläufe oder Mittelwerte abrufen, in gewissen Zeitabständen doch die unveränderten Werte geschrieben werden, um Fehler in den Berechnungen zu verhindern.

                  Man kann aber in Influx2 über Tasks auch die Datenmengen reduzieren. Der Vorteil an dieser Variante ist, dass z.B. kürzer in der Vergangenheit liegende Daten noch in vollen Details vorhanden sind und ob ich in 5 Jahren noch wissen will, dass um 12:14 Uhr 11,7°C grad waren...

                  B 1 Reply Last reply
                  0
                  • BoronsbruderB Boronsbruder

                    @babl @SBorg
                    Im Skript ist ein Hinweis.
                    In der Doku fehlt er, glaube ich noch ?
                    Ich habe aus dem Quellcode abgeleitet, dass mit

                    0 Aus
                    1 Reset
                    2 Backup und Reset
                    

                    der Jahresstatistik zum 01.01. durchgeführt wird.
                    Wenn du jetzt 0_userdata.0.Statistik.Wetter.Control.Reset_Jahresstatistik auf true setzt wird zum nächsten Statistikdurchlauf, die Jahresstatistik zurückgesetzt. (Das steht schon in der Doku)
                    ACHTUNG: aber ohne die Daten der Jahresstatistik in einen Datenpunkt zu sichern!

                    Ich habe, um ein Backup mit Reset sofort zu erzwingen, ganz am Ende des Statistikskripts

                    Backup_Jahresstatistik();
                    Reset_Jahresstatistik();
                    

                    angehängt, das Skript gespeichert, und dann den Anhang wieder entfernt und gespeichert.

                    B Offline
                    B Offline
                    babl
                    wrote on last edited by
                    #5129

                    @boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                    Backup_Jahresstatistik();
                    Reset_Jahresstatistik();

                    danke, aber ich weiß jetzt nicht genau was du damit meinst.

                    wie sollte ich nun vorgehen, meine Daten werden alle so wie es im Wiki ist in die INflux geschrieben, und dort mit einem Task auf 15min verkleinert, also die Daten habe ich. Mir geht es jetzt nur daß es sobald wie möglich wieder stimmt mit den Werten für dieses Jahr.

                    Was sollte ich da jetzt tun. Danke dir.

                    BoronsbruderB 1 Reply Last reply
                    0
                    • B babl

                      @boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                      Backup_Jahresstatistik();
                      Reset_Jahresstatistik();

                      danke, aber ich weiß jetzt nicht genau was du damit meinst.

                      wie sollte ich nun vorgehen, meine Daten werden alle so wie es im Wiki ist in die INflux geschrieben, und dort mit einem Task auf 15min verkleinert, also die Daten habe ich. Mir geht es jetzt nur daß es sobald wie möglich wieder stimmt mit den Werten für dieses Jahr.

                      Was sollte ich da jetzt tun. Danke dir.

                      BoronsbruderB Offline
                      BoronsbruderB Offline
                      Boronsbruder
                      wrote on last edited by
                      #5130

                      @babl
                      0_userdata.0.Statistik.Wetter.Control.Reset_Jahresstatistik auf true

                      1.2. Reset_Jahresstatistik - [Boolean: true/false] bei true wird die komplette Jahresstatistik zum Schedule resettet. Die Werte werden "genullt" und ggf. (zB. Höchst-/Tiefstwert) auf Extreme gesetzt, damit dann wieder korrekte Höchst-/Tiefstwerte oä. ermittelt werden können.
                      

                      Dann sollte es morgen nach dem Statistik-Lauf wieder passen:
                      a56f7d7c-ac5f-4e38-ba20-c88f9247c24c-grafik.png

                      K 1 Reply Last reply
                      1
                      • BoronsbruderB Boronsbruder

                        @babl
                        0_userdata.0.Statistik.Wetter.Control.Reset_Jahresstatistik auf true

                        1.2. Reset_Jahresstatistik - [Boolean: true/false] bei true wird die komplette Jahresstatistik zum Schedule resettet. Die Werte werden "genullt" und ggf. (zB. Höchst-/Tiefstwert) auf Extreme gesetzt, damit dann wieder korrekte Höchst-/Tiefstwerte oä. ermittelt werden können.
                        

                        Dann sollte es morgen nach dem Statistik-Lauf wieder passen:
                        a56f7d7c-ac5f-4e38-ba20-c88f9247c24c-grafik.png

                        K Offline
                        K Offline
                        korken
                        wrote on last edited by
                        #5131

                        Hallo.
                        Die Regenmenge "aktuelles Jahr" wurde bei mir auch nicht zurück gesetzt.
                        Die kommt aber wohl direkt aus der Wetterstation und nicht aus dem Statistikscript.
                        Ich nutze hier noch die V1.1.0 (habe noch Influx 1.X).
                        Dazu habe ich für mein Wetter-Gateway Ecowitt GW1000 folgendes gefunden.
                        Rücksetzen Jahresregenmenge
                        vielleicht hilft das dem ein oder anderen.

                        BoronsbruderB 1 Reply Last reply
                        2
                        • K korken

                          Hallo.
                          Die Regenmenge "aktuelles Jahr" wurde bei mir auch nicht zurück gesetzt.
                          Die kommt aber wohl direkt aus der Wetterstation und nicht aus dem Statistikscript.
                          Ich nutze hier noch die V1.1.0 (habe noch Influx 1.X).
                          Dazu habe ich für mein Wetter-Gateway Ecowitt GW1000 folgendes gefunden.
                          Rücksetzen Jahresregenmenge
                          vielleicht hilft das dem ein oder anderen.

                          BoronsbruderB Offline
                          BoronsbruderB Offline
                          Boronsbruder
                          wrote on last edited by
                          #5132

                          @korken sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                          Hallo.
                          Die Regenmenge "aktuelles Jahr" wurde bei mir auch nicht zurück gesetzt.
                          Die kommt aber wohl direkt aus der Wetterstation und nicht aus dem Statistikscript.
                          Ich nutze hier noch die V1.1.0 (habe noch Influx 1.X).
                          Dazu habe ich für mein Wetter-Gateway Ecowitt GW1000 folgendes gefunden.
                          Rücksetzen Jahresregenmenge
                          vielleicht hilft das dem ein oder anderen.

                          Bei mir war auch Februar als Rainfall-Season drin

                          1 Reply Last reply
                          0
                          • BoronsbruderB Boronsbruder

                            @bigmike71
                            Ohne Nur Änderungen aufzeichnen wird halt bei jedem Empfang der Daten ein neuer Datensatz geschrieben, was die Datenmenge in der Datenbank erhöht.

                            Man muss beim Setzen von Nur Änderungen aufzeichnen bedenken, dass wenn Skripte Verläufe oder Mittelwerte abrufen, in gewissen Zeitabständen doch die unveränderten Werte geschrieben werden, um Fehler in den Berechnungen zu verhindern.

                            Man kann aber in Influx2 über Tasks auch die Datenmengen reduzieren. Der Vorteil an dieser Variante ist, dass z.B. kürzer in der Vergangenheit liegende Daten noch in vollen Details vorhanden sind und ob ich in 5 Jahren noch wissen will, dass um 12:14 Uhr 11,7°C grad waren...

                            B Offline
                            B Offline
                            BigMike71
                            wrote on last edited by
                            #5133

                            @boronsbruder
                            mit der Datenmenge habe ich auch ein Auge drauf.
                            Gibt es da ein verständliches Beispiel für Tasks?
                            habe damit noch nie gearbeitet da ich recht neu mit der sache Influx/Grafana bin.
                            Löscht Task wichtige Datenwerte oder reduziert die Datenmenge ohne die Genauigkeit (Werte) zu ändern?
                            Habe Influx2 mit Weboberfläche, da habe ich auch Tasks, das scheint aber alles nur über eingabe Befehle zu gehen...

                            B 2 Replies Last reply
                            0
                            • B BigMike71

                              @boronsbruder
                              mit der Datenmenge habe ich auch ein Auge drauf.
                              Gibt es da ein verständliches Beispiel für Tasks?
                              habe damit noch nie gearbeitet da ich recht neu mit der sache Influx/Grafana bin.
                              Löscht Task wichtige Datenwerte oder reduziert die Datenmenge ohne die Genauigkeit (Werte) zu ändern?
                              Habe Influx2 mit Weboberfläche, da habe ich auch Tasks, das scheint aber alles nur über eingabe Befehle zu gehen...

                              B Offline
                              B Offline
                              babl
                              wrote on last edited by
                              #5134

                              @bigmike71 ich schick dir morgen Mal ein Beispiel für Wetterstation in 15min runtergerechnet. Das nehme ich dann für die Langzeit vielleicht lasse ich es nochmal auf 1 Stunde runterrechnen bis jetzt habe ich eine grösse von ca. 500mb gezippt

                              1 Reply Last reply
                              0
                              • B BigMike71

                                @boronsbruder
                                mit der Datenmenge habe ich auch ein Auge drauf.
                                Gibt es da ein verständliches Beispiel für Tasks?
                                habe damit noch nie gearbeitet da ich recht neu mit der sache Influx/Grafana bin.
                                Löscht Task wichtige Datenwerte oder reduziert die Datenmenge ohne die Genauigkeit (Werte) zu ändern?
                                Habe Influx2 mit Weboberfläche, da habe ich auch Tasks, das scheint aber alles nur über eingabe Befehle zu gehen...

                                B Offline
                                B Offline
                                babl
                                wrote on last edited by babl
                                #5135

                                @bigmike71 hier ist mein Task für die Wetterstation, er wird alle Stunde aufgerufen und verarbeitet dann die Daten die in die normale influxdb bucket wetterstation laufen dann auf 15 minuten.

                                import "timezone"
                                
                                option task = {name: "wetterstation-history-15min", every: 1h}
                                
                                from(bucket: "wetterstation")
                                    |> range(start: -24h, stop: now())
                                    |> filter(
                                        fn: (r) =>
                                            r["_measurement"] == "0_userdata.0.Allgemein.Wettervorschau" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Statistik.Wetter.VorTag.Regenmenge" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Aussentemperatur" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Aussentemperatur_Trend" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Druck_Tendenz" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Druck_absolut" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Druck_relativ" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Gefuehlte_Temperatur" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Hitzeindex" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Letzte_Regenmenge" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Letzter_Regen" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Regenmenge_VorJahr" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Solarenergie_Jahr" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Solarenergie_Monat" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Solarenergie_Tag" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Solarenergie_VorJahr" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Solarenergie_VorTag" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Solarenergie_Woche" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Sonnenschein_Jahr" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Sonnenschein_Monat" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Sonnenschein_Tag" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Sonnenschein_VorJahr" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Sonnenschein_VorTag" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Sonnenschein_Woche" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Temp_Aussen_24h_max" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Temp_Aussen_24h_min" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Temp_Aussen_365t_avg" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Temp_Aussen_365t_max" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Temp_Aussen_365t_min" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Info.Wolkenbasis" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Innenfeuchtigkeit" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Innentemperatur" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Regen_Jahr" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Regen_Monat" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Regen_Tag" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Regen_Woche" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Regenrate" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Regenstatus" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Sonnenstrahlung" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Taupunkt" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.UV_Index" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Wetter_Trend" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Wetter_aktuell" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Wind" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Wind_max" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Windrichtung" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Windrichtung_10min" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Windrichtung_Text_10min" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation.Zeitstempel" or r["_measurement"]
                                                ==
                                                "0_userdata.0.Wetterstation._Kommunikationsfehler" or r["_measurement"]
                                                ==
                                                "daswetter.0.NextDays.Location_1.Day_1.Wetterbedingungen_value" or r["_measurement"]
                                                ==
                                                "daswetter.0.NextDays.Location_1.Day_2.Wetterbedingungen_value" or r["_measurement"]
                                                ==
                                                "odl.0.093721531.value" or r["_measurement"] == "uv-protect.0.ozone"
                                                or
                                                r["_measurement"] == "weatherunderground.0.forecast.0d.precipitationAllDay"
                                                or
                                                r["_measurement"] == "weatherunderground.0.forecast.0d.precipitationChance"
                                                or
                                                r["_measurement"] == "0_userdata.0.Wetterstation.Regen_Jahr_kumuliert",
                                    )
                                    |> filter(
                                        fn: (r) =>
                                            r["_field"] == "ack" or r["_field"] == "from" or r["_field"] == "q" or r["_field"]
                                                ==
                                                "value",
                                    )
                                    |> aggregateWindow(every: 15m, fn: last)
                                    |> yield(name: "last")
                                    |> to(bucket: "wetterstation-history-15min", org: "privat")
                                
                                
                                

                                @Boronsbruder @SBorg nach dem Reset ist alles wieder gut, danke.

                                B 1 Reply Last reply
                                0
                                • B babl

                                  @bigmike71 hier ist mein Task für die Wetterstation, er wird alle Stunde aufgerufen und verarbeitet dann die Daten die in die normale influxdb bucket wetterstation laufen dann auf 15 minuten.

                                  import "timezone"
                                  
                                  option task = {name: "wetterstation-history-15min", every: 1h}
                                  
                                  from(bucket: "wetterstation")
                                      |> range(start: -24h, stop: now())
                                      |> filter(
                                          fn: (r) =>
                                              r["_measurement"] == "0_userdata.0.Allgemein.Wettervorschau" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Statistik.Wetter.VorTag.Regenmenge" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Aussentemperatur" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Aussentemperatur_Trend" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Druck_Tendenz" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Druck_absolut" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Druck_relativ" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Gefuehlte_Temperatur" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Hitzeindex" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Letzte_Regenmenge" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Letzter_Regen" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Regenmenge_VorJahr" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Solarenergie_Jahr" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Solarenergie_Monat" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Solarenergie_Tag" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Solarenergie_VorJahr" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Solarenergie_VorTag" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Solarenergie_Woche" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Sonnenschein_Jahr" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Sonnenschein_Monat" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Sonnenschein_Tag" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Sonnenschein_VorJahr" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Sonnenschein_VorTag" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Sonnenschein_Woche" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Temp_Aussen_24h_max" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Temp_Aussen_24h_min" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Temp_Aussen_365t_avg" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Temp_Aussen_365t_max" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Temp_Aussen_365t_min" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Info.Wolkenbasis" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Innenfeuchtigkeit" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Innentemperatur" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Regen_Jahr" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Regen_Monat" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Regen_Tag" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Regen_Woche" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Regenrate" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Regenstatus" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Sonnenstrahlung" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Taupunkt" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.UV_Index" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Wetter_Trend" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Wetter_aktuell" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Wind" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Wind_max" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Windrichtung" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Windrichtung_10min" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Windrichtung_Text_10min" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation.Zeitstempel" or r["_measurement"]
                                                  ==
                                                  "0_userdata.0.Wetterstation._Kommunikationsfehler" or r["_measurement"]
                                                  ==
                                                  "daswetter.0.NextDays.Location_1.Day_1.Wetterbedingungen_value" or r["_measurement"]
                                                  ==
                                                  "daswetter.0.NextDays.Location_1.Day_2.Wetterbedingungen_value" or r["_measurement"]
                                                  ==
                                                  "odl.0.093721531.value" or r["_measurement"] == "uv-protect.0.ozone"
                                                  or
                                                  r["_measurement"] == "weatherunderground.0.forecast.0d.precipitationAllDay"
                                                  or
                                                  r["_measurement"] == "weatherunderground.0.forecast.0d.precipitationChance"
                                                  or
                                                  r["_measurement"] == "0_userdata.0.Wetterstation.Regen_Jahr_kumuliert",
                                      )
                                      |> filter(
                                          fn: (r) =>
                                              r["_field"] == "ack" or r["_field"] == "from" or r["_field"] == "q" or r["_field"]
                                                  ==
                                                  "value",
                                      )
                                      |> aggregateWindow(every: 15m, fn: last)
                                      |> yield(name: "last")
                                      |> to(bucket: "wetterstation-history-15min", org: "privat")
                                  
                                  
                                  

                                  @Boronsbruder @SBorg nach dem Reset ist alles wieder gut, danke.

                                  B Offline
                                  B Offline
                                  BigMike71
                                  wrote on last edited by
                                  #5136

                                  @babl
                                  vielen dank!
                                  das bedeutet dann, das die Daten einen Zeitabstand von 15min haben?
                                  im moment logge ich "wind" und "richtung" alle 16sek, danach gibt es dann nur alle 15min einen datenpunkt, verstehe ich das richtig?

                                  B 1 Reply Last reply
                                  0
                                  • B BigMike71

                                    @babl
                                    vielen dank!
                                    das bedeutet dann, das die Daten einen Zeitabstand von 15min haben?
                                    im moment logge ich "wind" und "richtung" alle 16sek, danach gibt es dann nur alle 15min einen datenpunkt, verstehe ich das richtig?

                                    B Offline
                                    B Offline
                                    babl
                                    wrote on last edited by
                                    #5137

                                    @bigmike71 jawohl, das mache ich für die langzeitspeicherung, natürlich geht dir dann eine Böe z.B. verloren, aber für die letzten 30 Tage kannst du ja das normale Fenster (16sec) nehmen und ab dann das für die 15 min. In Grafana kannst das ja über die Variablen (Buckets) angeben bei Langzeitauswertung.

                                    1 Reply Last reply
                                    0
                                    • BoronsbruderB Boronsbruder

                                      @babl @SBorg
                                      Im Skript ist ein Hinweis.
                                      In der Doku fehlt er, glaube ich noch ?
                                      Ich habe aus dem Quellcode abgeleitet, dass mit

                                      0 Aus
                                      1 Reset
                                      2 Backup und Reset
                                      

                                      der Jahresstatistik zum 01.01. durchgeführt wird.
                                      Wenn du jetzt 0_userdata.0.Statistik.Wetter.Control.Reset_Jahresstatistik auf true setzt wird zum nächsten Statistikdurchlauf, die Jahresstatistik zurückgesetzt. (Das steht schon in der Doku)
                                      ACHTUNG: aber ohne die Daten der Jahresstatistik in einen Datenpunkt zu sichern!

                                      Ich habe, um ein Backup mit Reset sofort zu erzwingen, ganz am Ende des Statistikskripts

                                      Backup_Jahresstatistik();
                                      Reset_Jahresstatistik();
                                      

                                      angehängt, das Skript gespeichert, und dann den Anhang wieder entfernt und gespeichert.

                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #5138

                                      @boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                                      Im Skript ist ein Hinweis.
                                      In der Doku fehlt er, glaube ich noch ?

                                      Eigentlich auch im Datenpunkt direkt, zumindest wenn er vom Script angelegt wurde.
                                      Aber der Hinweis in der WiKi fehlt(e) tatsächlich.

                                      1.2. AutoReset_Jahresstatistik - [Zahl: 0,1,2] was soll am 01.01. des Jahres mit den Statistikdaten passieren?
                                      0 = Aus | die Daten werden einfach fortlaufend weitergeführt
                                      1 = Ein | die Werte werden "genullt" und ggf. (zB. Höchst-/Tiefstwert) auf Extreme gesetzt, damit dann wieder korrekte Höchst-/Tiefstwerte oä. ermittelt werden können
                                      2 = Ein+Backup | wie 1, nur werden zusätzlich Daten in einer Jahresstatistik gespeichert

                                      Extreme bedeutet dabei "nicht mögliche Werte" wie zB. bei den Temperaturen.
                                      Hier wird der Tiefstwert auf 99°C und der Höchstwert auf -99°C gesetzt. Somit wird zum nächsten Durchlauf jede Temperatur den Tiefstwert unterschreiten, sowie jede Temperatur den Höchstwert überschreiten.

                                      Min-Temp am 01.01. -5°C
                                      Max-Temp am 01.01. 2°C

                                      Für den Vergleich ist dann
                                      -5 weniger als 99 = neuer Tiefstwert -5°C
                                      2 mehr als -99 = neuer Höchstwert 2°C

                                      Würden die auch nur "genullt" und wir hätten zB. am 01.01. ein Min von 6°C und ein Max von 9°C (wie es bei mir tatsächlich war), würde zwar der Maxwert korrekt auf 9°C gesetzt werden, der Minwert verbliebe aber bei 0°C, da 6 größer als 0 ist ;)
                                      ...und löschen und keinen Wert hineinschreiben wird dann mit einer Fehlermeldung vom Javaskript-Adapter belohnt.

                                      Nur weil ich schon gefragt wurde warum diese verqueren "99er"-Werte. Ab und an denkt sich der alte Mann sogar etwas bei dem was er tut, wenn auch nicht immer :blush:

                                      LG SBorg ( SBorg auf GitHub)
                                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                      Rene55R 1 Reply Last reply
                                      2
                                      • S Offline
                                        S Offline
                                        schittl
                                        wrote on last edited by schittl
                                        #5139

                                        Seit heute morgen kommen falsche Werte bei mir in iobroker an. Bis ca. 9 Uhr hat es funktioniert. Die Displays (WH3000SE) zeigen noch die korrekte Temperatur an. Nur in ioBroker landen falsche Werte. Auch in WU landen nur korrekte Daten. Da sendet der DP1500, welchen ich auch für iobroker nutze. Debug zeigt folgendes:

                                        PASSKEY=xxxxxxxx&stationtype=GW1000A_V1.7.7&runtime=7311343&dateutc=2024-01-07+10:19:16&tempinf=43.34&humidityin=44&baromrelin=27.950&baromabsin=27.950&tempf=59.36&humidity=85&winddir=72&windspeedmph=0.00&windgustmph=1.12&maxdailygust=11.41&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=2.000&yearlyrainin=52.201&totalrainin=52.201&temp1f=60.98&humidity1=40&temp2f=73.04&soilmoisture1=21&soilad1=150&soilmoisture2=59&soilad2=290&soilmoisture3=60&soilad3=290&soilmoisture4=27&soilad4=171&soilmoisture5=47&soilad5=244&lightning_num=0&lightning=17&lightning_time=1703179736&leak_ch1=0&tf_ch1=71.06&wh65batt=0&batt1=0&batt2=0&soilbatt1=1.5&soilbatt2=1.5&soilbatt3=1.5&soilbatt4=1.5&soilbatt5=1.5&wh57batt=5&leakbatt1=4&tf_batt1=1.52&freq=868M&model=GW1000A_Pro
                                        

                                        Hat jemand ne Idee, woran das liegen kann? Aktuell sind es Minus 5,4 ° und in ioBroker 15,2°. Scriptversion habe ich V3.2.0.

                                        ZusatzInfo:
                                        Momentan geht es wieder aber ich verstehe nicht wieso die falschen Werte ankamen. Naja Hauptsache geht wieder.

                                        HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

                                        SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

                                        R 1 Reply Last reply
                                        0
                                        • S schittl

                                          Seit heute morgen kommen falsche Werte bei mir in iobroker an. Bis ca. 9 Uhr hat es funktioniert. Die Displays (WH3000SE) zeigen noch die korrekte Temperatur an. Nur in ioBroker landen falsche Werte. Auch in WU landen nur korrekte Daten. Da sendet der DP1500, welchen ich auch für iobroker nutze. Debug zeigt folgendes:

                                          PASSKEY=xxxxxxxx&stationtype=GW1000A_V1.7.7&runtime=7311343&dateutc=2024-01-07+10:19:16&tempinf=43.34&humidityin=44&baromrelin=27.950&baromabsin=27.950&tempf=59.36&humidity=85&winddir=72&windspeedmph=0.00&windgustmph=1.12&maxdailygust=11.41&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=2.000&yearlyrainin=52.201&totalrainin=52.201&temp1f=60.98&humidity1=40&temp2f=73.04&soilmoisture1=21&soilad1=150&soilmoisture2=59&soilad2=290&soilmoisture3=60&soilad3=290&soilmoisture4=27&soilad4=171&soilmoisture5=47&soilad5=244&lightning_num=0&lightning=17&lightning_time=1703179736&leak_ch1=0&tf_ch1=71.06&wh65batt=0&batt1=0&batt2=0&soilbatt1=1.5&soilbatt2=1.5&soilbatt3=1.5&soilbatt4=1.5&soilbatt5=1.5&wh57batt=5&leakbatt1=4&tf_batt1=1.52&freq=868M&model=GW1000A_Pro
                                          

                                          Hat jemand ne Idee, woran das liegen kann? Aktuell sind es Minus 5,4 ° und in ioBroker 15,2°. Scriptversion habe ich V3.2.0.

                                          ZusatzInfo:
                                          Momentan geht es wieder aber ich verstehe nicht wieso die falschen Werte ankamen. Naja Hauptsache geht wieder.

                                          R Offline
                                          R Offline
                                          Rushmed
                                          Most Active
                                          wrote on last edited by
                                          #5140

                                          @schittl Bei mir ist sowas kürzlich passiert kurz bevor die Batterie vom Außensensor aufgegeben hat.

                                          S 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          459

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe