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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • Negalein
      Negalein Global Moderator last edited by Negalein

      noch was!

      Wenn ich in Grafana Flux verwende, bekomm ich eine Verbindung.
      (Nachteil, ich muss alle Panels neu konfigurieren)

      Wenn ich InfluxQL verwende, bekomm ich keine Verbindung. 😞

      10946bbe-2f5c-40e5-bb5a-0b5e9cdaf712-image.png

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

        @sborg Hatte damals die Influx V2 frisch aufgesetzt.

        Hab noch eine Frage. Was ist der Unterschied zwischen 0_userdata.0.Wetterstation.Wind_max und 0_userdata.0.Wetterstation.Windboeen_max?
        Die Windböen bleiben bei mir 0 auch.
        ad8de0f9-08fa-4cad-9c1d-aad3f7493a00-grafik.png

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

          @SBorg

          wird es auf Git ein V3 Dashboard auf Basis von Flux geben? 😉

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

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

            Dachte das erledigt der Updater.

            Man sollte nie ungefragt User-Einstellungen ändern. Ich kann ja schlecht wissen ob der User nicht bei "javascript..." bleiben möchte. Ich habe mich halt nur beim "Tabula rasa" dazu entschlossen es jetzt per default unter "0_userdata" anzusiedeln, denn da gehört es eigentlich auch hin. Es hat im Grunde (bis auf das DP-Anlegenskript [Statistik mal außen vor]) nichts mit Javascript zu tun. Vor 4 Jahren (solange machen wir nun schon "rum" 😂 ) gab es aber noch kein 0_userdata und JS erlaubte nur mit Tricks anlegen von DPs außerhalb von "javascript..."

            Ob man es also aktuell weiter unter "javascript..." laufen lässt, oder es auf "0_userdata..." umstellt macht keinerlei Unterschied.

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

              @rushmed Dann ist es auch normal, denn dir fehlen einfach die Messwerte. Wo noch nichts ist, kann man schlecht etwas lesen 😉

              Wo der genaue Unterschied ist kann ich dir nicht erklären, denn das kommt so aus der Station. Ich würde darauf tippen, dass die Böe ein Momentanwert ist, also um x% größer sein muss als der letzte. Wind ist dann eher ein zeitliches Ereignis und wird dann wohl median, average, ??? berechnet, also bspw. alter Wert + aktueller Wert geteilt durch 2.
              Ich glaube nämlich nicht daran, dass der Wettermast kontinuierlich mist (Batterielebensdauer). Der wird nur alle x Sekunden einen Momentanwert des Propellers erfassen.

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

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

                Wenn ich InfluxQL verwende, bekomm ich keine Verbindung.

                Kann ich nix zu sagen, nutze ich nicht mehr. Sonst wäre der Umstieg auf InfluxDB V2 auch für die "Füße" gewesen. Der einzige verbleibende Vorteil ist aktuell Flux.

                wird es auf Git ein V3 Dashboard auf Basis von Flux geben?

                Nicht zeitnah, da dass nur ein "bisschen" Aufwand bedeutet. Alle Panels ändern auf Flux, alle Overrides anpassen...

                Ein ganzer Morgen Arbeit,
                Bild 001.png

                damit dann das dabei rauskommt:
                Bild 002.png

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

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

                  Der einzige verbleibende Vorteil ist aktuell Flux.

                  habe ich auch vor. 🙂

                  wenn ich dann das lese und sehe, wird mir schlecht. 😉

                  Ein ganzer Morgen Arbeit,

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

                    @negalein Hauptproblem ist halt Flux, da ist unter Grafana nix mehr mit "Klicky-klicky" 😉

                    Ich habe jetzt so an die 90% vom Dashboard auf Flux umgestellt. Das kann man aber nicht veröffentlichen, da dort meine komplette Struktur verankert ist. Ist da nur ein Detail anders als bei mir, läuft es nicht.
                    Eigentlich genügt mir schon die Arbeit am Skript, jetzt ein vielfaches am Zeitaufwand für die V3 wieder in Grafana zu investieren finde ich nicht prickelnd. Ich habe tausend andere (private) Sachen zu erledigen.

                    Allerdings wird ein Großteil der Nutzer nicht so damit zu Recht kommen wie sie es ev. wünschen. Man muss jetzt alles mittels "Overrides" realisieren. Problem hier wieder, dass ist dann wieder nur auf (m)eine Datenobjektstruktur limitiert, also bspw. 0_userdata.0.Wetterstation.xyz. Lautet der Ordner anders, ist die Instanz eine andere oder wird weiter "javascript..." benutzt geht es nicht mehr. In den Overrides kann man leider nicht mit Variablen arbeiten...

                    Also habe ich mich jetzt noch etwas in Grafana-Programmierung eingelesen und auch dafür eine Lösung gefunden. Es wird ein universelles Dashboard geben das man einfach importiert und ein paar Angaben machen muss. Somit kann man auch jederzeit ohne große mühen den Bucket umbenennen, eine andere Instanz nutzen, von "javascript..." nach "0_userdata..." umziehen...
                    Bild 003.png

                    Das ist aber "nicht mal so eben" zu realisieren.
                    Die spezifischen Sachen von mir wie bspw. "Temperatur in 3 h" sind dabei aber außen vor. Da muss man ev. doch aktiv werden, weiß ich aber noch nicht genau.

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

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

                      Das ist aber "nicht mal so eben" zu realisieren.

                      das versteh ich.

                      Bin schon etwas weiter gekommen.

                      Hier ist schön erklärt, wie InfluxQL vs. Flux aufgebaut ist.
                      https://www.influxdata.com/blog/tldr-influxdb-tech-tips-converting-influxql-queries-flux-queries/

                      Und mit Hilfe von hier und minimale nachbearbeitung bekoomt man den Flux-Querie aus dem InfluxQL-Query.
                      https://influxql2flux.twentyfive.dev/?q=U0VMRUNUIGxhc3QoInZhbHVlIikgRlJPTSAidXNlcmRhdGEuMC5XZXR0ZXJzdGF0aW9uLkF1c3NlbnRlbXBlcmF0dXIiIFdIRVJFICR0aW1lRmlsdGVyIEdST1VQIEJZIHRpbWUoJF9faW50ZXJ2YWwpIGZpbGwocHJldmlvdXMp

                      Schaut schonmal gut aus.
                      4c95c870-1e9d-4594-99d6-94816be2a5f6-image.png

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

                        Gibt es eigentlich eine Info ob InfluxQL weiter exisitieren wird?

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

                          @negalein Am einfachsten klickt man sich die Abfrage in der Web-GUI von Influx zusammen. Nach Klick auf den "Script Editor" sieht man dann auch die Abfrage in Flux. Der Part ist noch easy. Kompliziert wird es dann nur wenn man gruppiert oder etwas mehr will als eine reine Abfrage 😉
                          Das kann man sich dann 1:1 in Grafana kopieren:
                          Bild 001.png
                          Bild 002.png

                          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:

                            Gibt es eigentlich eine Info ob InfluxQL weiter exisitieren wird?

                            Gelesen habe ich diesbzgl. noch nichts. Müsste ich raten, würde ich darauf setzen, dass es innerhalb der V2.x als Übergangslösung weiter unterstützt wird. Mit einer InfluxDB V3 dann aber ev. eingestellt werden könnte.

                            T Latzi 2 Replies Last reply Reply Quote 0
                            • T
                              tritor @SBorg last edited by

                              @sborg

                              beim Change auf V3 und dem Umzug der DPs von javascript.0.Wetterstation.xxx auf 0_userdata.0.Wtterstation.xxx muß ich die InfluxDaten der DPs aus javascript in die neuen DPs aus 0_userdata manuell kopieren. Gehe ich da richtig in der Annahme?

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

                                @sborg
                                ich denke im Statistik-Skript V2.0.0 hat sich ein fehlendes _ eingeschlichen, da beim "Vortag.Windboee_max" keine Werte kommen (und vermutlich auch beim Monatswechsel wird´s so sein). Der DP wird mit 0 belegt.
                                Im "from bucket ..."-Statement steht bei Wind_max r.measurement == "' + WET_DP + '.Wind_max", sollte jedoch r._measurement == "' + WET_DP + '.Wind_max" lauten (ist zumindest bei Aussentemperatur und Regen_Tag so).
                                Bitte kannst du das gelegentlich mal prüfen.

                                Vielen Dank!

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

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

                                  @sborg

                                  beim Change auf V3 und dem Umzug der DPs von javascript.0.Wetterstation.xxx auf 0_userdata.0.Wtterstation.xxx muß ich die InfluxDaten der DPs aus javascript in die neuen DPs aus 0_userdata manuell kopieren. Gehe ich da richtig in der Annahme?

                                  Am einfachsten exportiert (egal ob aus Influx V1 oder V2) man sich die entsprechende(n) Datenreihe(n) zB. mittels "Killer-Befehl" 😉 aus der V1 :

                                  echo '#datatype measurement,dateTime:RFC3339,boolean,string,double,double' > export.csv && influx -database [Datenbankname] -username [username] -password [passwort] -execute 'SELECT * FROM "javascript.0.Wetterstation.Aussentemperatur","javascript.0.Wetterstation.Regen_Tag","javascript.0.Wetterstation.Wind_max"' -format csv -precision='rfc3339' >> export.csv
                                  

                                  Nun ersetzt man "javascript." durch "0_userdata." : sed -i "s/^javascript\./0_userdata\./g" ./export.csv

                                  Dann sollten die Einträge in der export.csv in etwa so aussehen:

                                  0_userdata.0.Fuellstand,2023-02-15T05:02:37.015Z,true,system.adapter.influxdb.0,0,54
                                  

                                  Nun droppt man die alten Datenserien (sofern man sie schon in V2 hat) und importiert die neue csv: influx write -b [Bucketname] -f ./export.csv

                                  T 1 Reply Last reply Reply Quote 1
                                  • SBorg
                                    SBorg Forum Testing Most Active @Latzi last edited by

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

                                    Statistik-Skript V2.0.0 hat sich ein fehlendes _ eingeschlichen...

                                    Wohl eher davon geschlichen 😊
                                    ...und noch einer, der aber schon seit langer Zeit drin ist.

                                    Jepp, jepp, checked, fixed, danke --> V2.0.1


                                    Neue Version des JavaScriptes Wetterstation-Statistik auf GitHub V2.0.1

                                    • ~Bugfix Influx-Abfrage "Wind" (@Latzi)
                                    • ~Bugfix fester Datenpunkt auf "javascript.0..." bei Trockenperiode

                                    Wie immer zu finden im GitHub


                                    Update ist erforderlich, da es sich um einen Fehler handelt der die Funktion einschränkt.

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

                                      @sborg Ok, danke. Irgendwie kommen die 24h Werte aber auch nicht. Die sind aber sicher in Influx.
                                      5bd9986a-90ec-4769-af4e-df3baa22f7b9-image.png

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

                                        @rushmed Fällt mir nur noch ein, hast du den ioB zwischenzeitlich mal neu gestartet oder zumindest den SimpleAPI? Der macht gelegentlich die "lustigsten" Fehler wenn man neue DPs per Javascript anlegt...
                                        Mich macht da "Null" stutzig. Sieht so aus als könnte er aktuell den Wert nicht schreiben.

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

                                          @sborg ich hab gerade gesehen, dass heute Nacht wohl auch was schief lief.. schau mal, hier haste mal die Windboe auf Windboee geaendert aber irgendwie existiert der alte Datenpunkt noch der neue wird nicht geschrieben.. ?

                                          2023-02-24 01:03:00.013  - info: javascript.0 (976157) script.js.common.Klimatisierung.Wetterstation-Statistik: Auswertung durchgeführt...
                                          2023-02-24 01:03:00.149  - warn: javascript.0 (976157) State "0_userdata.0.Statistik.Wetter.VorTag.Windboee_max" not found
                                          2023-02-24 01:03:00.151  - warn: javascript.0 (976157)     at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1731:20)
                                          2023-02-24 01:03:00.151  - warn: javascript.0 (976157)     at Object.cb (script.js.common.Klimatisierung.Wetterstation-Statistik:226:5)
                                          2023-02-24 01:03:00.151  - warn: javascript.0 (976157)     at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5816:71)
                                          2023-02-24 01:03:00.151  - warn: javascript.0 (976157)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:324:37)
                                          2023-02-24 01:03:00.151  - warn: javascript.0 (976157)     at processImmediate (node:internal/timers:466:21)
                                          2023-02-24 01:03:00.151  - warn: javascript.0 (976157) getState "0_userdata.0.Statistik.Wetter.aktueller_Monat.Max_Windboee" not found (3)
                                          2023-02-24 01:03:00.152  - warn: javascript.0 (976157)     at Object.cb (script.js.common.Klimatisierung.Wetterstation-Statistik:247:8)
                                          2023-02-24 01:03:00.152  - warn: javascript.0 (976157)     at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5816:71)
                                          2023-02-24 01:03:00.152  - warn: javascript.0 (976157)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:324:37)
                                          2023-02-24 01:03:00.152  - warn: javascript.0 (976157)     at processImmediate (node:internal/timers:466:21)
                                          2023-02-24 01:03:00.152  - warn: javascript.0 (976157) State "0_userdata.0.Statistik.Wetter.aktueller_Monat.Max_Windboee" not found
                                          2023-02-24 01:03:00.152  - warn: javascript.0 (976157)     at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1731:20)
                                          2023-02-24 01:03:00.152  - warn: javascript.0 (976157)     at Object.cb (script.js.common.Klimatisierung.Wetterstation-Statistik:247:78)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157)     at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5816:71)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:324:37)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157)     at processImmediate (node:internal/timers:466:21)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157) getState "0_userdata.0.Statistik.Wetter.Jahreswerte.Windboee_max" not found (3)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157)     at Object.cb (script.js.common.Klimatisierung.Wetterstation-Statistik:283:12)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157)     at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5816:71)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:324:37)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157)     at processImmediate (node:internal/timers:466:21)
                                          2023-02-24 01:03:00.153  - warn: javascript.0 (976157) State "0_userdata.0.Statistik.Wetter.Jahreswerte.Windboee_max" not found
                                          2023-02-24 01:03:00.154  - warn: javascript.0 (976157)     at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1731:20)
                                          2023-02-24 01:03:00.154  - warn: javascript.0 (976157)     at Object.cb (script.js.common.Klimatisierung.Wetterstation-Statistik:283:79)
                                          2023-02-24 01:03:00.154  - warn: javascript.0 (976157)     at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5816:71)
                                          2023-02-24 01:03:00.154  - warn: javascript.0 (976157)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:324:37)
                                          2023-02-24 01:03:00.154  - warn: javascript.0 (976157)     at processImmediate (node:internal/timers:466:21)
                                          2023-02-24 01:03:00.155  - warn: javascript.0 (976157) getState "0_userdata.0.Statistik.Wetter.Rekordwerte.value.Windboee" not found (3)
                                          2023-02-24 01:03:00.155  - warn: javascript.0 (976157)     at Rekordwerte (script.js.common.Klimatisierung.Wetterstation-Statistik:655:9)
                                          2023-02-24 01:03:00.155  - warn: javascript.0 (976157)     at Object.cb (script.js.common.Klimatisierung.Wetterstation-Statistik:302:5)
                                          2023-02-24 01:03:00.155  - warn: javascript.0 (976157)     at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5816:71)
                                          2023-02-24 01:03:00.155  - warn: javascript.0 (976157)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:324:37)
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157)     at processImmediate (node:internal/timers:466:21)
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157) State "0_userdata.0.Statistik.Wetter.Rekordwerte.value.Windboee" not found
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157)     at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1731:20)
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157)     at Rekordwerte (script.js.common.Klimatisierung.Wetterstation-Statistik:656:9)
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157)     at Object.cb (script.js.common.Klimatisierung.Wetterstation-Statistik:302:5)
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157)     at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5816:71)
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:324:37)
                                          2023-02-24 01:03:00.156  - warn: javascript.0 (976157)     at processImmediate (node:internal/timers:466:21)
                                          2023-02-24 01:03:05.159  - warn: javascript.0 (976157) getState "0_userdata.0.Statistik.Wetter.Rekordwerte.value.Windboee" not found (3)
                                          2023-02-24 01:03:05.160  - warn: javascript.0 (976157)     at Template_Rekordwerte (script.js.common.Klimatisierung.Wetterstation-Statistik:669:16)
                                          2023-02-24 01:03:05.160  - warn: javascript.0 (976157) script.js.common.Klimatisierung.Wetterstation-Statistik: Object "0_userdata.0.Statistik.Wetter.Rekordwerte.value.Windboee" does not exist
                                          2023-02-24 01:03:05.164  - error: javascript.0 (976157) script.js.common.Klimatisierung.Wetterstation-Statistik: TypeError: Cannot read properties of null (reading 'common')
                                          2023-02-24 01:03:05.164  - error: javascript.0 (976157)     at Template_Rekordwerte (script.js.common.Klimatisierung.Wetterstation-Statistik:670:66)
                                          2023-02-24 01:06:24.817  - info: admin.0 (2420357) <== Disconnect system.user.admin from ::ffff:192.168.0.5 javascript
                                          
                                          

                                          wetterstation V3.0 und javascript 7.0.1

                                          Latzi 1 Reply Last reply Reply Quote 0
                                          • Latzi
                                            Latzi @Neuschwansteini last edited by

                                            @ilovegym

                                            hast du die Windboe-DP´s in 0_userdata.0.Statistik.Wetter gemäß Ankündigung geändert?

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

                                            "Windboe" heißt nun überall korrekt "Windboee". Am einfachsten klont man den alten DP und trägt den neuen korrekten Namen ein, kopiert sich dessen Wert und trägt ihn in den neuen ein

                                            Wetterstation-Statistik V2.0.1 eingesetzt?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            777
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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