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.
    • R
      Rushmed Most Active last edited by

      @SBorg Funktioniert der influxdb Teil des Scripts auch mit influxdb 2.x?

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

        @da_woody Dann wohnt dein Haus einfach falsch 😂
        gescheite Wohngegend = gescheites Wetter 😇

        Aber für die Dienste ist eh nur Temperatur, Windstärke und -richtung und Regenmenge interessant. Innerhalb meines Ortes sind 4 Stationen bei WU angemeldet. Außer Temperatur und Regenmenge sind wir uns da schon uneinig... 😉
        ...und die nächste offizielle ist ca. 35km entfernt. Mit deren Messwerte könnte ich bei mir auch nichts anfangen.
        Ach Schitt, ich wohne wohl auch falsch... 😞 😉

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

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

          @SBorg Funktioniert der influxdb Teil des Scripts auch mit influxdb 2.x?

          Ich habe schon in Version ?? (müsste selbst nachschauen, ist aber schon paar Versionen her) Anpassungen für V2 vorgenommen, aber nie offiziell/selbst getestet. Sollte aber "eigentlich" (wie es halt so ist 😉 ) funktionieren.

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

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

            Dann wohnt dein Haus einfach falsch
            Ach Schitt, ich wohne wohl auch falsch...

            uuups.png

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

              Hallo zusammen,
              erstmal vielen Dank an @SBorg für seine Entwicklungsarbeit und den Support hier!

              Ich habe nun auch seit einigen Tagen versucht, das Skript bei mir zum Laufen zu bringen. Scheitere aber leider immer an der Fehlermeldung „Kommunikationsfehler“.

              Zum Setup:
              Wetterstation von Bresser 5-in-1 WLAN
              https://www.bresser.de/Empfehlungslisten/bresser/BRESSER-WLAN-Farbwettercenter-mit-5-in-1-Profi-Sensor.html?mtm_campaign=Doofinder&mtm_kwd=7002585&mtm_source=German&mtm_medium=OnSite&mtm_cid=Germany&mtm_group=SiteSearch

              Es handelt sich dabei um eine Station, die ich meines Wissens mit der WS View App nicht ansprechen kann.
              Daher der Weg über Pi-hole als DNS-Server. Pi-hole läuft bei mir schon längere Zeit sehr stabil als LXC unter Proxmox.
              ioBroker im Übrigen auch, allerdings als VM.

              Als Anleitung für die Einrichtung habe ich neben dem Wiki zum Skript die Anleitung von @XxJooO
              unter https://forum.iobroker.net/topic/41901/wlan-wetterstation-sborg-alternative-installation herangezogen.

              Die Konfiguration habe ich exakt nach Anleitung vollzogen. Der Ping auf rtupdate.wunderground.com kommt auch bei der IP meines Pi-hole an.

              SCR-20220213-fte.png

              Ohne Umleitung sieht der String, der von der Wetterstation an wunderground geschickt wird, wie folgt aus (Passwort und ID gelöscht)
              GET http://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?ID=I*******&PASSWORD=********&action=updateraww&realtime=1&rtfreq=5&dateutc=now&baromin=29.73&tempf=41.7&dewptf=25.7&humidity=53&windspeedmph=1.7&windgustmph=1.7&winddir=158&rainin=0.0&dailyrainin=0.0&indoortempf=75.9&indoorhumidity=44 HTTP/1.1 (v4)

              Formatiert:
              action: updateraww
              realtime: 1
              rtfreq: 5
              dateutc: now
              baromin: 29.73
              tempf: 41.7
              dewptf: 25.7
              humidity: 53
              windspeedmph: 1.7
              windgustmph: 1.7
              winddir: 158
              rainin: 0.0
              dailyrainin: 0.0
              indoortempf: 75.9
              indoorhumidity: 44

              Sieht soweit also gut aus, denke ich.

              Starte ich nun das Skript mit ./wetterstation.sh --debug
              kommt die Verbindung mit dem ioBroker zustande und es dauert dann etwas bis die o.g. Fehlermeldung erscheint:
              SCR-20220213-fwe.png

              Ich habe schon so Einiges probiert. Port in der config und im iobroker geändert, eigenen LXC nur für das Skript eingerichtet, versch. Protokolle in der config ausprobiert etc.

              Für einen Hinweis, wie ich dem Skript mehr Infos zur Art des Kommunikationsfehlers entlocken kann, wäre ich schon mal dankbar. Für eine Lösung natürlich noch mehr 😉
              Sven

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

                @pandor Hallo Sven und danke 🙂

                Das könnte verschiedene Ursachen haben, aber das Problem ist, dass am Rechner mit dem Skript keine Daten ankommen (das Skript ist ein eigener Server der nur auf empfangene Datenpakete lauscht).

                Das könnte wg. des PiHole daran liegen, dass die Station selbst schon Daten an WU schicken kann. Würde ich, falls aktiviert, im Web-Interface der Station deaktivieren (wenn es mal läuft kann man es immer noch wieder aktivieren, zuerst aber mal mögliche Fehlerquellen eliminieren 😉 )
                Dann würde ich auch das Poll-Intervall erhöhen (auch wieder testweise). Fast alle Stationen senden nur im 30-40 Sekunden Takt. Das Skript wartet aber nur zwei Zyklen plus Toleranz ab, bis es dann mit "Kommunikationsfehler" abbricht. 2* Poll + 6 Sekunden = 2 * 16 + 6 = 38 Sekunden bei dir
                Das könnte knapp werden. Nimm mal (testweise) 30 Sekunden.

                Ich bin auch den bequemeren Weg gegangen, gerade hinsichtlich der schnelleren Umstellung, und habe nur den DNS-Eintrag in der Fritz!Box auf meinen PiHole geändert. Das (sollte) funktioniert auch, zumindest fast immer. Ich habe aber zwei oder drei Geräte im Netzwerk die erst richtig funktionieren, wenn ich deren DNS-Eintrag von der Fritz!Box direkt auf den PiHole ändere.

                Skript und PiHole laufen auf dem selben LXC? Sollte so sein.

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

                  @sborg
                  Danke für deine Antwort.
                  Ich habe beides getestet. Skript auf dem LXC des Pi-hole und separat.
                  Aktuell ist es auf dem LXC des Pihole.
                  Das Grundprinzip habe ich, denke ich, verstanden.
                  Ich sniffe mit Debookee im Netzwerk, um zu sehen, ob da überhaupt Daten hin und hergeschickt werden. Wenn ich in der Station die Daten von wunderground rausnehme, kann ich mit Debookee keinen Traffic erkennen.
                  Ich hatte dein Skript so verstanden, dass die Station in jedem Fall Daten an einen externen Anbieter (wunderground) schicken muss und dieser Traffic dann intern über pi-hole umgeleitet wird.

                  Wenn ich mit
                  nc -l -p 80
                  auf dem LXC der Pi-hole (also dem Ziel der DNS-Umleitung) lausche, erhalte ich den String. Die Station sendet dann die folgenden Daten, die das Skript doch eigentlich verarbeiten müsste, oder?

                  GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&action=updateraww&realtime=1&rtfreq=5&dateutc=now&baromin=29.91&tempf=47.1&dewptf=33.8&humidity=60&windspeedmph=8.2&windgustmph=8.9&winddir=135&rainin=0.0&dailyrainin=0.0&indoortempf=74.4&indoorhumidity=47 HTTP/1.1
                  Host:rtupdate.wunderground.com
                  Connection: keep-alive

                  Starte ich kurz danach das Skript (config-Daten habe ich mal auf 30, 40 etc. Sekunden angepasst), kommt nur der Kommunikationsfehler.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    pandor @pandor last edited by

                    @SBorg
                    und mit nc -nlvw 1 -p 80 2>string.txt

                    schreibt er folgendes in die txt:

                    Listening on [0.0.0.0] (family 2, port 80)
                    Connection from 192.168.178.98 49176 received!

                    Also eine Verbindung kommt da zustande.

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

                      @pandor Ich könnte jetzt einfach behaupten: Test bestanden 😇
                      ...in Wahrheit habe ich aus den Augen verloren, dass es eigentlich um PiHole geht. Da hast du das System völlig korrekt verstanden. Natürlich muss dann der WU-Aufruf bleiben, genau die Daten wollen wir ja... 😉

                      Der "Fehler" ist auch recht simpel. Es liegt schlichtweg an deiner Station. Du bist der 1. mit dieser und die anderen verhielten sich bis dato gleich. Deine Station ist nicht so mitteilsam wie die bisherigen.

                      Es gibt zwei Voraussetzungen für eine erfolgreiche Kommunikation:

                      • es muss ein Datenpaket empfangen werden (was bei 99.99% der Fehler das Problem ist. Falsche IP, Port usw.)
                      • das empfangene Datenpaket muss valide sein

                      ...und hier liegen deine 0.01% Fehlerrate. dein Datenpaket wird nicht als valide akzeptiert. Auch hier gelten zwei Voraussetzungen:

                      • es muss bei Protokoll #9 im Datenstring "/weatherstation/updateweatherstation.php?ID=deine_ID" enthalten sein ✔
                      • es muss größer als 400 Zeichen sein ❌

                      Da deine Station nicht die gesprächigste ist, ist dein Datenstring (je nach Anzahl der realen Zeichen vs. ge-xt) so um die 330 Zeichen lang = er wird nicht als valide akzeptiert.

                      Öffne mal die "wetterstation.sub" und suche nach get_DATA
                      Da findest du dann paar Zeilen tiefer

                              #check auf Datenintigrität
                              if [ "$STRLEN" -gt "400" ] && [[ "$DATA" =~ "/weatherstation/updateweatherstation.php?ID=${WS_ID}" ]]; then return 0; else return 1; fi
                              ;;
                      

                      Ändere hier mal die "400" in "250" ab, dann sollte es eigentlich schon funktionieren (falls ja, nehme ich es so für die nächste Version auf).

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

                        Perfekt. Danke! Hat geklappt! 🙂
                        Brauchst du von mir noch irgendwelche Daten zur Station?

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

                          @pandor Supi 🙂
                          Hat die noch eine andere Bezeichnung als "BRESSER WLAN Farbwettercenter mit 5-in-1 Profi-Sensor"? Dann würde ich sie so aufnehmen.
                          ...und wohl zur Änderung am Skript gleich noch die Bezeichnungen von "Saint Logic"-Part in "DNS-Server" oä. abändern.

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

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

                            @pandor Supi 🙂
                            Hat die noch eine andere Bezeichnung als "BRESSER WLAN Farbwettercenter mit 5-in-1 Profi-Sensor"? Dann würde ich sie so aufnehmen.
                            ...und wohl zur Änderung am Skript gleich noch die Bezeichnungen von "Saint Logic"-Part in "DNS-Server" oä. abändern.

                            Es ist exakt diese hier:
                            https://www.bresser.de/Wetter-Zeit/Wettercenter/BRESSER-WLAN-Farb-Wetter-Center-mit-5-in-1-Profi-Sensor-V.html

                            Das Sendeintervall liegt übrigens bei ca. 12 sec.


                            Ergänzung:

                            Der eigentliche Hersteller ist wohl CCL aus China. Bresser vermarktet die Station unter dem eigenen Namen:
                            https://cclel.com/product/c6071a-c3136a/

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

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

                              Das Sendeintervall liegt übrigens bei ca. 12 sec.

                              Da isse ganz schön fix 🙂
                              ...bringt aber auch kein besseres Wetter 😂

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

                                @sborg

                                😀

                                ist wohl bei allen Bresser bzw. CCL (eigentlicher Hersteller s.u.) so.

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

                                  ich hau das wetter.com DingsBumsTeil wieder raus 😂

                                  lt. denen hebt gleich unser Haus ab
                                  8c79658d-7a3e-4a47-b138-148983600bc9-image.png

                                  so schauts aber aus
                                  b281abaa-5645-4205-bf11-2045fe20991f-image.png

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

                                    @negalein Nutzt du noch die ursprüngliche Version, oder eine neuere bei der ich denen die Daten in m/sek schicke?

                                    Böen habe ich zwar aktuell auch heftige, aber die Windgeschwindigkeit liegt lt. Influx binnen der letzten 24h bei 18.3 km/h max.
                                    Kommt zwar nicht ganz hin, aber doch recht nahe:
                                    Bild 1.png

                                    Eine Antwort zur Anfrage nach einer Doku für die API ist auch nie gekommen...

                                    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:

                                      Nutzt du noch die ursprüngliche Version,

                                      Settings V2.11.0

                                      ba9823a4-ca2d-4235-a7b0-ee4641a9e921-image.png
                                      inkl. Stromausfall 😂

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

                                        @negalein Ohne Doku wird es da schwierig, wobei wir eigentlich schon recht nahe dran sind. Warum es aber dann gerade bei dir so viel daneben liegt?

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

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

                                          Warum es aber dann gerade bei dir so viel daneben liegt?

                                          Ja, ist extrem.

                                          Die geänderte Version ist die 2.11.0 oder die 2.11.1?

                                          Wo seh ich, ob die Änderung übernommen wurde?

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

                                            @SBorg
                                            seit den heutigen Stromausfällen aktualisiert ioB nicht mehr.
                                            VM schon neu gestartet.
                                            In WS View werden die Daten aktualisiert.

                                            Wo kann ich noch nachschaun?

                                            dietpi@DietPi:~$ 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 Thu 2022-02-17 19:20:25 CET; 13s ago
                                              Process: 577 ExecStart=/home/iobroker/wetterstation.sh (code=exited, status=217/USER)
                                             Main PID: 577 (code=exited, status=217/USER)
                                            
                                            Feb 17 19:20:25 DietPi systemd[1]: Started Service für ioBroker Wetterstation.
                                            Feb 17 19:20:25 DietPi systemd[577]: wetterstation.service: Failed to determine user credentials: No such process
                                            Feb 17 19:20:25 DietPi systemd[577]: wetterstation.service: Failed at step USER spawning /home/iobroker/wetterstation.sh: No such process
                                            Feb 17 19:20:25 DietPi systemd[1]: wetterstation.service: Main process exited, code=exited, status=217/USER
                                            Feb 17 19:20:25 DietPi systemd[1]: wetterstation.service: Failed with result 'exit-code'.
                                            
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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