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

                        Keine Werbung, Affiliate, Provision etc. oä., aber aktuell gibt es die Eurochron EFWS 2900 Wetterstattion wieder im Angebot bei Völkner für 120,- € : https://www.voelkner.de/products/981930/Eurochron-EFWS-2900-Funk-Wetterstation-Vorhersage-fuer-12-bis-24-Stunden.html

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

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

                          Nur wie errät man den richtigen Datentyp? Sehr oft ist es klar, aber z.B. beim Datum?

                          Genau das ist ein schlechtes Beispiel 😉
                          Pauschal ist alles mit einem Punkt und Ziffern als Zahl zu sehen. Punkt da wir hier amerikanische Schreibweise haben: 14.36 (°C)
                          Wenn ein Buchstabe drin vorkommt ist es Text.
                          Eine IP 192.168.4.1 ist ebenfalls Text (?), da eine Zahl keine mehrere Punkte enthalten darf.
                          Tja, Datum ist jetzt so ein Ding. Da muss man differenzieren. Wird es nur als Datum angezeigt oder ist es wirklich ein Datum?
                          ??? verstehe ich nicht, Datum und dann doch nicht Datum ?
                          Meistens wird ein Datum als Unix-Timestamp (vergangene Sekunden seit dem 01.01.1970) dargestellt. So kann man ziemlich komfortabel mit einem Datum rechnen, allerdings kann keiner so ad hoc anhand der ellenlangen Zahl ein Datum erkennen. Deswegen bietet der ioB auch die Möglichkeit den Timestamp als lesbares Datum darzustellen. Man "sieht" also ein Datum, nur ist es wegen des Timestamps tatsächlich eine Zahl 🙃

                          Für "meinen" Part (also Wetterstation) kann ich dir aber mitteilen, dass alles was Datum ist tatsächlich Text ist.

                          Ab wann das loggen bei einem erzwungen Schreiben zählt kann ich dir leider nicht beantworten, dass wäre eine Frage an die Entwickler. IMO aber bei laufendem Adapter ab jetzt plus Wert, bzw. dann ab Adapterstart + Wert

                          Aber die Statistik brauchst du eigentlich nicht zu loggen, die Werte liegen alle vor (bei Option "Autodelete" solange wie du die Monate eingestellt hast). Warte mal den 01. April ab (nein, kein Aprilscherz), denn am Monatsersten werden die Monatswerte gespeichert, dann siehst du unter DP "Data" die alten Werte und kannst darauf auch zugreifen. Analog am 01.01. dann auf die Jahreswerte. Kannst du dir auch dann über das JS-Skript von @liv-in-sky ansehen:
                          Bild 1.png
                          Bild 1.png

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

                          Ich weiss - diese Fragerei.

                          Dann die obligatorische Frage: wozu sonst ein Forum? (auch wenn es aktuell bei mir mal länger dauert, da ich derzeit nicht unbedingt täglich hier unterwegs bin)

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

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

                            wozu
                            Dann gleich noch eine Frage 😂
                            Warum eigentlich der Umweg vom Shellscript über iobroker in die influx DB?
                            Für mich stellt es sich derzeit so dar, dass der iobroker nur zum Datenspeichern verwendet wird. Übersehe ich da etwas?
                            Danke

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

                              @ratte01 Zum Teil ja, wenn du quasi die Wetterstation nur in Grafana abbildest. Dafür ist das Skript aber ursprünglich nicht gedacht. Ohne den Umweg per ioB hast du halt keine Werte für die VIS und eben das wofür ich es eigentlich entwickelt habe, nämlich Werte für den ioB:

                              • Wind > xy km/h --> Markise einfahren
                              • Regenmenge > ... --> Bewässerung einstellen
                              • Temp + Sonneneinstrahlung > ... --> Beschattung mittels Rollläden aktivieren
                              • Luftfeuchte > ...% --> Belüftung einstellen
                              • ...
                              W R 2 Replies Last reply Reply Quote 0
                              • W
                                west @SBorg last edited by west

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

                                Keine Werbung, Affiliate, Provision etc. oä., aber aktuell gibt es die Eurochron EFWS 2900 Wetterstattion wieder im Angebot bei Völkner für 120,- € : https://www.voelkner.de/products/981930/Eurochron-EFWS-2900-Funk-Wetterstation-Vorhersage-fuer-12-bis-24-Stunden.html

                                Die sieht so aus wie von Sainlogic

                                Habe jetzt mal die intervall auf 16 sec. gestellt.

                                @ratte01
                                Ich hole auch meine Daten auch von iobroker ab.

                                1 Reply Last reply Reply Quote 0
                                • P
                                  Protheus last edited by Protheus

                                  Hi,

                                  ich hätte da mal eine kurze Frage (ohne die ganzen 2420 Einträge gelesen zu haben 🙂 )

                                  Ich habe mir eine dnt Wifi Weatherscreen Pro zugelegt die ja von diesem Skript auch unterstützt werden soll.
                                  Naja ich scheitere bereits an der Anbindung an WS View...

                                  Keine der angezeigten WS passt zu meiner bzw. weiß ich nicht, wie ich in diesen Kopplungsmodus kommen soll

                                  photo_2021-03-25_22-00-33.jpg

                                  Kann da evtl. wer helfen?

                                  Grüße
                                  Protheus

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Protheus last edited by

                                    Hi,

                                    ich habs nun manuell in der WS eingetragen.
                                    Bei wunderground.com kommen Daten an.

                                    Das Script bekommt nun zwar auch einen Connect aber dann gleich danach Fehler (Siehe Anhang):

                                    Screenshot - 2021-03-26 01_26_28-Remote Desktop Manager Free.png

                                    Ich habe die SUB Datei auch noch mal mit einer neu heruntergeladenen Version ersetzt aber der Fehler bleibt.

                                    Dieses

                                    no connection : Connection timed out
                                    listening on [any] 9999 ...
                                    

                                    hatte ich vorhin ebenfalls nicht.
                                    Ich blicks nicht mehr

                                    Hier noch meine wetterstation.conf
                                    wetterstation.conf

                                    Grüße
                                    Protheus

                                    P.S:
                                    Dieses

                                    from (UNKNOWN) [10.10.80.180]
                                    

                                    irritiert mich auch etwas, da per nslookup definitiv ein sauberer DNS-Eintrag zurück kommt

                                    nslookup 10.10.80.180
                                    180.80.10.10.in-addr.arpa       name = wetterstation.meineinternedomain.de.
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      Petersilie @Protheus last edited by

                                      @protheus Hallo,

                                      ich habe die Kopplung mit dem WLAN direkt am Display in den Einstellungen vorgenommen. Dort das WLAN auswählen und das Passwort eingeben. Dann sollte die Station unter Device List in der App direkt auftauchen.

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

                                        @sborg
                                        Ah, OK. Verstehe.
                                        Dann noch eine Frage: Warum wird das über das Shellscript als Server gemacht? Ich habe mich jetzt mal gespielt und das Script "/weatherstation/updateweatherstation.php" gemacht und die Daten werden da wunderbar ausgegeben.
                                        Hat das Kompatibilitätsgründe mit anderen Stationen?

                                        Danke

                                        SBorg 1 Reply Last reply Reply Quote 0
                                        • P
                                          Protheus @Petersilie last edited by Protheus

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

                                          ich habe die Kopplung mit dem WLAN direkt am Display in den Einstellungen vorgenommen. Dort das WLAN auswählen und das Passwort eingeben. Dann sollte die Station unter Device List in der App direkt auftauchen.

                                          Wow, Danke!
                                          Im WLAN war es bereits drin.

                                          Allerdings sind die Geräte bei mir isoliert (also WLAN-Gerät kann nicht mit WLAN-Gerät kommunizieren - Nur mit LAN-Gerät oder Internet geht). Das hatte ich vergessen/übersehen.

                                          Nach dem abschalten der Isolierung, tauchte die WS tatsächlich ohne weiteres auf.

                                          Leider hat das mein Skript-Problem nicht behoben.

                                          EDIT: OK diese Meldung (listening on [any] 9999 ... no connection : Connection timed out) ist wohl der Skript-Modus (ohne Werteanzeige)
                                          Ich habe hier das --debug vergessen.
                                          Allerdings bekomme ich mit --debug die Meldung "Kommunikationsfehler!"

                                          • Rest-API ist aber erreichbar
                                          • Port 9999 ist frei

                                          Beide Geräte stehen auch im selben LAN, also kann da auch die Firewall nichts blocken.

                                          Grüße
                                          Protheus

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

                                            @protheus So, mal wieder Online... 🙂
                                            Also... sieht leider nach wie vor nach einem Netzwerkproblem aus. Das Skript steigt einfach aus weil es keine Daten bekommt (daher auch "Kommunikationsfehler").

                                            Zum testen ändere in der *.conf zuerst mal den "Poll-Interval" auf 30 Sekunden. Das gibt dem Skript Zeit (~ 1 Minute) mal ein Datenpaket zu empfangen (die meisten Stationen senden so im 30-40 Sekunden Raster). Bei einem 16er Intervall muss dann innerhalb von 38 Sekunden ein valides Datenpaket kommen, dass kann, gerade beim testen, grenzwertig sein.
                                            Wenn es dann läuft und die Station tatsächlich im 16 Sekundenraster sendet, spricht dann auch nichts dagegen es wieder auf 16 einzustellen.

                                            Dann teste mal mit ./wetterstation.sh --data
                                            Da muss ein Datenpaket ankommen, sonst brauchst du rund um das Skript erst gar nicht weiter suchen. Fehler sehe ich so keinen. Kannst du von dem Rechner aus auf dem das Skript laufen soll das Display anpingen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            814
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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