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

                                        @sborg
                                        Alles neu gemacht. 64bit. Läuft einwandfrei. 👍🏻

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

                                          @chris76e

                                          Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden.
                                          

                                          Du hast auf jedenfall einen Fehler in der Config.
                                          Ob der ursächlich für die anderen ist, kann ich aber nicht sagen

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

                                            Jupp 😉

                                            @chris76e Schau mal in deiner "conf" bei Zeile #67, da hast du wohl aus versehen die Raute gelöscht

                                             # Datum = .....
                                            

                                            Dann sicherheitshalber Skript stoppen systemctl stop wetterstation, kurz warten und wieder starten systemctl start wetterstation.

                                            Daraus könnten die vier weiteren Fehler resultieren, zumindest kommen die genau zu jeder vollen Viertelstunde und genau da wird "Minmax24h" und "...heute" berechnet. Sind die nun weg, dürfte auch alles funktionieren 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            699
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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