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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • SBorg
      SBorg Forum Testing Most Active @Nashra last edited by

      @nashra Das dürfte sich darauf beziehen?
      Bild 001.png

      Das ist ein (eigentlich mittlerweile unnötiges) JavaScript. Man könnte das auch einfach in Influx V2 aggregieren. Das ist nichts weiter wie der Min-/Max-Temperaturwert eines Tages der letzten 365 Tage.

      Nashra 1 Reply Last reply Reply Quote 0
      • Nashra
        Nashra Most Active Forum Testing @SBorg last edited by

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

        Das ist ein (eigentlich mittlerweile unnötiges) JavaScript. Man könnte das auch einfach in Influx V2 aggregieren. Das ist nichts weiter wie der Min-/Max-Temperaturwert eines Tages der letzten 365 Tage.

        Einfach aggregieren, ich weiß noch nicht mal wo ich da jetzt ansetzen müßte 😁

        Chris76e 1 Reply Last reply Reply Quote 0
        • Chris76e
          Chris76e @Nashra last edited by Chris76e

          @nashra

          Die beiden Datenpunkte liegen hier

          javascript.0.Wetterstation.Info.Temp_Aussen_24h_min und javascript.0.Wetterstation.Info.Temp_Aussen_24h_max oder 0.userdata.....

          Dann müssen die beiden Abfragen A und B geändert werden

          from(bucket: "iobroker")
            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
            |> filter(fn: (r) => r._measurement == "javascript.0.Wetterstation.Info.Temp_Aussen_24h_min" and r._field == "value")
            |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
            |> yield(name: "Tiefstwert 24h")
          

          Screenshot 2023-05-11 141517.jpg

          Nashra 1 Reply Last reply Reply Quote 0
          • Nashra
            Nashra Most Active Forum Testing @Chris76e last edited by

            @chris76e
            An die hatte ich gar nicht gedacht, war jetzt so mit dem Skript beschäftigt.
            Habe die Quellen ausgetauscht und läuft.

            1 Reply Last reply Reply Quote 0
            • SBorg
              SBorg Forum Testing Most Active last edited by

              Kleiner funfact am Rande: D. Trump hat tatsächlich Recht 🙃
              Die globale Erderwärmung ist "nur eine Erfindung der Chinesen"...

              Hier der Beweis :
              Bild 001.png

              [Ironie /OFF]

              Chris76e 1 Reply Last reply Reply Quote 0
              • Chris76e
                Chris76e @SBorg last edited by

                @sborg

                ist mir heute erst aufgefallen, habe am 3/4 Mai auf Influxdb 2 gewechselt, habe die Datenpunkte unter javascript.0 behalten. Jetzt werden in den DP´s von

                javascript.0.Wetterstation.Info.Temp_Aussen_24h_max und min
                

                nichts mehr geschrieben, sondern in den DP´s

                javascript.0.Wetterstation.Info.Temp_Aussen_Heute_max und min
                

                Hast du da was geändert?

                Screenshot 2023-05-12 223438.jpg

                1 Reply Last reply Reply Quote 0
                • SBorg
                  SBorg Forum Testing Most Active last edited by SBorg

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

                  Hast du da was geändert?

                  Für den Wechsel V2.v --> V3.x ja, denn die Influx-Abfrage basiert ja nun auf Flux. An der Funktion, nein.
                  Die beiden (oder vier) DPs sind unterschiedlich was den Zeitraum angeht.

                  • Heute: Mitternacht bis "jetzt" / aktuell 12:30 Uhr, wäre also alles von Heute 0:00 Uhr bis 12:30 Uhr
                  • 24h : "jetzt" minus 24 Stunden /aktuell 12:30 Uhr, wäre also alles von Gestern 12:30 Uhr bis Heute 12:30 Uhr

                  Je nach Temperaturverlauf können die Daten auch identisch sein.
                  Funktioniert aber beides (hier 24h_min):
                  Bild 001.png

                  * Edit * ev. mal das Script restarten.

                  Chris76e 1 Reply Last reply Reply Quote 0
                  • Chris76e
                    Chris76e @SBorg last edited by Chris76e

                    @sborg

                    hmm,

                    warum wird denn bei mir keine Daten in den DP´s von:

                    javascript.0.Wetterstation.Info.Temp_Aussen_365t_max
                    

                    geschrieben???

                    Habe diese Script gestartet und gestoppt damit die DP´s angelegt werden

                    //Wetterstation Datenpunkte anlegen V3.0.0
                    let DP = "javascript.0.Wetterstation.";
                    let WH31 = 0;    // Anzahl der WH31/WH25 Sensoren  (max. 1 Stück)
                    let WS90 = 0;    // Anzahl der WS90 Sensoren       (max. 1 Stück)
                    let DP10 = 0;    // Anzahl der DP10/WN35 Sensoren  (max. 8 Stück)
                    let DP35 = 0;    // Anzahl der DP35/WN34 Sensoren  (max. 8 Stück)
                    let DP40 = 0;    // Anzahl der DP40/WH32 Sensoren  (max. 1 Stück)
                    let DP50 = 0;    // Anzahl der DP50/WH31 Sensoren  (max. 8 Stück)
                    let DP60 = 0;    // Anzahl der DP60/WH57 Sensoren  (max. 1 Stück)
                    let DP70 = 0;    // Anzahl der DP70/WH55 Sensoren  (max. 4 Stück)
                    let DP100 = 0;   // Anzahl der DP100/WH51 Sensoren (max. 8 Stück)
                    let DP200 = 0;   // Anzahl der DP200/WH43 Sensoren (max. 4 Stück)
                    let DP250 = 0;   // Anzahl der DP250/WH45 Sensoren (max. 1 Stück)
                    let DP300 = 0;   // Anzahl der DP300/WS68 Sensoren (max. 1 Stück)
                    let BR7009999 = 0; // Anzahl der Thermo-Hygro-7Ch-Sensoren (max. 4 Stück)
                    let FT0300 = 0;  // Anzahl der FT0300 Sensoren     (max. 1 Stück)
                    //Ende der User-Einstellungen -------------------
                    
                    
                    

                    und diese Version von der Wetterstatistik

                    /* Wetterstation-Statistiken 
                    
                       holt die Messdaten aus einer InfluxDB V2 und erstellt eine Monats-, Vorjahresmonat- und
                       Rekordwerte-Statistik
                       Wichtig: funktioniert nur mit der Default-Datenstruktur des WLAN-Wetterstation-Skriptes!
                                Auch keine Aliase unter Influx nutzen!
                    
                       (c)2020-2023 by SBorg
                       v2.0.2 - 02.03.2023  ~Bugfix fehlender Vorjahresmonat (Fix Issue #58)
                       V2.0.1 - 22.02.2023  ~Bugfix Influx-Abfrage "Wind" (@Latzi)
                                            ~Bugfix fester Datenpunkt auf "javascript.0..." bei Trockenperiode
                       V2.0.0 - 15.02.2023  ~Umstellung auf Influx V2 
                                            +Fix "{ack=true}" bei Wüstentage, Tropennächte und Regentage in VorJahres-Anzeige
                                            ~Windboe nach Windboee umbenannt
                       V1.3.2 - 03.02.2023  ~Verbesserung des JSON-handlings "VorJahr" (@Boronsbruder)
                       V1.3.1 - 01.02.2023  ~Bugfix keine Daten für Vorjahresmonatswerte (Fix Issue #54) 
                       V1.3.0 - 09.09.2022  +Regentage (Issue #40)
                       V1.2.0 - 04.08.2022  +Wüstentage und Tropennächte
                       V1.1.3 - 01.08.2022  +Rekordwerte auch bei Einstellung "LAST_RAIN=DATUM [+UNIX]" in der wetterstation.conf
                       V1.1.2 - 19.06.2022  ~mögliche "Null"-Werte bei "Regenmenge Vortag" und "Windböe" gefixt (Fix Issue #35)
                       V1.1.1 - 02.05.2022  ~Rework JSON-Management
                       V1.1.0 - 02.04.2022  ~Bugfixing fehlender Vortag am 01. des Monats (Fix Issue #32)
                                            ~Korrektur Reset der Monatswerte
                       V1.0.1 - 18.12.2021  ~Bugfixing "error: TypeError: Cannot read property '0' of null"
                                            ~Wechsel zu axios
                       V1.0.0 - 02.10.2021  ~Bugfixing Werte VorJahresMonat
                                            +Kompatibilität mit JSC 3.3.x hergestellt (Änderung JSON -> Array)
                                            ~Rekordwerte werden nun korrekt am Tag des Ereignisses gespeichert
                       V0.2.2 - 01.02.2021  ~Bugfixing Regenmenge Jahr + Monat
                       V0.2.1 - 21.01.2021  ~Bugfixing Rekordwerte Spitzenhöchst-/-tiefstwert
                       V0.2.0 - 15.01.2021  ~Bugfixing Benennung DPs / Korrektur Regenmenge
                       V0.1.9 - 09.01.2021  +Regenmenge eines kpl. Monats im Jahr und Rekord
                       V0.1.8 - 08.01.2021  +max. Windböe für Gestern und Jahres-/Rekordwerte
                       V0.1.7 - 03.01.2021  ~Fix für fehlerhafte/fehlende Speicherung Jahreswerte + Trockenperiode
                       V0.1.6 - 30.12.2020  +Summe "Sommertage", "heiße Tage", "Frosttage", "Eistage" und "sehr kalte Tage" für das gesamte Jahr
                       V0.1.5 - 29.12.2020  +Summe "kalte Tage" und "warme Tage" für das gesamte Jahr
                       V0.1.4 - 26.12.2020  +max. Regenmenge pro Tag für Jahres-/Rekordwerte
                       V0.1.3 - 11.11.2020  +Rekordwerte
                       V0.1.2 - 14.10.2020  ~Fix "NaN" bei Regenmenge Monat
                       V0.1.1 - 12.10.2020  +AutoReset Jahresstatistik
                       V0.1.0 - 08.10.2020  +DP für Statusmeldungen / Reset Jahresstatistik / AutoDelete "Data"
                                            +ScriptVersion / Update vorhanden / UpdateCheck abschaltbar
                                            +Jahresstatistik Min-/Max-/Durchschnittstemperatur/Trockenperiode
                       V0.0.7 - 19.09.2020  +Min.-/Max.-/Durchschnittstemperatur vom Vortag
                       V0.0.6 - 18.09.2020  +Regenmenge Monat
                       V0.0.5 - 17.09.2020  +Gradtage Vorjahr
                       V0.0.4 - 16.09.2020  +Eistage (Max. unter 0°C) / sehr kalte Tage (Min. unter -10°C)
                                            ~Frosttage (Korrektur: Tiefstwert unter 0°C)
                       V0.0.3 - 15.09.2020  +Frosttage (Min. unter 0°C) / kalte Tage (Max. unter 10°C)
                       V0.0.2 - 12.09.2020  +warme Tage über 20°C / Sommertage über 25°C / heiße Tage über 30°C
                       V0.0.1 - 11.09.2020   erste Beta + Temp-Min/Temp-Max/Temp-Durchschnitt/max. Windböe/max. Regenmenge pro Tag
                    
                          ToDo: ---
                          known issues: keine
                    
                    */
                    
                    
                    
                    // *** User-Einstellungen **********************************************************************************************************************************
                        const WET_DP='javascript.0.Wetterstation';          // wo liegen die Datenpunkte mit den Daten der Wetterstation  [default: 0_userdata.0.Wetterstation]                          
                        const INFLUXDB_INSTANZ='0';                         // unter welcher Instanz läuft die InfluxDB [default: 0]
                        const INFLUXDB_BUCKET='iobroker';                     // Name des zu benutzenden Buckets
                        const PRE_DP='0_userdata.0.Statistik.Wetter';       // wo sollen die Statistikwerte abgelegt werden. Nur unter "0_userdata" oder "javascript" möglich!
                        let REKORDWERTE_AUSGABEFORMAT="[WERT] im [MONAT] [JAHR]";   /* Wie soll die Ausgabe der Rekordwerte formatiert werden (Template-Vorlage)?
                                                                                        [WERT]      = Messwert (zB. '22.42' bei Temperatur, '12' bei Tagen)
                                                                                        [TAG]       = Tag (0-31)
                                                                                        [MONAT]     = Monatsname (Januar, Februar,..., Dezember)
                                                                                        [MONAT_ZAHL]= Monat als Zahl (01-12)
                                                                                        [MONAT_KURZ]= Monatsname kurz (Jan, Feb,..., Dez)
                                                                                        [JAHR]      = Jahreszahl vierstellig (2020)
                                                                                     Die 'Units' wie bspw. "°C" oder "Tage" werden direkt aus dem Datenpunkt ergänzt. 
                                                                                     [default: [WERT] im [MONAT] [JAHR] ] erzeugt als Beispiel im DP die 
                                                                                     Ausgabe: "22.42 °C im Juni 2020"
                                                                                    */
                        const ZEITPLAN = "3 1 * * *";                       // wann soll die Statistik erstellt werden (Minuten Stunde * * *) [default 1:03 Uhr] 
                    // *** ENDE User-Einstellungen 
                    

                    Sollte doch eigentlich richtig sein?

                    Screenshot 2023-05-13 182652.jpg

                    SBorg 1 Reply Last reply Reply Quote 0
                    • G
                      G.Hawk last edited by

                      Hallo
                      Ich brauche mal kurz Hilfe.
                      Ich habe keine min und max Temperaturwerte des Tages.

                      Dafür brauche ich ja Influx.

                      Kann mir jemand sagen, was ich da config eintragen muss?

                      #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen
                        #Protokoll (HTTP oder HTTPS) / default: HTTP
                         INFLUX_WEB=HTTP
                        #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
                         INFLUX_API=192.168.10.13:8086
                        #Bucket, Token und Organisation der InfluxDB
                         INFLUX_BUCKET=
                         INFLUX_TOKEN=
                         INFLUX_ORG=
                      

                      Ich habe schon überall gesucht, aber finde nix.

                      Gruß

                      Neuschwansteini 1 Reply Last reply Reply Quote 0
                      • Neuschwansteini
                        Neuschwansteini @G.Hawk last edited by

                        @g-hawk

                        Bucket ist der Name der Datenbank, wie im Adapter eingetragen, den Token ebenso wie im Adapter eingetragen und Org deine Organization, wie in Influx eingetragen.
                        Wenn dein Influx Adapter funktioniert, dann solltest du all das haben.. ??
                        Wichtig, Influx V2 muss es sein.

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          G.Hawk @Neuschwansteini last edited by

                          @ilovegym
                          Ach so ich habe Influx 1.x
                          Muss ich dann 2.0 erstmal installieren und 1.x deinstallieren?
                          Ich habe bei Bucket jetzt iobroker eingegeben jetzt habe ich Werte in den Datenpunkten.

                          Sollte man denn auf 2.0 wechseln?
                          Ich habe neulich den IObroker neu aufgegesetzt und beim Rücksichern der Influx Daten gab es Probleme so dass ich nicht rücksichern konnte, da er dauernd gesagt hat, dass es die Datenbank schon gibt.

                          Neuschwansteini 1 Reply Last reply Reply Quote 0
                          • Neuschwansteini
                            Neuschwansteini @G.Hawk last edited by

                            @g-hawk Hi, siehe in der Anleitung von hier

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              G.Hawk @Neuschwansteini last edited by

                              Ok. Brauche ich denn zwingend 2.0? Ich habe ein 32 bit System. (Pi 4)
                              Seltsam ist nur, dass die Tagestemperaturwerte im Moment zwar angezeigt werden, nur bei min und max steht das gleiche, das sich auch mit steigender bzw sinkender Temperatur ändert.

                              Chris76e 1 Reply Last reply Reply Quote 0
                              • Chris76e
                                Chris76e @G.Hawk last edited by

                                @g-hawk

                                ist bei mir auch so, nutze influxdb2 und neuste scripte.

                                G 1 Reply Last reply Reply Quote 0
                                • G
                                  G.Hawk @Chris76e last edited by

                                  OK, dann liegt es wohl nicht an Influx.

                                  Gibt es da schon eine Lösung?
                                  Bei Influx zeigt er alle Änderungen nur bleibt der höchste bzw. niedrigste Wert nicht stehen.

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    Gelbwichtel last edited by

                                    @g-hawk Ich komme zu den gleichen Schlussfolgerungen. Die Datenpunkte sind korrekt angelegt, und in der InfluxDB können diese korrekt abgefragt werden. InfluxDB ist V2 Script das aktuellste.
                                    Das Problem dürfte in wetterstation.sub in der Funktion minmaxheute() liegen.
                                    Wird anstelle von FLUXSTART=$(date +%Y-%m-%d --date="-1 day")"T${ZULU}:00:00Z"
                                    mit FLUXSTART="-1d" gearbeitet werden die Werte sauber abgestellt. Was jetzt genau an der Berechnung oder am Parameter für influx falsch ist, muss ich noch genauer untersuchen.

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      Gelbwichtel @Gelbwichtel last edited by Gelbwichtel

                                      @gelbwichtel
                                      muss mich revidieren. Schlussfolgerung und Test war nicht korrekt. Hatte vor Aufruf meines Test auf minmaxheute das setup nicht durchlaufen. Werte werden gesetzt, wenn das Skript "richtig" gestartet wird. Ich muss mir mal meine cronjobs genauer ansehen.

                                      G 1 Reply Last reply Reply Quote 0
                                      • G
                                        G.Hawk @Gelbwichtel last edited by

                                        @gelbwichtel
                                        Ich kann nicht ganz folgen. Soll ich irgendwas ändern oder was testen?
                                        Oder muss ich Influx 2.0 installieren und damit verbunden ein 64 bit System installieren?

                                        SBorg 1 Reply Last reply Reply Quote 0
                                        • SBorg
                                          SBorg Forum Testing Most Active @Chris76e last edited by SBorg

                                          @chris76e Du verwechselst da zwei Sachen. Statistik-JS-Skript macht alles was mit Statistik zu tun hat. WLAN-Shell-Skript alles mit dem Thema Wetterstation.
                                          Die 24h / Heute Min-Max-Werte liegen alle unter ...Wetterstation..., kommen also rein vom WLAN-Skript. Das macht an der Stelle nichts weiter als eine InfluxDB-Abfrage.

                                          Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert: systemctl restart wetterstation

                                          G Chris76e 3 Replies Last reply Reply Quote 0
                                          • G
                                            G.Hawk @SBorg last edited by

                                            @sborg
                                            Hallo
                                            Habe ich getestet. Es stehen in min und max immer die gleichen Werte etwas zeitversetzt zu der aktuellen Außentemperatur.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            934
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            143
                                            5478
                                            3304212
                                            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