Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Linux Shell-Skript] WLAN-Wetterstation

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    893

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[Linux Shell-Skript] WLAN-Wetterstation

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Posts 155 Posters 3.9m Views 137 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • NashraN Nashra

    Hallo Leute,
    jetzt bin ich wirklich sauer.
    Letzten Sonntag hatte sich ja die Außeneinheit verabschiedet, die Displayeinheit funktionierte
    zwar noch aber seit langem konnte man kaum noch was darauf erkennen.
    Hatte noch das Solarmodul sauber gemacht und auch mal neue Batterien eingelegt, aber nichts.
    Ok, am Dienstag ein neues Set bestellt, eine Ecowitt WS2910 :-)
    Das Teil kam schon Mittwoch an und was muß ich feststellen.....
    Die alte Außeneinheit funkt auf einmal wieder :grimacing: als wenn sie nur darauf
    gewartet hat das die Neue kommt.
    Egal, die fliegt jetzt raus und die Neue geht in den Betrieb.
    Frau freut sich auf neue Displayeinheit, da schon lange gemeckert wegen der alten.
    Und ich, schau mal Schatzi, deine neue Wetterstation schon mal vorab zu Weihnachten.
    Ups, der Blick hätte töten können. :grin:

    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    wrote on last edited by
    #5052

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

    Ups, der Blick hätte töten können.

    Wie hieß das in der Werbung "Für alles hat man... Alles andere ist unbezahlbar" :v:


    @tritor
    AngularJS ist ein Sicherheitsrisiko. Das hatten sie schon zu Anfang der 10er angekündigt es nicht weiter unterstützen zu wollen. Mit der aktuellen Grafana-Version haben sie es jetzt endgültig abgeschaltet.
    Einen Ersatz für das Windrose-Plugin habe ich bis dato leider auch noch nicht gefunden :(
    Hilft wohl nur warten und hoffen...

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    BoronsbruderB T 2 Replies Last reply
    0
    • SBorgS SBorg

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

      Ups, der Blick hätte töten können.

      Wie hieß das in der Werbung "Für alles hat man... Alles andere ist unbezahlbar" :v:


      @tritor
      AngularJS ist ein Sicherheitsrisiko. Das hatten sie schon zu Anfang der 10er angekündigt es nicht weiter unterstützen zu wollen. Mit der aktuellen Grafana-Version haben sie es jetzt endgültig abgeschaltet.
      Einen Ersatz für das Windrose-Plugin habe ich bis dato leider auch noch nicht gefunden :(
      Hilft wohl nur warten und hoffen...

      BoronsbruderB Offline
      BoronsbruderB Offline
      Boronsbruder
      wrote on last edited by Boronsbruder
      #5053

      @sborg
      Ouch das hatte auch das AngularJS als Basis

      Aber es gibt opensource Varianten:
      https://github.com/spectraphilic/grafana-windrose/

      SBorgS 1 Reply Last reply
      0
      • BoronsbruderB Boronsbruder

        @sborg
        Ouch das hatte auch das AngularJS als Basis

        Aber es gibt opensource Varianten:
        https://github.com/spectraphilic/grafana-windrose/

        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        wrote on last edited by
        #5054

        @boronsbruder
        Genau die ist in meinem Demo-Dashboard drin und geht nicht mehr ;)

        Aber es hat sich bei Grafana was getan, nur getestet habe ich es noch nicht: https://grafana.com/grafana/plugins/operato-windrose-panel/

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        1 Reply Last reply
        0
        • SBorgS SBorg

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

          Ups, der Blick hätte töten können.

          Wie hieß das in der Werbung "Für alles hat man... Alles andere ist unbezahlbar" :v:


          @tritor
          AngularJS ist ein Sicherheitsrisiko. Das hatten sie schon zu Anfang der 10er angekündigt es nicht weiter unterstützen zu wollen. Mit der aktuellen Grafana-Version haben sie es jetzt endgültig abgeschaltet.
          Einen Ersatz für das Windrose-Plugin habe ich bis dato leider auch noch nicht gefunden :(
          Hilft wohl nur warten und hoffen...

          T Offline
          T Offline
          tritor
          wrote on last edited by tritor
          #5055

          @sborg

          merci für die Info, das hilft schon sehr weiter, dann werd ich mal die Windinfo "zu Fuß" darstellen.
          die Operato Windrose hab ich gesehen, und ein wenig experimentiert: Zumindest wird mal was angezeigt:

          InfluxDB - Windrose - Operato

          from(bucket: "ioBroker")
            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
            |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Windrichtung_10min" or r._measurement == "0_userdata.0.Wetterstation.Wind_10min")
            |> filter(fn: (r) => r._field == "value")
            |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value")
            |> filter(fn: (r) => exists r["0_userdata.0.Wetterstation.Windrichtung_10min"] and exists r["0_userdata.0.Wetterstation.Wind_10min"])
            |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung_10min": "wind_direction", "0_userdata.0.Wetterstation.Wind_10min": "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)
          

          WindroseOperator.png

          Die Legende skalieren läßt sich nur mit dem Auswählen der "speed-buckets". Also wieviele "Farben" man darstellen möchte.
          8 sind der Standard, ich habs auf 5 reduziert, dann passt es auch mit meiner Vis.
          WindroseOperatorVis.png WindroseOperatorVis2.png

          Gernot

          Host: i9 server Proxmox , Debian 13.2 for ioBroker
          ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
          Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
          Grafana 12.3.1 / InfluxDB 2.7.12

          SBorgS 1 Reply Last reply
          3
          • T tritor

            @sborg

            merci für die Info, das hilft schon sehr weiter, dann werd ich mal die Windinfo "zu Fuß" darstellen.
            die Operato Windrose hab ich gesehen, und ein wenig experimentiert: Zumindest wird mal was angezeigt:

            InfluxDB - Windrose - Operato

            from(bucket: "ioBroker")
              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
              |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Windrichtung_10min" or r._measurement == "0_userdata.0.Wetterstation.Wind_10min")
              |> filter(fn: (r) => r._field == "value")
              |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value")
              |> filter(fn: (r) => exists r["0_userdata.0.Wetterstation.Windrichtung_10min"] and exists r["0_userdata.0.Wetterstation.Wind_10min"])
              |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung_10min": "wind_direction", "0_userdata.0.Wetterstation.Wind_10min": "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)
            

            WindroseOperator.png

            Die Legende skalieren läßt sich nur mit dem Auswählen der "speed-buckets". Also wieviele "Farben" man darstellen möchte.
            8 sind der Standard, ich habs auf 5 reduziert, dann passt es auch mit meiner Vis.
            WindroseOperatorVis.png WindroseOperatorVis2.png

            SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            wrote on last edited by
            #5056

            @tritor Supi, danke fürs testen. Dann werde ich es mal bei Gelegenheit einbauen.
            ...und wieder was für die ToDo-Liste... :face_with_head_bandage:

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            1 Reply Last reply
            0
            • NashraN Offline
              NashraN Offline
              Nashra
              Most Active Forum Testing
              wrote on last edited by
              #5057

              @tritor
              schade, der Code von dir funktioniert bei mir nicht.
              Oben links das rote Zeichen und wenn ich mit der Maus darauf gehe
              zeigt er an: t.fields[0] is undefined

              Gruß Ralf
              Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              T 1 Reply Last reply
              0
              • NashraN Nashra

                @tritor
                schade, der Code von dir funktioniert bei mir nicht.
                Oben links das rote Zeichen und wenn ich mit der Maus darauf gehe
                zeigt er an: t.fields[0] is undefined

                T Offline
                T Offline
                tritor
                wrote on last edited by tritor
                #5058

                @nashra

                ich hab das in Grafana 10.1 eingegeben mit einer InfluxDB2 ver. 2.7 als Datensource eingegeben.
                Eventuell postest mal einen Screenshot?
                sieht bei mir so aus:
                windroseOperato.png

                Gernot

                Host: i9 server Proxmox , Debian 13.2 for ioBroker
                ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
                Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                Grafana 12.3.1 / InfluxDB 2.7.12

                NashraN 1 Reply Last reply
                0
                • T tritor

                  @nashra

                  ich hab das in Grafana 10.1 eingegeben mit einer InfluxDB2 ver. 2.7 als Datensource eingegeben.
                  Eventuell postest mal einen Screenshot?
                  sieht bei mir so aus:
                  windroseOperato.png

                  NashraN Offline
                  NashraN Offline
                  Nashra
                  Most Active Forum Testing
                  wrote on last edited by
                  #5059

                  @tritor
                  Grafana 10.2.2
                  InflusDB 2.7.4

                  windrose.png

                  Gruß Ralf
                  Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  T 1 Reply Last reply
                  0
                  • NashraN Nashra

                    @tritor
                    Grafana 10.2.2
                    InflusDB 2.7.4

                    windrose.png

                    T Offline
                    T Offline
                    tritor
                    wrote on last edited by tritor
                    #5060

                    @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.

                    Gernot

                    Host: i9 server Proxmox , Debian 13.2 for ioBroker
                    ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
                    Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                    Grafana 12.3.1 / InfluxDB 2.7.12

                    NashraN 1 Reply Last reply
                    0
                    • SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      wrote on last edited by
                      #5061

                      @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)
                      

                      LG SBorg ( SBorg auf GitHub)
                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                      Chris76eC NashraN 2 Replies Last reply
                      0
                      • SBorgS SBorg

                        @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)
                        
                        Chris76eC Online
                        Chris76eC Online
                        Chris76e
                        wrote on last edited by
                        #5062

                        @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 SBorgS 2 Replies Last reply
                        1
                        • Chris76eC Chris76e

                          @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 Offline
                          T Offline
                          tritor
                          wrote on last edited by tritor
                          #5063

                          @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.

                          Gernot

                          Host: i9 server Proxmox , Debian 13.2 for ioBroker
                          ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
                          Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                          Grafana 12.3.1 / InfluxDB 2.7.12

                          Chris76eC 1 Reply Last reply
                          0
                          • T tritor

                            @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.

                            NashraN Offline
                            NashraN Offline
                            Nashra
                            Most Active Forum Testing
                            wrote on last edited by
                            #5064

                            @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.

                            Gruß Ralf
                            Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            1 Reply Last reply
                            0
                            • SBorgS SBorg

                              @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)
                              
                              NashraN Offline
                              NashraN Offline
                              Nashra
                              Most Active Forum Testing
                              wrote on last edited by Nashra
                              #5065

                              @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

                              Gruß Ralf
                              Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              SBorgS 1 Reply Last reply
                              0
                              • NashraN 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

                                SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                wrote on last edited by
                                #5066

                                @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)
                                

                                LG SBorg ( SBorg auf GitHub)
                                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                1 Reply Last reply
                                0
                                • Chris76eC Chris76e

                                  @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

                                  SBorgS Offline
                                  SBorgS Offline
                                  SBorg
                                  Forum Testing Most Active
                                  wrote on last edited by SBorg
                                  #5067

                                  @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.

                                  LG SBorg ( SBorg auf GitHub)
                                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                  1 Reply Last reply
                                  0
                                  • T 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.

                                    Chris76eC Online
                                    Chris76eC Online
                                    Chris76e
                                    wrote on last edited by
                                    #5068

                                    @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
                                    1
                                    • R Offline
                                      R Offline
                                      Rushmed
                                      Most Active
                                      wrote on last edited by
                                      #5069

                                      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.

                                      SBorgS 1 Reply Last reply
                                      0
                                      • Chris76eC Chris76e

                                        @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 Offline
                                        T Offline
                                        tritor
                                        wrote on last edited by
                                        #5070

                                        @chris76e

                                        hier wie mein komplettes Grafana Dashboard aussieht:
                                        WetterstationDashboard.png

                                        Gernot

                                        Host: i9 server Proxmox , Debian 13.2 for ioBroker
                                        ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
                                        Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                        Grafana 12.3.1 / InfluxDB 2.7.12

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          MartyBr
                                          wrote on last edited by
                                          #5071

                                          @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

                                          Gruß
                                          Martin


                                          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                          Raspeberry mit USB Leseköpfen für Smartmeter
                                          Homematic und Homematic IP

                                          T 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          659

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe