Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Linux Shell-Skript] WLAN-Wetterstation

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      BigMike71 @MassiveAttack last edited by

      @massiveattack
      wie erzeugst du denn im iobroker die Datenwerte source_regen_01_23 - source_regen_12_23 ?
      hast du da ein script?
      in der Wettersation ist da ja nur der Regen_Monat wert...

      MassiveAttack 1 Reply Last reply Reply Quote 0
      • MassiveAttack
        MassiveAttack @BigMike71 last edited by

        @bigmike71
        Mit sourceanalytics

        B 1 Reply Last reply Reply Quote 0
        • B
          BigMike71 @MassiveAttack last edited by

          @massiveattack
          ok, hatte ich schon installiert, bin aber irgendwie damit nicht warm geworden 😕
          hast du da zufällig einen tip für mich was ich da genau einstellen muss?

          ansonsten schon mal einen guten Rutsch ins Jahr 2024!!!

          1 Reply Last reply Reply Quote 0
          • B
            babl last edited by 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?

            Boronsbruder 1 Reply Last reply Reply Quote 0
            • Boronsbruder
              Boronsbruder @babl last edited by

              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 Reply Quote 0
              • B
                babl @Boronsbruder last edited by

                @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

                Boronsbruder 1 Reply Last reply Reply Quote 0
                • Boronsbruder
                  Boronsbruder @babl last edited by

                  @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

                  Boronsbruder 1 Reply Last reply Reply Quote 0
                  • Boronsbruder
                    Boronsbruder @Boronsbruder last edited by 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 1 Reply Last reply Reply Quote 0
                    • B
                      BigMike71 last edited by

                      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...

                      Boronsbruder 1 Reply Last reply Reply Quote 0
                      • B
                        babl @Boronsbruder last edited by

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

                        Boronsbruder 1 Reply Last reply Reply Quote 0
                        • Boronsbruder
                          Boronsbruder @babl last edited by 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 SBorg 2 Replies Last reply Reply Quote 0
                          • Boronsbruder
                            Boronsbruder @BigMike71 last edited by 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 1 Reply Last reply Reply Quote 0
                            • B
                              babl @Boronsbruder last edited by

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

                              Boronsbruder 1 Reply Last reply Reply Quote 0
                              • Boronsbruder
                                Boronsbruder @babl last edited by

                                @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 Reply Quote 1
                                • K
                                  korken @Boronsbruder last edited by

                                  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.

                                  Boronsbruder 1 Reply Last reply Reply Quote 2
                                  • Boronsbruder
                                    Boronsbruder @korken last edited by

                                    @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 Reply Quote 0
                                    • B
                                      BigMike71 @Boronsbruder last edited by

                                      @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 Reply Quote 0
                                      • B
                                        babl @BigMike71 last edited by

                                        @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 Reply Quote 0
                                        • B
                                          babl @BigMike71 last edited by 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 1 Reply Last reply Reply Quote 0
                                          • B
                                            BigMike71 @babl last edited by

                                            @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 Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2872937
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo