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.
    • S
      sebhoff @Negalein last edited by

      @negalein Vielen Dank! Da ist es in der Tat...
      Nun muss ich nur noch herausfinden, was ich wie konfigurieren muss. 😬

      1 Reply Last reply Reply Quote 0
      • S
        sebhoff last edited by sebhoff

        OK - irgendwas ist komisch hier...
        Bei der Einrichtung der Wetterstation und des Grafana Dashboards hatte ich "Wetter" und "Wetterstation" irgendwann mal verwechselt. Das Resultat war, dass es jeweils einen Bucket mit diesem Namen gab, obwohl ich bloß "Wetter" bräuchte. Ich habe auch mal einen Wert in "Wetterstation" geschrieben, bevor ich das gemerkt hatte. Inzwischen werden die Sachen aber richtig abgespeichert:

        Screenshot 2023-07-17 at 19.35.19.png

        Dies lässt sich zum Beispiel für die Außentemperatur im Data Explorer von InfluxDB gut überprüfen:

        Screenshot 2023-07-17 at 19.38.20.png

        Interessanterweise schaffe ich es nicht, diesen Bucket in InfluxDB zu löschen...

        Wenn ich nun zum Grafana Dashboard gehe, wird die Außentemperatur nicht richtig angezeigt:

        Screenshot 2023-07-17 at 19.39.32.png

        Der entsprechende Query für die Außentemperatur sieht ja so aus:

        from(bucket: "${longtermBucket}")
          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
          |> filter(fn: (r) => r._measurement == "${Data_Prefix}.${Data_Instanz}.${Data_Ordnername}.Aussentemperatur" and r._field == "value")
          |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
          |> set(key: "_field", value: "Aussen")
          |> yield(name: "Aussen")
        

        Wenn ich aber den Query Inspector aufrufe, zeigt sich, dass aus mir nicht erklärbarem Grund der Bucket "Wetterdaten" abgefragt wird:

        from(bucket: "Wetterdaten")
          |> range(start: 2023-07-16T17:41:46.143Z, stop: 2023-07-17T17:41:46.143Z)
          |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur" and r._field == "value")
          |> aggregateWindow(every: 1m0s, fn: last, createEmpty: false)
          |> set(key: "_field", value: "Aussen")
          |> yield(name: "Aussen")
        

        Ich gehe dann also (zum x-ten Mal) zu den Dashboard settings, und dort zu den Variablen. Das sieht so aus:

        Screenshot 2023-07-17 at 19.43.35.png

        Der longtermBucket ist "Wetter" - und nicht "Wetterdaten". Dann gehe ich in die Konfiguration der Variable longtermBucket und ändere nichts - bis auf eine minimale Änderung in der Beschreibung (z. B. ein zusätzliches Leerzeichen), damit ich auf "apply" drücken und das Dashboard neu speichern kann.

        Screenshot 2023-07-17 at 19.46.27.png

        Anschließend sieht natürlich alles genauso wie vorher aus - ich habe ja effektiv auch nichts geändert.

        Manchmal - aber eben auch nicht immer - ist das Ergebnis dann wie gewünscht und die Außentemperaturkurve wird richtig angezeigt:

        Screenshot 2023-07-17 at 19.51.31.png

        Wenn ich dann aber einen Reload der Seite mache, dann ist das Problem wieder da:

        Screenshot 2023-07-17 at 19.53.16.png

        Wo wird dieser Verweis auf "Wetterdaten" gespeichert, so dass er immer wieder als Basis für die Queries benutzt wird???

        Negalein 1 Reply Last reply Reply Quote 0
        • Negalein
          Negalein Global Moderator @sebhoff last edited by

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

          Wo wird dieser Verweis auf "Wetterdaten" gespeichert, so dass er immer wieder als Basis für die Queries benutzt wird???

          hatte ich auch am Anfang.
          einfachste Lösung (da du mit dem DB noch frisch bist), lösch es und leg das Dashboard neu an.

          Ich bin von den Variablen aber ganz weg gegangen und hab mir alles mit dem DataExplorer zusammengebaut.

          S 1 Reply Last reply Reply Quote 0
          • S
            sebhoff @Negalein last edited by sebhoff

            @negalein Mhm - danke! Hat aber leider (erst mal) nichts gebracht. Ich habe die Sache gelöscht, aber beim Neu-Import waren alle Variablen schon gesetzt. Und natürlich wieder mit "Wetterdaten". Oder habe ich etwas falsch verstanden?
            Dafür habe ich es jetzt endlich geschafft, den Bucket "Wetterdaten" zu löschen. Das führt dann hierzu:

            Screenshot 2023-07-17 at 21.38.41.png

            UPDATE: Ich hab's gefunden. In den Zeilen 7007 und 7008 stand "Wetterdaten".. <seufz>

            Negalein 1 Reply Last reply Reply Quote 0
            • Negalein
              Negalein Global Moderator @sebhoff last edited by

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

              Oder habe ich etwas falsch verstanden?

              funktionierte bei mir.
              War nur nicht lange mit den Variablen unterwegs, da ich sehr bald wieder auf das Kopieren aus dem DataExplorer umgestiegen bin.
              Ist eigentlich auch schnell erledigt.

              1 Reply Last reply Reply Quote 0
              • Rene55
                Rene55 last edited by

                Da hab ich mich doch selbst ins Abseits gestellt 🤥 . Ich hab jetzt ein paar Tage (ok, schon seit März) nichts mehr am Wetterscript gemacht. Ich wollte ja auch auf InfluxDB2!
                Aktuell habe ich das Script V3.2.0 laufen und bin jetzt dabei Influx anzubinden. Hier habe ich eine neue Instanz aufgesetzt mit einem Bucket 'weather'. Das Script läuft jetzt seit >3h, aktuell wurden noch keine Daten hierein geschrieben. Auch der Test mit '--influx_test' hat nichts geschrieben. Die Zugangsdaten habe ich in der wetterstation.conf drin. Hab ich das falsche Bucket? In dem Grafana-Script habe ich auch gesehen, dass es hier 'Wetterdaten' und 'TempData' gibt.
                Kann mir jemand von den Wetterhelden kurz auf die Sprünge helfen?

                SBorg 1 Reply Last reply Reply Quote 0
                • S
                  sebhoff last edited by

                  Zwei kurze Fragen zum Statistik-Skript:

                  • Habe ich es richtig verstanden, dass die Werte nach Start des Skripts nicht direkt berechnet werden, sondern zum ersten Mal um 1:03 Uhr (wenn die Einstellungen beim Default belassen werden)?
                  • Ist das Skript eigentlich bereit für den 29. Februar 2024? Ich sehe zwar "let monatstage = [31,28,31,30,31,30,31,31,30,31,30,31];", aber habe auf Anhieb nichts im Skript gefunden, was den Februar-Wert in einem Schaltjahr um einen Tag erhöht...
                  SBorg 1 Reply Last reply Reply Quote 0
                  • SBorg
                    SBorg Forum Testing Most Active @Rene55 last edited by

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

                    Auch der Test mit '--influx_test' hat nichts geschrieben. Die Zugangsdaten habe ich in der wetterstation.conf drin. Hab ich das falsche Bucket?

                    Hi, der Test schreibt auch nichts (ich schreibe zu keinem Zeitpunkt direkt in die InfluxDB), der baut nur eine Verbindung auf und will dann was lesen 😉
                    Zeigt denn der Influx-Explorer überhaupt Daten bei deinem Bucket bei bspw. "Aussentemperatur"?
                    Bild 001.png

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

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

                      Habe ich es richtig verstanden, dass die Werte nach Start des Skripts nicht direkt berechnet werden, sondern zum ersten Mal um 1:03 Uhr (wenn die Einstellungen beim Default belassen werden)?

                      Jepp, ist ja eine Statistik und die kann nur richtig sein wenn alle Werte vorliegen. Ich kann ja (aktuell 14:07 Uhr) nicht jetzt schon sagen "die Höchsttemperatur lag heute bei 33.11°C". Das geht erst heute Nacht um 0:00 Uhr wenn der Tag durch ist.
                      Wenn du "jetzt" die bisherige Tageshöchsttemperatur möchtest kannst du das aber per Influx abfragen.
                      Die 1:03 Uhr ist extra ein krummer Wert, da möglichst nicht viel zu dem Zeitpunkt laufen sollte. Hat sich zwar seit Influx V2 gebessert, aber auf einem älteren Pi kann das schon mal paar Sekunden "haken".
                      ...und 01:xx Uhr war/ist, um sicherzustellen, dass auch alle Werte vom RAM nun in die Influx geschrieben wurden.

                      ...und keine Ahnung mehr wie ich mir das mit dem 29.02. gedacht hatte (oder ich überhaupt was gedacht habe/hatte 😉 ). Das entstand mehr aus einem Userwunsch heraus und ich nutze es selbst nicht, deswegen dümpelt das etwas Stiefmütterlich herum. So aus dem Bauch heraus würde ich aber meinen, dass der Tag einfach nicht in die Statistik einfließt.

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

                        @sborg OK - danke!
                        Dann schaue ich mal, ob morgen früh was in ioBroker erscheint, was da bis jetzt noch nicht steht... 🤞

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

                          @sborg Danke für die Antwort. Es ist einfach schon zu lange her (Benutze dein Script ja schon seit der Version 1.3.1). Ich habe ja alles auf einem neuen Rechner (proxmox, Wetterstation, Influx, Grafana) installiert. Ich musste die neue Influx ja noch dem ioBroker bekannt geben und die jeweiligen Datenpunkte der Instanz zuordnen - das hatte ich total ausgeblendet 😎 ! Und schon kommen die die Werte in der Influx an.
                          Jetzt habe ich noch den Blackout mit dem Dashboard und den beiden 'Wetterdaten' und 'TempData'. Sind das zwei Buckets oder nur optional?

                          SBorg 1 Reply Last reply Reply Quote 0
                          • S
                            sebhoff last edited by

                            Kurze Frage - habe ich das richtig verstanden?
                            Ich habe eine Sainlogic WS3500 mit entsprechender Basisstation, die nun den Input für das WLAN_Wetterstation Skript liefert. Das Skript könnte theoretisch zusätzliche Sensoren verarbeiten - und das ginge zum Beispiel mit einem Ecowitt Gateway (GW1100). Allerdings kann ich nicht beides gleichzeitig betreiben, oder? Also die bereits eingebundene Basisstation durch ein GW1100 ergänzen...?

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

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

                              Jetzt habe ich noch den Blackout mit dem Dashboard und den beiden 'Wetterdaten' und 'TempData'. Sind das zwei Buckets oder nur optional?

                              Eigentlich zwei. Das Ganze spiegelt meine Installation wieder (von wegen "och, kannst du mal deins posten" 😉 ).
                              Bei mir ist es so, dass alles in einem Bucket mit einer Retention von xx Tagen landet (= damit wird automatisch immer alles älter als xx+1 Tag gelöscht).
                              Will ich nun etwas länger haben, läuft dafür ein Influx-Task der dann zB. die Daten aggregiert (min, max, avg oder was auch immer) bzw. die Daten in ein zweites Bucket schiebt mit einer Retention von "never".
                              Daher rühren die beiden Buckets. Du kannst sie entweder kpl. mit einem ersetzen oder alle Bucket-Variablen mittels eines festen Names (beides in der Dashboard.json). Ich wollte nur diesmal mittels der Variablen flexibel bleiben. Ändert sich was (Bucketname, Instanz...), muss ich es nur einmalig bei den Variablen ändern.

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

                                @sborg Danke auch hierfür. Ich versuche mal das mit den Variablen zu verstehen. Ich bin weit entfernt davon eigene Influx-Tasks zu basteln. Ich geb mich mal ans Dashboard. Das V1 hab ich ja auch irgendwie hinbekommen - ist nur schon so lange her 🤥 .

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

                                  @sebhoff Gute Frage, nächste Frage... 😂

                                  Ich kann leider nur theoretisch antworten, weil "wissen tue ich das nicht".
                                  Basisstation "ergänzen" wird nicht funktionieren, da du die Außenstation ("Wettermast") nur mit einer Basisstation ("Display") koppeln kannst.

                                  Was aber in der Theorie funktionieren müsste wäre eine zweite, eigenständige Installation.
                                  Also erst mal alles lassen wie es ist, nun ein Gateway und den/die Zusatz-Sensor/en als neue Wetterstation installieren.
                                  Auf deinem Linuxrechner nun eine neue Shell-Skript Version einrichten (neues Verzeichnis, Service zB. "WetterGateway" nennen). Der 2. Service schickt dann seine Daten ganz normal wieder an den ioB, du musst für das Gateway nur einen anderen Port nutzen als aktuell mit dem Shell-Skript.

                                  ...oder auf das Display verzichten und alles über das Gateway laufen lassen. Notfalls, falls unbedingt ein Display sein muss, dann mit einem Pi und LCD-Display per VIS ein eigenes Display realisieren.

                                  S Boronsbruder 2 Replies Last reply Reply Quote 0
                                  • SBorg
                                    SBorg Forum Testing Most Active @Rene55 last edited by SBorg

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

                                    Ich versuche mal das mit den Variablen

                                    Ist eigentlich easy going. Du definierst in Grafana einfach nur die Variable blabla und weist ihr einen Wert zu "ich bin ein Berliner"
                                    Bei allen Abfragen wird dann

                                    ${blabla} 
                                    
                                     durch
                                    "ich bin ein Berliner"
                                     ersetzt
                                    

                                    Mehr wird da bei den Buckets nicht gemacht, nur das ich eben noch die Instanz und den Objekt-Pfad drin habe

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

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

                                      Was aber in der Theorie funktionieren müsste wäre eine zweite, eigenständige Installation.

                                      Ja, das macht Sinn - danke für den Vorschlag! Ich werde mal in mich gehen und wenn ich wirklich noch zusätzliche Sensoren brauche und das umsetze, berichte ich dann hier.

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

                                        Mini-Update der Beta-Version V3.2.0 des Wetterstation WLAN-Skriptes auf GitHub V3.2.0-3

                                        (Beta-Releases lassen sich nicht! über den ws_updater.sh installieren, nur die *.conf lässt sich mit dem ws_updater.beta ggf. patchen [s.u.])

                                        • WOW-Update:
                                          • + Windrichtung
                                          • + Luftdruck
                                          • + Wingeschwindigkeit

                                        Wie immer zu finden im GitHub


                                        Update-Routine:

                                        • wetterstation.sub ersetzen bzw. kopieren
                                        • nun mittels [sudo] systemctl restart wetterstation den Service neu starten

                                        Egal was ich allerdings einstelle, ich bekomme die Anzeige immer in Knoten....?

                                        Bild 001.png

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

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

                                          Egal was ich allerdings einstelle, ich bekomme die Anzeige immer in Knoten....?

                                          Knoten öffnen.... duck und weg 😁

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

                                            @nashra Ist wohl eher ein "gordischer" 😇

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            745
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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