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.
    • Boronsbruder
      Boronsbruder @west last edited by Boronsbruder

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

      Froggit WH6000Pro

      Auszug aus der Bedienungsanleitung:
      c4a7af54-aab1-4d24-8e4a-e8678f463f74-grafik.png

      Hier mal http://ADRESSE_DES_IOBROKER:PORT/ testen?
      ID und Stationkey würde ich ertmal leer lassen...

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

        **** Lösung gefunden - Antwort steht ganz unten ****

        Kurze Frage - ein wenig off-topic(?), hat aber mit der WLAN-Wetterstation zu tun...
        Ich habe vorhin mal angefangen, das Grafana Dashboard auszuprobieren, und nun gibt es natürlich wieder mal erste Probleme mit der Tatsache, dass alles auf einer Synology in Docker läuft. Bei mir wird nämlich das Windrose-Plugin wohl nicht richtig erkannt:

        Screenshot 2023-07-16 at 20.47.00.png

        Grundsätzlich scheint es allerdings installiert zu sein, und zwar via die "environment variables" in Docker:
        Screenshot 2023-07-16 at 20.49.52.jpeg

        In der File Station der Synology sieht man auch, dass der entsprechende Ordner angelegt wird:
        Screenshot 2023-07-16 at 20.53.13.png

        Könnte es vielleicht damit zu tun haben, dass ich ja eigentlich auch noch /etc/grafana/grafana.ini anpassen müsste, um unsigned plugins zuzulassen?

        Ich habe noch keine Möglichkeit gefunden, dies im Grafana Container zu tun - es gibt weder nano noch pico, um grafana.ini von der Shell aus zu bearbeiten. Außerdem wäre das ja glaube ich auch gar keine gute Idee, weil es bei einem Container-Update ja dann wohl überschrieben würde?

        Update: Habe nun entdeckt, dass in der Shell vi läuft. Allerdings ist grafana.ini "read only"...

        Falls jemand einen Tipp hat, freue ich mich über Rückmeldung!

        Update2: Wahnsinn - ich habe es für einmal sogar selbst geschafft! 😁
        Es klappt mit einer zusätzlichen environment variable:

        GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=spectraphilic-windrose-panel
        

        Vielleicht hilft das ja jemandem mal in Zukunft...

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

          Sorry - ich stehe hier anscheinend gerade wieder mal auf der Leitung...
          Ich bin schon relativ weit mit dem Grafana Dashboard:

          Screenshot 2023-07-17 at 16.02.33.png

          Allerdings ist die Darstellung nicht ganz so wie gewünscht - das Boom Theme scheint nicht aktiviert/konfiguriert zu sein. Es ist aber definitiv installiert. Im 3326ten Post hier im Thread (5 Jan 2022 at 16:41) ist von einem Boom-Theme-Settings-Panel die Rede:

          1641397108654-bild-2.png

          Mein Problem ist: ich finde es einfach nicht. Bevor ich hier schon wieder stundenlang suche, kann mir jemand ggf. einen Tipp geben? Danke!

          (Wie oben schon erwähnt: Grafana/ioBroker/InfluxDB läuft bei mir (leider) in Docker-Containern auf einer Synology.)

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

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

            Mein Problem ist: ich finde es einfach nicht. Bevor ich hier schon wieder stundenlang suche, kann mir jemand ggf. einen Tipp geben? Danke!

            müsste mWn hier sein

            f19acf65-2646-48e5-bceb-c9e008bdcba1-image.png

            S 1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            799
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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