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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      west @SBorg last edited by

      @sborg

      Jetzt geht es.

      wendy2702 1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 @west last edited by

        @west und woran lag es?

        W 1 Reply Last reply Reply Quote 0
        • W
          west @wendy2702 last edited by west

          @wendy2702

          Keine Ahnung.

          Wie ist den das Intervall für die Datenübertragung am ioBroker.

          Habe noch ein Fehler bei sudo systemctl status wetterstation

          pi@raspberrypi:~/WLAN-Wetterstation $ sudo systemctl status wetterstation
          ● wetterstation.service - Service für ioBroker Wetterstation
             Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
             Active: failed (Result: exit-code) since Sun 2021-03-14 20:50:35 CET; 12s ago
            Process: 2937 ExecStart=/home/pi/WLAN-Wetterstation/wetterstation.sh %(#ff0000)[(code=exited, status=1/FAILURE)]
           Main PID: 2937 (code=exited, status=1/FAILURE)
          
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Datenstring für ioBroker:
          Mär 14 20:50:35 raspberrypi systemd[1]: wetterstation.service: Failed with result 'exit-code'.
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: javascript.0.Wetterstation.Innentemperatur=18.61&javascript.0.Wetterstation.Aussentemperatur=4.38&javascript.0.Wetterst
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: DATA von Wetterstation:
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: PASSKEY=67DFA69FDA50D968AE98B9D507E496AC&stationtype=EasyWeatherV1.5.7&dateutc=2021-03-14+19:50:31&tempinf=65.5&humidit
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Debug VAR:
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Installationsverzeichnis: /home/pi/WLAN-Wetterstation
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: IPP: 192.168.178.12:8087        WS_PORT: 8090                WS_POLL: 30                PRE_DP: javascript.0.Wetterstat
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: WEB: HTTP                WS_PROT: Ecowitt        DP50/60/70/100/200: 0 | 0 | 0 | 0 | 0 
          Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Script-Version: V2.5.0        Config-Version: V2.5.0        Sub-Version: V2.5.0
          lines 1-16/16 (END)
          

          Process: 2937 ExecStart=/home/pi/WLAN-Wetterstation/wetterstation.sh (code=exited, status=1/FAILURE)
          Main PID: 2937 (code=exited, status=1/FAILURE)

          SBorg W 2 Replies Last reply Reply Quote 0
          • SBorg
            SBorg Forum Testing Most Active @west last edited by

            Jupp, das ist dann IMHO der 3. Fall wo offensichtlich kein Fehler vorliegt und nach dem x-ten mal probieren ohne etwas zu ändern geht es plötzlich.

            @west Hast du in der wetterstation.conf ev. noch debug=true stehen? Lt. Ausgabe sieht es danach aus. Für den laufenden Betrieb muss es auf false gesetzt sein.

            1 Reply Last reply Reply Quote 0
            • W
              west @west last edited by

              @west
              Nochmal probiert dann ging es .
              Habe jetzt mal den debug=true auf false gesetzt dann gings.
              Intervall alle ???

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

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

                Intervall alle ???

                Was du in WS-View stehen hast. Bei "30 Sekunden" dann halt 30. Schneller senden die Stationen eh nicht.

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

                  Kleiner Bug in der V2.5.0 bei der "Durchschnittstemperatur vor einem Jahr". Die bleibt bei -99.99°C hängen. Fix ist in der kommenden Version schon drin, die kann aber noch paar Wochen dauern (aktuell nur der neue WH45-Sensor geplant).

                  Wen es stört/schneller haben will:
                  in der wetterstation.sub ziemlich am Ende den Block

                          AVG_TEMP_365D=$(curl -sG "http://${INFLUX_API}/query?pretty=true" --data-urlencode "epoch=s" --data-urlencode "db=${INFLUX_DB}" \
                          --data-urlencode "u=${INFLUX_USER}" --data-urlencode "p=${INFLUX_PASSWORD}" \
                          --data-urlencode "q=SELECT avg(value) FROM \"${PRE_DP}.Aussentemperatur\" WHERE time >= now() - 366d AND time <= now() - 365d" |\
                          jq -r '.results | .[].series | .[].values[] | .[1]' 2> /dev/null)
                          if [ -z "${AVG_TEMP_365D}" ]; then
                            SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=-99.99&ack=true"
                           else
                            SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=${AVG_TEMP_365D}&ack=true"
                          fi
                  

                  durch

                          AVG_TEMP_365D=$(curl -sG "http://${INFLUX_API}/query?pretty=true" --data-urlencode "epoch=s" --data-urlencode "db=${INFLUX_DB}" \
                          --data-urlencode "u=${INFLUX_USER}" --data-urlencode "p=${INFLUX_PASSWORD}" \
                          --data-urlencode "q=SELECT mean(value) FROM \"${PRE_DP}.Aussentemperatur\" WHERE time >= now() - 366d AND time <= now() - 365d" |\
                          jq -r '.results | .[].series | .[].values[] | .[1]' 2> /dev/null)
                          if [ -z "${AVG_TEMP_365D}" ]; then
                            SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=-99.99&ack=true"
                           else
                            AVG_TEMP_365D=$(round ${AVG_TEMP_365D} 2)
                            SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=${AVG_TEMP_365D}&ack=true"
                          fi
                  

                  ersetzen:
                  Bild 1.png

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

                    @sborg Habs geändert, macht hier aber trotzdem nix:
                    a2a35275-747f-46d5-8234-89359f4b42f8-grafik.png

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

                      @ilovegym Loggst du die Aussentemperatur schon >= 365 Tage?
                      Bei mir ging es auch erst seit gestern, da ich wohl genau da angefangen hatte zu loggen 😁
                      Die Durchschnittstemperatur war aber schlichtweg falsch ("avg" gibt es bei Influx gar nicht + dann war auch noch runden nötig)...

                      btw: Hast du deinen Trichter wieder gefunden, neuen gedruckt, bei Froggit oä. einen geordert...?

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

                        @sborg ahh nee, erster Log ist vom 4.6.20, da werde ich noch etwas warten müssen...

                        Mein Trichter habe ich aus den Blumen gefischt, ist nix kaputt, keine Ahnung wie der sich lösen konnte..
                        Kann zur Zeit wegen Bandscheibe nicht so aufs Dach..

                        1 Reply Last reply Reply Quote 0
                        • R
                          ratte01 @Rushmed last edited by

                          @rushmed Welcher Fehler war das? Ich bekomme auch keine Daten
                          lgr

                          1 Reply Last reply Reply Quote 1
                          • R
                            ratte01 last edited by

                            Hallo!
                            Ich habe ein Problem mit der InfluxDB. Die Verbindung zur Station passt, die Werte kommen auch in den iobroker nur es kommt nichts in die Datenbank. Suche schon eine ganze Zeit, finde aber nichts.
                            Danke mal.

                            lgr

                            Übersicht
                            242c1936-555e-406d-9edd-a523de6ff0c6-image.png

                            Javascript
                            4916d2c6-43e4-4582-bd74-daf16b8342cf-image.png

                            Einstellungen
                            56589e4e-e8e2-4f79-acd7-350624d13e4c-image.png

                            Adapter InofluxDB
                            2e5a1501-f514-4138-a443-5d2bd1d6d667-image.png

                            Raspi InofluxDB
                            a1dfbc51-0419-4bcd-890b-63f78d88d638-image.png

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

                              @ratte01 Hast du eine falschen Screenshot erwischt? Denn du hast einen vom "History-Adapter" gepostet, oder hast du den aus versehen anstelle vom Influx aktiviert ? 😁

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

                                @sborg Ma! Danke!
                                Dieser iobroker macht mich noch Wahnsinnig.
                                Jetzt sehe ich die Daten in der influxDB. 👍

                                Muss aber noch mal lästig sein.
                                1.) Ich habe das Grafana konfiguriert und dieses JSON eingespielt: Dashboard, die DB Connection geht, aber ich sehe keine Werte im Dashboard.
                                2.) Gibt es fuer die influxDB Werte im iobroker eine best practice? Was stellt man da ein? Ich hole derzeit alle 60s die Daten von der Wetterstation. Was stelle ich bei den Punkten 1-7 am Besten ein?
                                Danke

                                7c8f31cf-f6b8-4c64-8a65-14fa63e22195-image.png

                                R SBorg 2 Replies Last reply Reply Quote 0
                                • R
                                  ratte01 @ratte01 last edited by

                                  @ratte01
                                  Jetzt habe ich auch das Grafana geschafft 👍
                                  Schwere Geburt. Die DB Verbindung muss "wetterstation" heissen 😵

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

                                    Mir ist noch etwas aufgefallen...
                                    Die gefühlte Temperatur stimmt manchmal (soweit ich gesehen hab bei schwachem Wind) nicht (ist höher als die wirkliche).
                                    Meines Wissen nach kann die Formel (siehe Wikipedia) nur bei Windgeschwindigkeiten ab 5km/h und bei Temperaturen unter 10°C angewendet werden.

                                    Ich hatte das in Verbindung mit dem Sainlogic-Adapter mit einem Javascript so gelöst:

                                    var windchill = 13.12 + (0.6215*temp) + ((0.3965*temp) - 11.37)* Math.pow(wind, 0.16);
                                        
                                        if (wind < 5.0 || temp > 10.0 || windchill > temp) windchill = temp;
                                    

                                    Grüße

                                    a200 1 Reply Last reply Reply Quote 1
                                    • a200
                                      a200 @Boronsbruder last edited by

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

                                      Mir ist noch etwas aufgefallen...
                                      Die gefühlte Temperatur stimmt manchmal (soweit ich gesehen hab bei schwachem Wind) nicht (ist höher als die wirkliche).
                                      Meines Wissen nach kann die Formel (siehe Wikipedia) nur bei Windgeschwindigkeiten ab 5km/h und bei Temperaturen unter 10°C angewendet werden.

                                      Ich hatte das in Verbindung mit dem Sainlogic-Adapter mit einem Javascript so gelöst:

                                      var windchill = 13.12 + (0.6215*temp) + ((0.3965*temp) - 11.37)* Math.pow(wind, 0.16);
                                          
                                          if (wind < 5.0 || temp > 10.0 || windchill > temp) windchill = temp;
                                      

                                      Grüße

                                      Das stimmt.

                                      Wie wird der Windchill berechnet?

                                      Die aktuell gültige Formel zur Berechnung des Windchill-Faktors lautet:
                                      Formel zur Berechnung des Windchill-Effekts

                                      Dabei beschreibt Ta die Lufttemperatur in Celsius und v ist die Windgeschwindigkeit in km/h. Die Formel bezieht sich dabei nicht auf eine komplett windstille Umgebung, denn bei Windgeschwindigkeiten unter 1,34 m/s könnte man einen positiven Windchill-Effekt errechnen. Das hat mit der isolierenden Wirkung der hautnahen Luftschicht zu tun, die sich bei Windstille erwärmt und nicht weggetragen wird. Daher wird die Gültigkeit der Formel erst ab einer Windgeschwindigkeit von 5 km/h veranschlagt.

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

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

                                        Daher wird die Gültigkeit der Formel erst ab einer Windgeschwindigkeit von 5 km/h veranschlagt.

                                        Hatte ich auch geflissentlich überlesen 😉
                                        Ich bin von "größer 0km/h" ausgegangen. Ist für die 2.6.0 geändert; fix steht auf GitHub. Einfach die wetterstation.sh austauschen und service neustarten.
                                        Alternativ so um Zeile #206 die "0" durch "5" ersetzen:

                                         if (( $(bc -l <<< "${MESSWERTE[6]} > 5") )); then
                                        
                                        1 Reply Last reply Reply Quote 2
                                        • SBorg
                                          SBorg Forum Testing Most Active @ratte01 last edited by

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

                                          Was stelle ich bei den Punkten 1-7 am Besten ein?

                                          Dazu kommt noch ein WiKi-Artikel, allerdings bin ich gerade etwas "Doku müde" 😉
                                          Die Einstellung gibt es eigentlich nicht, da es vom Datenpunkt und den eigenen Wünschen abhängig ist.
                                          Pauschal ist es aber eher "unsinnig" jeden Wert des entsprechenden DPs loggen zu wollen. Das sind bei einem 30 Sekundenraster rund 2.900 Messwerte pro Tag. Bei der Luftfeuchte bspw. "echter nonsens", denn die ändert sich im Verlauf des Tages nicht alle 30 Sekunden.
                                          Deshalb gebe ich die Empfehlung nur die Änderungen des DPs zu loggen. Will man Lücken in Grafana oä. vermeiden, empfiehlt sich auch ggf. mal das schreiben eines Wertes zu erzwingen (als Beispiel hier mal den Batteriestatus). Die ggf. auftretenden Lücken bei einem längeren Stillstand des Wertes kann man auch in Grafana umgehen.
                                          Die "Vorhaltezeit" richtet sich dann nach den eigenen Wünschen. Brauche ich zB. den Batteristatus länger als 2-3 Tage? Die "Außemtemperatur" wiederum kann für die DPs "Temperatur Min/Max/Avg vor einem Jahr" nur funktionieren wenn ich auch mindestens ein Jahr die Werte logge.
                                          Wichtig ist eigentlich nur den Typ von "Automatic" auf Zahl oder Text umzustellen, sonst kann es beim 1. Start passieren, dass die Datenreihe in Influx anstelle von Zahl als Text angelegt wird. Das lässt sich in Influx später nicht mehr ändern und man muss die gesamte Datenreihe droppen. Grafana kann sonst mit den Daten nicht umgehen. Wenn eine Zahl erwartet wird muss es auch eine Zahl sein und kein Text 😉

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

                                            @sborg Herzlichen dank, das macht das etwas klarer.
                                            Nur wie errät man den richtigen Datentyp? Sehr oft ist es klar, aber z.B. beim Datum?

                                            Jetzt das Selbe für die Statistik.
                                            Die läuft ja nur 1 mal am Tag.
                                            Wenn man da 1 mal am Tag einen Eintrag haben will muss das Häkchen bei "Nur Änderungen aufzeichnen raus" und "trotdem gleiche Werte" auf 86400? Nur ab wann zählt das? Ab dem Zeitpunkt des Eintrages?
                                            Irgendwie nicht sehr intuitiv.
                                            Z.B. die Eistage ändern sich immer Sommer ja nicht, trotzdem wäre so ein Eintrag sinnvoll.
                                            Ich weiss - diese Fragerei.
                                            Danke

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            664
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2875263
                                            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