Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Linux Shell-Skript] WLAN-Wetterstation

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
          • Neuschwansteini
            Neuschwansteini @Latzi last edited by Neuschwansteini

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

            @ilovegym

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

            noe, dachte das Script legt nicht vorhandene automatisch an.. dachte ich..

            Wetterstation-Statistik V2.0.1 eingesetzt?

            ja, mal schauen obs jetzt laeuft.. dachte wenn man sowas im Script aendert dann macht das Script auch die Aenderung.. hach.. ok, der User soll auch noch was zu tun haben.. 🙂

            Edit: kaum macht man's richtig, funktionierts! 🙂

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

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

              dachte wenn man sowas im Script aendert dann macht das Script auch die Aenderung.. hach.. ok, der User soll auch noch was zu tun haben.

              😀 Das Script macht da mal nüscht.

              weniger Arbeit für euch = mehr Arbeit für mich

              ...und a bisserl dürft ihr auch arbeiten 😇
              Aber Späßken beiseite, das ist Userseitig in nicht mal 5 Minuten erledigt, ich muss/müsste dann erst mal wieder feststellen in welchem Pfad die Objekte liegen, unter welcher Instanz...
              Es wäre da halt einfacher eine feste Struktur vorzugeben. Da bin ich aber kein Freund von. Jeder soll da einstellen können was er/sie/diverse will 😉

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

                @sborg ja klar, verstaendlich, in manchen Dingen ist man verwoehnt.. 👼

                Laeuft ja jetzt, Daten werden geschrieben, alles gut! Danke nochmals !

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

                  @ilovegym Ich habe es auch nicht negativ aufgefasst 😉
                  Mir fällt nur gerade auf, ich hätte es eh nicht automatisieren können. Ich habe mich noch nie damit beschäftigt, ob ich auch auslesen könnte ob der DP zB. mittels Influx geloggt wird, um dies dann im neuen DP wieder zu setzen.

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

                    Das Grafana-Dashboard habe ich mittlerweile kpl. auf Flux umgestellt, weiß nur nicht woher das noch kommt:
                    Bild 001.png

                    Scheint nicht benutzt zu werden, denn es funktioniert soweit bzw. es fehlt nichts und der entsprechende DP ist in InfluxDB V1 bereits gedroppt und nicht mehr existent. Schön ist das aber nicht 😞

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

                      Ab sofort steht "mein" Dashboard in der V3 auf GitHub zur Verfügung wer denn will: https://github.com/SBorg2014/WLAN-Wetterstation

                      Nur noch für InfluxDB V2.x, Abfrage nur in Flux, konfigurierbar in den Settings per Variablen.
                      Neues Windrose-Plugin (Installation in der Read.Me).

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

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

                        Nur noch für InfluxDB V2.x, Abfrage nur in Flux, konfigurierbar in den Settings per Variablen.

                        Danke für deine Arbeit 🙂

                        Bei mir funktioniert es leider noch nicht. 😞

                        dad8e067-7814-4c28-88c7-d7857b32cacf-image.png

                        Bucket ist bei mir iobroker. Das hab ich in den Variablen eingetragen.
                        cf45d0f4-79c6-4b4d-a7fa-cf1931de99f1-image.png

                        Data_Prefix -_Instanz und -_Ordnername passen auch.
                        0_userdata.0.Wetterstation

                        Hab ich irgendwo noch was vergessen?

                        c928b327-6ced-4727-a2ee-fefdf685e1a8-image.png

                        SBorg 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:

                          Hab ich irgendwo noch was vergessen?

                          Jepp 🤘

                          Zitat aus der Read.ME:

                          Hier besteht die Möglichkeit mit zwei unterschiedlichen Buckets zu arbeiten. Nutzt man nur eines für alles (was ich nicht unbedingt empfehlen würde) trägt man bei beiden den gleichen Bucketnamen ein.

                          Musst also auch beim "shorttermBucket" iobroker eintragen.

                          Überlesen, oder ist das missverständlich ausgedrückt? Falls ja, wie besser? 🙂

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

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

                            Überlesen, oder ist das missverständlich ausgedrückt? Falls ja, wie besser?

                            mittlerweile die Readme gelesen und angepasst 😉

                            Leider noch immer leer 😢

                            5edeb2f2-9970-4fa3-88e1-178275f37e85-image.png
                            c127932f-bbc8-4976-8c2b-391c0f5204ce-image.png

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

                              @negalein Hast du mal ein refresh/reload der Seite erzwungen (STRG+F5)? Ev. hat er da noch die alte Einstellung gecached.

                              Falls immer noch nicht:
                              Wenn du den "Query-Inspector" öffnest sollte es dann in etwa so aussehen:
                              Bild 001.png
                              "291" = es wurden 291 Messwerte gelesen (für "Innen" 569) und die Variablen für Bucket etc. wurden in der Abfrage korrekt ersetzt. Der Abfragezeitraum sollte dann "jetzt" - 24 Stunden sein.

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

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

                                Wenn du den "Query-Inspector" öffnest sollte es dann in etwa so aussehen:

                                da steht nichts
                                8e73c4ee-4d08-4242-9001-5f88b2f371fe-image.png

                                Query schaut so aus:

                                from(bucket: "${longtermBucket}")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r._measurement == "${Data_Prefix}.${Data_Instanz}.${Data_Ordnername}.Aussentemperatur" and r._field == "value")
                                  |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                  |> set(key: "_field", value: "Aussen")
                                  |> yield(name: "Aussen")
                                

                                Trage ich den Query von Influx-DataExplorer ein, funktionierts:

                                from(bucket: "iobroker")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Wetterstation.Aussentemperatur")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                                  |> yield(name: "mean")
                                

                                5d40b7f0-e9f5-42b8-be60-4f3982c358df-image.png

                                hast du noch eine Idee?

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

                                  Ich würde gerne eine Windrose in meine Vis einbauen.
                                  Am Bestenüber Grafana. Bekomme aber die Query in Flux nicht hin.
                                  Hat da jemand einen Input für mich?

                                  SBorg 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:

                                    hast du noch eine Idee?

                                    Ich weiß leider nicht ob das ein prinzipielles Problem ist, oder nur bei dir. Ich habe es mal unter anderem Namen importiert, Buckets eingetragen, läuft...
                                    Ist dein Grafana aktuell (9.3.6) ?

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

                                      @tritor

                                      Bild 002.png
                                      Installation des Plugins für Grafana: https://github.com/SBorg2014/WLAN-Wetterstation/tree/master/Grafana Dashboard

                                      Flux:

                                      from(bucket: "Bucketname")
                                        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                        |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Wind_max" or r._measurement == "0_userdata.0.Wetterstation.Windrichtung")
                                        |> 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_max"])
                                        |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung": "directionRad", "0_userdata.0.Wetterstation.Wind_max": "speedMps"})
                                        |> map(fn: (r) => ({ r with  direction: r.directionRad / 3.14 * 180.0 }))
                                        |> map(fn: (r) => ({ r with  speed: r.speedMps / 0.514 }))
                                        |> aggregateWindow(every: 2m0s, fn: first, column: "direction", createEmpty: false)
                                      
                                      T 1 Reply Last reply Reply Quote 0
                                      • Negalein
                                        Negalein Global Moderator @SBorg last edited by Negalein

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

                                        Ist dein Grafana aktuell (9.3.6) ?

                                        9.3.2
                                        Aber ob es da wegen 0.0.4 so viele Unterschiede gibt?
                                        Werde ein Update machen und testen.


                                        mit 9.3.6 scheinen netzt zumindest einige 4b118056-3560-41ab-8c26-21684212c385-image.png auf.

                                        Query ist jetzt zB

                                        from(bucket: "${longtermBucket}")
                                        false
                                        false  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                        false
                                        false  |> filter(fn: (r) => r._measurement == "${Data_Prefix}.${Data_Instanz}.${Data_Ordnername}.Aussentemperatur" and r._field == "value")
                                        false
                                        false  |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                        false
                                        false  |> set(key: "_field", value: "Aussen")
                                        false
                                        false  |> yield(name: "Aussen")Query-Inspektor zeigt weiterhin
                                        ![240c9fc8-b033-4957-afc5-eaacd84a00f1-image.png](/assets/uploads/files/1677371443406-240c9fc8-b033-4957-afc5-eaacd84a00f1-image.png) 
                                        ![8baa348f-b957-40e6-a2ab-1d1222a6b836-image.png](/assets/uploads/files/1677371492982-8baa348f-b957-40e6-a2ab-1d1222a6b836-image.png)
                                        da_Woody 1 Reply Last reply Reply Quote 0
                                        • T
                                          tritor @SBorg last edited by

                                          @sborg
                                          die line 9 und 10 mit den Divisionen sind doch Umrechnungen. Line 9 von rad auf Grad und der Divisor von 0.514 ist doch eine Umrechnung von m/s in Knoten.

                                          Benötigt man diese überhaupt, die Felder 0_userdata.0.Wetterstation.Windrichtung liefert doch schon km/h und
                                          0_userdata.0.Wetterstation.Wind_max sollte doch auch schon Grad liefern.

                                          Liege ich hier mit meiner Annahme richtig?

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

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

                                            mit 9.3.6 scheinen netzt zumindest einige b9073de0-10f6-4395-a876-8422192ff181-grafik.png auf.

                                            https://forum.iobroker.net/topic/55627/test-adapter-energiefluss-v3-6-x-github-latest/2016
                                            eventuell erklärung?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            847
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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