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 @Chris76e last edited by

      @chris76e Deine Datenpunkte scheinen schon älter zu sein. Beim aktuellen Skript werden die Datenpunkte korrekt angelegt, bei dir sind sie noch "falsch". Die Ordner müssen vom Typ "folder" sein, nicht "state":
      Bild 002.png

      Falls es sich nicht umstellen lässt musst du es direkt in den RAW-Daten auf folder ändern:
      Bild 003.png

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

        @sborg

        hab den jetzt so geändert. reicht das?

        {
          "common": {
            "name": "Werte von Gestern",
            "type": "folder",
            "role": "state"
          },
          "native": {
            "name": "Werte von Gestern",
            "type": "folder",
            "role": "state"
          },
          "type": "folder",
          "_id": "0_userdata.0.Statistik.Wetter.VorTag",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1683283802125
        }
        

        und kann ich den DP umbennen oder lieber neu anlegen mit dem richtigen Namen?

        {
          "common": {
            "name": "stärkste Windböe vom Vortag",
            "type": "number",
            "role": "state",
            "unit": "km/h"
          },
          "native": {
            "name": "stärkste Windböe vom Vortag",
            "type": "number",
            "role": "state",
            "unit": "km/h"
          },
          "type": "state",
          "from": "system.adapter.javascript.0",
          "user": "system.user.admin",
          "ts": 1651661223535,
          "_id": "0_userdata.0.Statistik.Wetter.VorTag.Windboe_max",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          }
        }
        
        SBorg 1 Reply Last reply Reply Quote 0
        • SBorg
          SBorg Forum Testing Most Active @Chris76e last edited by

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

          und kann ich den DP umbennen

          Ist einfacher ("e" anhängen genügt), sind so 5-7 Stück aus dem Gedächtnis heraus. Das Statistik-Skript legt selektiv keine Datenpunkte an, nur neu dazugekommene oder eben alle. Wenn du die also raus löschst werden sie nicht neu angelegt (außer man ändert die Funktion im Skript).

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

            Hallo @SBorg
            hatte mir die Wetterstation-Dashboard_V3.json von github mal installiert und finde
            einige Einstellungen bzw. Datenpunkte wie "javascript.0.Statistik.Temperatur.Außen.Min_24h"
            nicht für Temperatur min/max. Ist das ein eigenes Skript von dir?

            SBorg 1 Reply Last reply Reply Quote 0
            • 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ß

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @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 @Guest 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.

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @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 @Guest 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            675
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            147
                                            5564
                                            3344826
                                            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