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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [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

      @Nashra
      Du hast wahrscheinlich keine Daten im Bucket. Wenn es relativ Windstill ist oder sich die Richtung im 10 Minutenraster nicht ändert, steht kaum was in der DB.
      Entweder musst du beim loggen bspw. jede Stunde mal das schreiben eines Wertes erzwingen, oder die aktuellen Werte nutzen (also nicht den 10 Minuten Durchschnitt):

      from(bucket: "${DatenBucket}")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Windrichtung" or r._measurement == "0_userdata.0.Wetterstation.Wind")
        |> filter(fn: (r) => r._field == "value")
        |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value")
        |> filter(fn: (r) => exists r["0_userdata.0.Wetterstation.Windrichtung"] and exists r["0_userdata.0.Wetterstation.Wind"])
        |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung": "wind_direction", "0_userdata.0.Wetterstation.Wind": "wind_speed"})
        |> map(fn: (r) => ({ r with  direction: r.wind_direction}))
        |> map(fn: (r) => ({ r with  speed: r.wind_speed}))
        |> aggregateWindow(every: 2m0s, fn: first, column: "direction", createEmpty: false)
      
      Chris76e Nashra 2 Replies Last reply Reply Quote 0
      • Chris76e
        Chris76e @SBorg last edited by

        @sborg

        Hatte das gleiche Problem wie @Nashra

        Ohne die _10min klappte es.

        Screenshot 2023-11-27 224631.png

        Danke und danke natürlich auch an

        @tritor

        Wie hast du diese Ansicht gemacht?

        Screenshot 2023-11-27 224436.png

        T SBorg 2 Replies Last reply Reply Quote 1
        • T
          tritor @Chris76e last edited by tritor

          @chris76e

          Also erst mal Visualisierung Bar Gauge und dann 4 Queries:

          Jahr

          from(bucket: "ioBroker")
            |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
            |> filter(fn: (r) =>
              r._measurement == "0_userdata.0.Wetterstation.Regen_Jahr" and
              r._field == "value"
            )
          

          Monat

          from(bucket: "ioBroker")
            |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
            |> filter(fn: (r) =>
              r._measurement == "0_userdata.0.Wetterstation.Regen_Monat" and
              r._field == "value"
            )
          

          Woche

          from(bucket: "ioBroker")
            |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
            |> filter(fn: (r) =>
              r._measurement == "0_userdata.0.Wetterstation.Regen_Woche" and
              r._field == "value"
            )
          

          Tag

          from(bucket: "ioBroker")
            |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
            |> filter(fn: (r) =>
              r._measurement == "0_userdata.0.Wetterstation.Regen_Tag" and
              r._field == "value"
            )
          

          Und dann die settings & Overrides:
          Regen01.png

          Regen02.png
          Regen03.png
          Regen04.png

          Die Max Werte mußt du halt so wählen damit es dann auch passt, z.B. beim Jahr hab ich 900 als max Wert genommen, das kann natürlich abhängig von deiner Region, wie oft und wieviel es da regnet, auch zu hoch sein. Ich habe noch kein ganzes Jahr gelogged, deshalb hab ich es mal auf 900 gesetzt.

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

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

            @nashra

            na dann stellen sich folgende Fragen:

            1. deine Datensource (Bucket) heisst: iobroker (hast du zumindest geändert)
            2. deine WetterstionsDPs sind alle unter 0_userdata.0 oder sind die unter javascript.0.Wetterstation....
            3. die Datenpunkte sind bei dir genauso vorhanden

            Sonst kann ich es mir nicht erklären, wo es sonst noch haken könnte.

            Ja, alles unter 0_userdata.0, DP vorhanden und auch befüllt. Aber ohne die ....__10min funktioniert es.

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

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

              @Nashra
              Du hast wahrscheinlich keine Daten im Bucket. Wenn es relativ Windstill ist oder sich die Richtung im 10 Minutenraster nicht ändert, steht kaum was in der DB.
              Entweder musst du beim loggen bspw. jede Stunde mal das schreiben eines Wertes erzwingen, oder die aktuellen Werte nutzen (also nicht den 10 Minuten Durchschnitt):

              from(bucket: "${DatenBucket}")
                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Windrichtung" or r._measurement == "0_userdata.0.Wetterstation.Wind")
                |> filter(fn: (r) => r._field == "value")
                |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value")
                |> filter(fn: (r) => exists r["0_userdata.0.Wetterstation.Windrichtung"] and exists r["0_userdata.0.Wetterstation.Wind"])
                |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung": "wind_direction", "0_userdata.0.Wetterstation.Wind": "wind_speed"})
                |> map(fn: (r) => ({ r with  direction: r.wind_direction}))
                |> map(fn: (r) => ({ r with  speed: r.wind_speed}))
                |> aggregateWindow(every: 2m0s, fn: first, column: "direction", createEmpty: false)
              

              Moin, die ..._10min rausgenommen und läuft. Obwohl Daten ohne Ende in den Datenpunkten.
              Schau mir das am Wochenende mal genau an, da habe ich mehr Zeit.

              windrose1.png

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

                @nashra Kommt halt auf beide DPs an. Bei mir sah bspw. gestern die 10 Min Windrichtung so aus (also bis kurz vor Mitternacht ein einziger Wert; ich erzwinge hier kein zusätzliches schreiben):
                Bild 001.png

                Man muss für die Anzeige nicht unbedingt den 10 Minutenwert nehmen, sondern erhöht einfach bei der Abfrage #10 das aggregieren auf 10 Minuten, hat den gleichen Effekt, umgeht aber das Problem zu wenig Werte zu haben.

                aggregateWindow(every: 10m0s, fn: first, column: "direction", createEmpty: true)
                
                1 Reply Last reply Reply Quote 0
                • SBorg
                  SBorg Forum Testing Most Active @Chris76e last edited by SBorg

                  @chris76e
                  Du musst im Plugin noch auf "km/h" umstellen, denn der gelieferte Wert ist nicht "m/s" 😉

                  btw: das "unschöne" Datenpunktwirrwarr bei der Temperatur kannst du umgehen:
                  1701167180364.png
                  Zeile #5 einfügen (value natürlich anpassen 😉 ) : |> set(key: "_field", value: "Aussen")
                  Dann in den Optionen eintragen: ${__field.name} (sind wirklich zwei Unterstriche)
                  Dann noch bei den "Overrides" eintragen: ${__field.name} und die neue Datenquelle auswählen.
                  Bild 003.png
                  Sollte die noch nicht in der Liste auftauchen, Panel speichern, schließen und Panel erneut zum editieren öffnen, dann sollte es nun auch in der Liste auftauchen.

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

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

                    Regen_Woche

                    Danke, hat funktioniert

                    Screenshot 2023-11-29 193119.png

                    @SBorg

                    Danke für die Hinweise, ist geändert

                    Screenshot 2023-11-29 193154.png

                    T 1 Reply Last reply Reply Quote 1
                    • R
                      Rushmed Most Active last edited by

                      Bekommt man das neue Windrose Panel auch mit InfluxQL zum Laufen? Bei mir wird nichts angezeigt.
                      Hier steht:
                      477359f4-3791-4ccb-8721-5d59d9b56a07-grafik.png
                      Habe meine beiden Datenreihen wind_speed und wind_direction genannt.

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

                        @chris76e

                        hier wie mein komplettes Grafana Dashboard aussieht:
                        WetterstationDashboard.png

                        1 Reply Last reply Reply Quote 0
                        • M
                          MartyBr last edited by

                          @tritor Hallo Gernot,
                          ich fange gerade an mich mit Grafana zu beschäftigen. Könntest du die Datei für dein Dashboard hier posten?

                          Vielen Dank

                          Martin

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            tritor @MartyBr last edited by tritor

                            @martybr

                            here we go, ist das Grafana Dashboard (nicht ioBroker Vis!!)

                            WS1701387390430.json

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

                              @tritor

                              Das ist der inhalt von deinem json

                              {
                                "error": {
                                  "message": "Datasource 000000001 was not found"
                                }
                              }
                              

                              da fehlt wohl was 😉

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

                                @chris76e
                                udpate im obigen post

                                Chris76e M 2 Replies Last reply Reply Quote 2
                                • Chris76e
                                  Chris76e @tritor last edited by

                                  @tritor

                                  Danke

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    MartyBr @tritor last edited by

                                    @tritor
                                    Danke.

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

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

                                      Bekommt man das neue Windrose Panel auch mit InfluxQL zum Laufen?

                                      Ich würde sagen ja, denn die Datenbank (und Abfragesprache) ist irrelevant. Im Beispiel nutzen sie auch SQL.
                                      Hast du beim Query mal geschaut ob da dann auch wirklich Daten kommen und die Überschrift wie gefordert "wind_..." heißt? Nicht das der Datenpunkt dann tatsächlich xyz.0.Wetterstation.wind_xxx lautet.

                                      R 1 Reply Last reply Reply Quote 0
                                      • R
                                        Rushmed Most Active @SBorg last edited by

                                        @sborg Ich weiß nicht wos klemmt. Vll. kannste mal nen Blick auf meine Einstellungen werfen?
                                        32dcacd2-27bd-478b-be22-7a8561028d7f-grafik.png
                                        a49eecc7-3ac5-44c9-bc27-7b631d9c30ed-grafik.png
                                        40025868-951a-4cee-9db1-868bc57e63bb-grafik.png

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

                                          @rushmed Ich sehe da auch nichts verdächtiges und sieht soweit gut aus.

                                          Ich weiß nicht wie Grafana den Alias handelt. Beim Query zeigt er zwar korrekt den Alias an, aber wie handelt er das intern?
                                          Beim Plugin sprechen sie von einer Variablen. Nicht das er zwar den Alias anzeigt, aber ihn dann gar nicht benutzt und es intern weiter 0_userdata/javascript.x.Wetterstation.wind... lautet.

                                          Hast du auf dem ioB-Rechner temporär noch Ressourcen frei?
                                          Dann lege doch mal spaßeshalber noch eine neue InfluxDB-Instanz an und logge dort die Windgeschwindigkeit und -richtung, nutze aber beim loggen die Alias-Funktion der Influx-Instanz als wind_... und nimm dann die beiden mal als Datenquelle für das Windrose-Plugin.
                                          Bild 001.png

                                          R 1 Reply Last reply Reply Quote 0
                                          • R
                                            Rushmed Most Active @SBorg last edited by

                                            @sborg Danke für die Antwort. Ich habs mit zwei entsprechend benannten Alias Datenpunkten probiert. Hat leider nicht geklappt. Ist aber nich so wichtig, Das alte Windrose Panel funzt ja noch.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            879
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2874148
                                            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