Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 153 Kommentatoren 3.8m Aufrufe 135 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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:

    T Offline
    T Offline
    tritor
    schrieb am zuletzt editiert von
    #5051

    Windrose

    meine aktuelle Windrose in Grafana wird anscheinend nicht mehr unterstützt.
    "Angular plugin
    This plugin uses a deprecated, legacy platform based on AngularJS and will stop working in future releases of Grafana."

    Hat jemand eine funktioierende Windrose vorzugsweise in Grafana?

    Gernot

    Host: i9 server Proxmox , Debian 12.0 for ioBroker
    ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
    Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
    Grafana 12.0.2 / InfluxDB 2.7.11

    1 Antwort Letzte Antwort
    0
    • 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
      schrieb am zuletzt editiert von
      #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 Antworten Letzte Antwort
      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 Online
        BoronsbruderB Online
        Boronsbruder
        schrieb am zuletzt editiert von Boronsbruder
        #5053

        @sborg
        Ouch das hatte auch das AngularJS als Basis

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

        SBorgS 1 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 12.0 for ioBroker
            ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
            Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
            Grafana 12.0.2 / InfluxDB 2.7.11

            SBorgS 1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • NashraN Offline
                NashraN Offline
                Nashra
                Most Active Forum Testing
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 12.0 for ioBroker
                  ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                  Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                  Grafana 12.0.2 / InfluxDB 2.7.11

                  NashraN 1 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • NashraN Nashra

                      @tritor
                      Grafana 10.2.2
                      InflusDB 2.7.4

                      windrose.png

                      T Offline
                      T Offline
                      tritor
                      schrieb am zuletzt editiert von 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 12.0 for ioBroker
                      ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                      Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                      Grafana 12.0.2 / InfluxDB 2.7.11

                      NashraN 1 Antwort Letzte Antwort
                      0
                      • SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #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 Antworten Letzte Antwort
                        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 Offline
                          Chris76eC Offline
                          Chris76e
                          schrieb am zuletzt editiert von
                          #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 Antworten Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 12.0 for ioBroker
                            ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                            Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                            Grafana 12.0.2 / InfluxDB 2.7.11

                            Chris76eC 1 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                    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 Offline
                                      Chris76eC Offline
                                      Chris76e
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      1
                                      • R Offline
                                        R Offline
                                        Rushmed
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #5070

                                          @chris76e

                                          hier wie mein komplettes Grafana Dashboard aussieht:
                                          WetterstationDashboard.png

                                          Gernot

                                          Host: i9 server Proxmox , Debian 12.0 for ioBroker
                                          ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                                          Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                          Grafana 12.0.2 / InfluxDB 2.7.11

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          856

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe