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.
    • SBorg
      SBorg Forum Testing Most Active last edited by

      Hi, leider nein, da die Werte (zumindest etliche) auf vorherigen Werten aufbauen. ZB. die Höchsttemperatur des Monats ist easy. Da kann ich einfach über alle Datensätze iterieren und den höchsten Wert festhalten. Fertig 🙂

      Bei den Gradtagen muss ich dann aber mehrere Bedingungen pro Wert kontrollieren und dann je nach Ergebnis feststellen ob dies ein xy-Gradtag ist. Das dauert bei ~ 3.000 Datensätzen pro Tag schon einen Augenblick. Deswegen wird dann das heutige Ergebnis zum vorherigen einfach dazu addiert, also gestriger Wert von xy-Gradtag plus 1 von heute und sofort wieder neu gespeichert. Am Monatsersten werden dann nur noch die Werte gelesen und passend zum Monat/Jahr gespeichert und alles wieder genullt.

      Man müsste also um die Routine eine Schleife bauen, die dann dem Skript "vorgaukelt" es ist zB. Mai und dann für die Tage 1-31 jeweils das Skript durchläuft. Dann haättest du erst die korrekten Werte für Mai 202x (x=man müsste natürlich auch das Jahr noch dementsprechend vorgaukeln falls es nicht das aktuelle ist).

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

        @sborg
        Alles klar. Die Frage war es auf jeden Fall wert, gestellt zu werden 😉

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

          Die "Wetterwarnungen" scheinen auch zumindest passabel zu funktionieren, wobei mich das ein wenig überrascht. Wir haben hier im Verhältnis gesehen ziemlich günstige Hardware und nur Wissen von einem Laien, der sich dieses aus Wikis und diversen Beiträgen "aus den Fingern saugt..." 😉

          Trotz alle dem, Meldung vom DWD:
          Bild 002.png

          Wetterwarnung des Skripts:
          Bild 001.png

          😊

          1 Reply Last reply Reply Quote 3
          • V
            viper4iob @viper4iob last edited by viper4iob

            @viper4iob said in [Linux Shell-Skript] WLAN-Wetterstation:

            @sborg
            Es sieht jetzt besser aus, ich denke es passt jetzt. Danke fürs schnelle fixen.

            Nebenbei bemerkt: ich habe eine Froggit HP1000SE Pro.
            Zum Thema welche Wetterstation die 10 min Werte direkt sendet.

            @SBorg
            Es scheint da doch noch ein kleines Problem zu geben.
            Meine Wetterstation sendet ja die 10min Durchschnittswerte von Windstärke und -richtung direkt, d.h. das Skript braucht die nicht mehr berechnen.
            Ich habe in der config USE_AVG_WIND=true stehen, mir ist aber aufgefallen, dass auf openSenseMap weiterhin die aktuellen Werte und nicht die Durchschnittswerte angezeigt werden.
            Ist das vielleicht ein ähnliches Problem wie mit den Durchschnitts-DPs, als die nur mit den berechneten Werten gefüttert wurden, und wenn es keinen berechneten Wert gab, dann der normale Wert benutzt wurde, anstatt den 10 min Werten, die direkt von der Wetterstation kamen.

            V 1 Reply Last reply Reply Quote 0
            • C
              ChrisXY last edited by

              Hat schon jemand etwas umgesetzt mit Windböen ? Es gibt ja Wind_Max nach welcher Zeit wird hier gerechnet?

              Ich möchte einen Alarm bzw eine Anzeige haben welche mir bei Sturm möglichst schnell den höchsten Wert ausspuckt.

              Also 10:11 Uhr 60 km/h 10:14 62km/h ...

              Kann ich hier mit wind_max arbeiten oder lieber mit Wind? Bei Wind kommt es mir so vor das auch nur ein durchschnitt irgendwie angezeigt wird.

              1 Reply Last reply Reply Quote 0
              • S
                schittl last edited by

                Ist es angedacht das super Skript "wetterstation-statistik.js" auf influx 2 umzustellen oder ist das gar schon geschehen? Aktuell bekomme ich folgende Fehler:

                javascript.0
                2022-11-11 10:26:00.095	warn	TypeError: Reduce of empty array with no initial value at Array.reduce (<anonymous>) at Object.cb (script.js.XSkripte.wetterstation-statistik:7666:43) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5809:71) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:322:37) at processImmediate (internal/timers.js:464:21)
                
                javascript.0
                2022-11-11 10:26:00.092	warn	States system pmessage io.messagebox.system.adapter.javascript.0 {"command":"query","message":{"result":[],"error":"Invalid call"},"from":"system.adapter.influxdb.1","callback":{"message":"select * FROM \"0_userdata.0.DP1500.Aussentemperatur\" WHERE time >= 1668034800000000000 AND time <= 1668121199000000000; select * FROM \"0_userdata.0.DP1500.Wind_max\" WHERE time >= 1668034800000000000 AND time <= 1668121199000000000; select * FROM \"0_userdata.0.DP1500.Regen_Tag\" WHERE time >= 1668034872000000000 AND time <= 1668121199000000000","id":2,"ack":true,"time":1668158760014},"_id":22946247} Reduce of empty array with no initial value
                
                javascript.0
                2022-11-11 10:26:00.089	error	script.js.XSkripte.wetterstation-statistik: Fehler beim Lesen der InfluxDB: Invalid call
                
                influxdb.1
                2022-11-11 10:26:00.083	error	queries: Error: 3 Error happened while processing 3 queries
                

                Vllt habe ich es auch überlesen. Falls ja sorry dafür.

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

                  @schittl
                  siehe https://github.com/SBorg2014/WLAN-Wetterstation/issues/41

                  ein :+1 beim issue würde helfen 😉

                  latzi0710 created this issue in SBorg2014/WLAN-Wetterstation

                  closed Erweiterung: Influxdb2 hinzufügen (Skript + Statistik) #41

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

                    Hallo lieber @SBorg, ich hoffe dir gehts gut!
                    Seit gestern herrschen bei mir negative Außentemperaturen und seitdem kommt bei Wolkenbasis nurnoch 0.

                    V 1 Reply Last reply Reply Quote 0
                    • V
                      viper4iob @Rushmed last edited by viper4iob

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

                      Hallo lieber @SBorg, ich hoffe dir gehts gut!
                      Seit gestern herrschen bei mir negative Außentemperaturen und seitdem kommt bei Wolkenbasis nurnoch 0.

                      Ich habe das gleiche Problem, genauer gesagt steht bei mir immer "null".
                      Ich habe mir das jetzt mal angeschaut, das Problem ist folgende Zeile der Funktion do_wolkenbasis() in der wetterstation.sub:
                      local WOLKENBASIS=$(echo "scale=2;(${MESSWERTE[1]}-${MESSWERTE[2]})*125"| bc -l)
                      MESSWERTE[1] ist die Außentemperatur
                      MESSWERTE[2] ist der Taupunkt
                      Das bc Kommando hat scheinbar ein Problem, wenn MESSWERTE[2] negativ ist. Das kommt dann mit dem Minus Minus nicht zurecht und schmeißt einen Syntax Error.
                      Wenn man um den MESSWERTE[2] nochmal Klammern setzt, geht es wieder, die Zeile sieht dann so aus:
                      local WOLKENBASIS=$(echo "scale=2;(${MESSWERTE[1]}-(${MESSWERTE[2]}))*125"| bc -l)
                      Danach das Wetterstationsskript oder falls eingerichtet den Dienst neu starten und dann sollte das wieder funktionieren.

                      R Neuschwansteini 2 Replies Last reply Reply Quote 2
                      • R
                        Rushmed Most Active @viper4iob last edited by Rushmed

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

                        local WOLKENBASIS=$(echo "scale=2;(${MESSWERTE[1]}-(${MESSWERTE[2]}))*125"| bc -l)

                        Cool, danke. Habs mal eingebaut.

                        Edit: Sieht gut aus!

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

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

                          local WOLKENBASIS=$(echo "scale=2;(${MESSWERTE[1]}-(${MESSWERTE[2]}))*125"| bc -l)

                          super, funktioniert hier auch!
                          Danke!

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

                            @viper4iob Danke funktioniert 👍

                            V 1 Reply Last reply Reply Quote 0
                            • V
                              viper4iob @Nashra last edited by viper4iob

                              Ich bin da eventuell über noch einen kleinen Fehler gestolpert, und zwar geht es um die Wetterwarnung Tau/Nebel und Reif.
                              Diese passieren doch nur, wenn der Taupunkt über der Außentemperatur liegt, oder?
                              Ich habe mich nämlich gewundert, warum bei mir aktuell ständig Reif bei Wetterwarnung angezeigt wird, obwohl der Taupunkt unter der Außentemperatur liegt.

                              Laut wetterstation.sub geht es in die if Anweisung rein, wenn MESSWERTE[2] kleiner als MESSWERTE[1] ist:

                              #Tau/Nebel und Reif
                                   if [ 1 -eq "$(echo "${MESSWERTE[2]} < ${MESSWERTE[1]}" | bc -l)" ]; then
                                    if (( $(bc -l <<< "${MESSWERTE[5]} >= 99") )); then WARNUNG="Tau/Nebel"; fi
                                    if (( $(bc -l <<< "${MESSWERTE[1]} <= 0.5") )); then WARNUNG="Reif"; fi
                                   fi
                              

                              MESSWERTE[2] = Taupunkt
                              MESSWERTE[1] = Außentemperatur

                              D.h. es geht in die if-Anweisung, wenn der Taupunkt kleiner ist als die Außentemperatur.
                              Es müsste doch aber genau anders herum sein, also:
                              ${MESSWERTE[1]} < ${MESSWERTE[2]}
                              Oder habe ich irgendeinen Denkfehler?

                              Boronsbruder Latzi 2 Replies Last reply Reply Quote 0
                              • Boronsbruder
                                Boronsbruder @viper4iob last edited by

                                @viper4iob

                                Der Taupunkt ist die Temperatur an dem die Luft, keine Feuchtigkeit mehr halten kann (banal erklärt).
                                Dann passt es doch, oder?
                                Wenn der Taupunkt niedriger als die aktuelle Temperatur liegt, fällt die Luftfeuchtigkeit als Nebel oder bei Frost als Reif aus.

                                Dies gibt nur die Faktenlage im Kopf des Autors wieder 🤣

                                V 1 Reply Last reply Reply Quote 0
                                • V
                                  viper4iob @Boronsbruder last edited by viper4iob

                                  @boronsbruder
                                  Ich habe jetzt nochmal im Internet mehrere Seiten gecheckt, wie z.B.
                                  https://weather.com/de-DE/wissen/wetterlexikon/news/taupunkt-so-entstehen-nebel-reif-und-wolken
                                  Da steht:
                                  "Im Herbst und Winter wallen die Nebel. Der Grund dafür ist, dass die Temperatur in der kalten Jahreszeit häufig unter den Taupunkt sinkt. Wird der Taupunkt – Meteorologen sprechen auch von der Taupunkttemperatur – erreicht, kann sich Wasserdampf als Tau oder Nebel aus feuchter Luft abscheiden, dabei bildet er Tröpfchen in der Luft. Bei tieferen Temperaturen gefrieren die Tröpfchen sofort, es entstehen Eisablagerungen, sogenannter Reif."

                                  Die Außentemperatur (MESSWERTE[1]) muss den Taupunkt (MESSWERTE[2]) quasi fallend erreichen oder eben darunter sinken, also Außentemperatur < Taupunkt.
                                  Das wäre dann eben genau:
                                  ${MESSWERTE[1]} < ${MESSWERTE[2]}
                                  Aktuell steht im Skript aber:
                                  ${MESSWERTE[2]} < ${MESSWERTE[1]}

                                  Boronsbruder 1 Reply Last reply Reply Quote 0
                                  • Boronsbruder
                                    Boronsbruder @viper4iob last edited by Boronsbruder

                                    @viper4iob
                                    Natürlich...
                                    Ich hab es wieder mal verdreht...

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

                                      @viper4iob
                                      erstellst du bitte ein issue auf github damit @SBorg es im Auge behält (er war schon einige Zeit nicht mehr im Forum 😞 ). Für die Wolkenbasis hab ich´s schon gemacht.

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

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

                                        @viper4iob
                                        erstellst du bitte ein issue auf github damit @SBorg es im Auge behält (er war schon einige Zeit nicht mehr im Forum 😞 ). Für die Wolkenbasis hab ich´s schon gemacht.

                                        Erledigt und @SBorg hat auch reagiert:
                                        https://github.com/SBorg2014/WLAN-Wetterstation/issues/47

                                        viper4gh created this issue in SBorg2014/WLAN-Wetterstation

                                        closed Problem Wetterwarnungen #47

                                        1 Reply Last reply Reply Quote 1
                                        • V
                                          viper4iob @viper4iob last edited by viper4iob

                                          @viper4iob said in [Linux Shell-Skript] WLAN-Wetterstation:

                                          @viper4iob said in [Linux Shell-Skript] WLAN-Wetterstation:

                                          @sborg
                                          Es sieht jetzt besser aus, ich denke es passt jetzt. Danke fürs schnelle fixen.

                                          Nebenbei bemerkt: ich habe eine Froggit HP1000SE Pro.
                                          Zum Thema welche Wetterstation die 10 min Werte direkt sendet.

                                          @SBorg
                                          Es scheint da doch noch ein kleines Problem zu geben.
                                          Meine Wetterstation sendet ja die 10min Durchschnittswerte von Windstärke und -richtung direkt, d.h. das Skript braucht die nicht mehr berechnen.
                                          Ich habe in der config USE_AVG_WIND=true stehen, mir ist aber aufgefallen, dass auf openSenseMap weiterhin die aktuellen Werte und nicht die Durchschnittswerte angezeigt werden.
                                          Ist das vielleicht ein ähnliches Problem wie mit den Durchschnitts-DPs, als die nur mit den berechneten Werten gefüttert wurden, und wenn es keinen berechneten Wert gab, dann der normale Wert benutzt wurde, anstatt den 10 min Werten, die direkt von der Wetterstation kamen.

                                          Das Thema habe ich jetzt auch mal genauer angeschaut und auch ein Issue dazu geöffnet:
                                          https://github.com/SBorg2014/WLAN-Wetterstation/issues/48
                                          Ich habe dort weiterhin einen Code-Block hinterlegt, wie ich es jetzt umgebaut habe. So funktioniert es bei mir aktuell.
                                          Falls es jemand dringend brauchen sollte, kann er das von dort übernehmen bis es eine neue Version gibt.

                                          viper4gh created this issue in SBorg2014/WLAN-Wetterstation

                                          closed Problem mit openSenseMap Upload bei USE_AVG_WIND auf true #48

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

                                            Als kleines Weihnachtspräsent...

                                            ...zur Behebung diverser Unzulänglichkeiten:

                                            Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.20.0

                                            • ~ fix Wolkenbasis (keine Werte falls Taupunkt negativ) / Issue #46 (viper4iob)
                                            • ~ fix Wetterwarnung (Reif) / Issue #47 (viper4iob)
                                            • ~ fix OpenSenseMap für Stationen die 10-Minutendurchschnittswerte bereits liefern / Issue #48 (viper4iob)

                                            Wie immer zu finden im GitHub


                                            Update-Routine von Vorgängerversion:

                                            • aktuellen WS-Updater nutzen (Download falls älter als V2.12.1: wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)
                                            • ./ws_updater.sh im Installationsverzeichnis ausführen
                                            • Menüpunkt "4" wählen und die Fragen beantworten

                                            Update sollte durchgeführt werden, da es sich um ein Bugfix-Release handelt. Dank an @viper4iob für die fixes 😉

                                            1 Reply Last reply Reply Quote 8
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            587
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5469
                                            3187817
                                            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