Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  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.1k

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

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

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 152 Kommentatoren 3.8m Aufrufe 134 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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 🤔
    Auch die Trockenperiode kommt mir etwas lang vor

    BoronsbruderB Online
    BoronsbruderB Online
    Boronsbruder
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      BigMike71
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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 Online
          BoronsbruderB Online
          Boronsbruder
          schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
          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 Online
            BoronsbruderB Online
            Boronsbruder
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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 Online
                BoronsbruderB Online
                Boronsbruder
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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 Online
                    BoronsbruderB Online
                    Boronsbruder
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antworten Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 😊

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

                                Rene55R 1 Antwort Letzte Antwort
                                2
                                • S Offline
                                  S Offline
                                  schittl
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #5140

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

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • R Rushmed

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

                                      S Offline
                                      S Offline
                                      schittl
                                      schrieb am zuletzt editiert von
                                      #5141

                                      @rushmed Ok danke für die Info. Das kann durchaus sein. Sensor ist ja schon mehr als 3 Jahre aktiv. Ich werde es beobachten.

                                      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)

                                      1 Antwort Letzte Antwort
                                      0
                                      • SBorgS SBorg

                                        @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 😊

                                        Rene55R Online
                                        Rene55R Online
                                        Rene55
                                        schrieb am zuletzt editiert von
                                        #5142

                                        @sborg Ich brauche nochmals eure Hilfe: Ich hatte vor, meine Datenbanken etwas zu säubern. 'Jetzt' gibt es ja die longtermBuckets und die shorttermBuckets. Gibt es eine Übersicht, welche Datenpunkte ins long müssen und welche nicht? Dann noch die anschließende Frage: in der wetterstation.conf muss ich ja ein Bucket angeben, damit bestimmte Werte aus der Influx geholt werden können. Muss der Bezug dann hier auf shorttermBucket stehen?

                                        Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                                        ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                                        Wetterstation: Froggit WH3000SE V1.6.6

                                        SBorgS 1 Antwort Letzte Antwort
                                        0
                                        • Rene55R Rene55

                                          @sborg Ich brauche nochmals eure Hilfe: Ich hatte vor, meine Datenbanken etwas zu säubern. 'Jetzt' gibt es ja die longtermBuckets und die shorttermBuckets. Gibt es eine Übersicht, welche Datenpunkte ins long müssen und welche nicht? Dann noch die anschließende Frage: in der wetterstation.conf muss ich ja ein Bucket angeben, damit bestimmte Werte aus der Influx geholt werden können. Muss der Bezug dann hier auf shorttermBucket stehen?

                                          SBorgS Offline
                                          SBorgS Offline
                                          SBorg
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #5143

                                          @rene55
                                          Prinzipiell kannst du das erst mal handeln wie du willst. Der Gedanke war dabei die Daten 1 Jahr vorzuhalten. Länger fragt das WLAN-Skript auch keine Daten ab ("Temperatur vor einem Jahr").
                                          Alles was man darüber hinaus behalten wollte sollte dann ins Longterm.

                                          Das Konstrukt ist aber offen gestanden suboptimal (ich nutze es selbst nicht mehr). Hier sind die Influx-Tasks mit aggregieren deutlich besser. Ich weiß meine Zeiträume gerade nicht auswendig, aber bspw. eine "Windrichtung" braucht man kaum aufheben. Die wird aber im ~30 Sekundenraster (halt Sendeintervall der Station) geloggt und belegt nur Platz. Wer braucht denn aktuell die Windrichtung vom 29. November 2023 um 11:52:33 Uhr? Also schmeiße ich die per Task (glaube 7 Tage) kpl. aus der DB raus. Auch die Temperatur ist jetzt (mir) nicht sooo wichtig, als dass ich die Ewigkeiten bräuchte. Sie ändert sich ja auch nicht alle 30 Sekunden. Also aggregiere ich einen 15 Minutenmittelwert der Temperatur und schrinke die DB um das 30-fache oder von 30 Datensätzen auf einen. Da kann ich sie auch länger aufheben und dann zB. nach 365 Tagen auch sagen "aggregiere" jetzt auf eine Stunde. Dann habe ich nur noch 24 Datensätze pro Tag.

                                          Der Bezug in der conf muss halt auf das Bucket verweisen welches zumindest für 365 Tage Daten vorhält. Ob die "roh" sind oder bereits aggregiert sind ist dabei unerheblich. Ich lese immer dynamisch so viele Datensätze ein wie vorhanden sind 😉

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

                                          NegaleinN Rene55R 3 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          672

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe