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.
    • 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
                                      • SBorg
                                        SBorg Forum Testing Most Active @G.Hawk last edited by

                                        @g-hawk Solange du ein 32Bit System nutzt kannst du auch nur Influx 1.8 nutzen. Erst mittels 64Bit lässt sich ein InfluxDB 2.7 nutzen. Wenn du so erst mal weiter machen willst, kannst du die letzte V2.x.x (unter releases zu finden) nutzen.
                                        Von der Funktion ist die mit der aktuellen V3.0.0 noch identisch. Über kurz oder lang (eher kurz) wirst du aber um 64Bit nicht herumkommen, da schon einiges unter 32 Bit nicht mehr supported wird.

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

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

                                        So wie ich das sehe hast du doch aktuell keine korrekte Influx-Installation? Wenn du noch eine 1er hast kann die mit der aktuellen V3 des WLAN-Skriptes nicht funktionieren, da die mittels Flux die Influx abfragt was die 1.8 nicht kann. Da kommt irgendwas an Daten, nur nichts vernünftiges 😉

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

                                          @sborg
                                          Ok. Dann werde ich morgen den Tag mal nutzen und ein 64 Bit System installieren.
                                          Danke für die Info.

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

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

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

                                            Habe ich gemacht, änderts sich aber nichts. Unter javascript.0.Wetterstation.Info.Temp_Aussen_Heute_min und max kommen immer dieselben werte rein, und bei javascript.0.Wetterstation.Info.Temp_Aussen_24h_min und max keine Werte. Habe das Display von der Wetterstation auch einmal neugestartet.....

                                            
                                            chris@ioBroker:~$ systemctl status wetterstation
                                            ● wetterstation.service - Service für ioBroker Wetterstation
                                                 Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                                 Active: active (running) since Tue 2023-05-16 19:12:51 CEST; 21min ago
                                               Main PID: 967052 (wetterstation.s)
                                                  Tasks: 5 (limit: 21048)
                                                 Memory: 2.7M
                                                    CPU: 38.877s
                                                 CGroup: /system.slice/wetterstation.service
                                                         ├─967052 /bin/bash /home/chris/wetterstation.sh
                                                         ├─983892 /bin/bash /home/chris/wetterstation.sh
                                                         ├─983893 timeout 38 nc -nlvw 1 -p 1080
                                                         ├─983894 tail -1
                                                         └─983895 nc -nlvw 1 -p 1080
                                            
                                            Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden.
                                            Mai 16 19:12:51 ioBroker wetterstation.sh[967069]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded!
                                            Mai 16 19:15:28 ioBroker wetterstation.sh[969312]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                            Mai 16 19:15:29 ioBroker wetterstation.sh[969315]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                            Mai 16 19:30:09 ioBroker wetterstation.sh[980843]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                            Mai 16 19:30:09 ioBroker wetterstation.sh[980846]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                            chris@ioBroker:~$
                                            
                                            
                                            Boronsbruder SBorg 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            911
                                            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