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

                                  @negalein Die 2.11.0, die 2.11.1 ist nur für Protokoll #9 per DNS-Server interessant, also weder WU noch Ecowitt.
                                  Da das im Skript verankert ist, läuft es auch ohne jegliches zu tun bzw. Konfiguration.


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

                                  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)

                                  Der Service startet auch nicht. Er meckert an, dass es den User nicht gibt.
                                  Was steht denn bei User + Group bei cat /etc/systemd/system/wetterstation.service per Terminal?

                                  IMHO hat es da die SD-Karte zerbröselt.

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

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

                                    Was steht denn bei User + Group bei cat /etc/systemd/system/wetterstation.service per Terminal?

                                    
                                    dietpi@DietPi:~$ cat /etc/systemd/system/wetterstation.service
                                    [Unit]
                                    Description=Service für ioBroker Wetterstation
                                    
                                    [Service]
                                    ExecStart=/home/iobroker/wetterstation.sh
                                    User=Dietpi
                                    Group=Dietpi
                                    
                                    [Install]
                                    WantedBy=multi-user.target
                                    

                                    IMHO hat es da die SD-Karte zerbröselt.

                                    ist ne HDD in der Syno 🙂

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

                                      @negalein Dann hast du ev. sogar Glück und es hat nichts schlimmes erlegt 😉

                                      Aber irgendwie stimmt da was nicht (logisch, sonst würde es ja auch laufen...)
                                      Siehst du die Diskrepanz zwischen #2, #8 und #9?
                                      Dein User heißt dietpi (Kontrolle: whoami per Terminal), eingetragen bei User und Gruppe ist aber Dietpi. Das dürfte eigentlich so nie funktioniert haben, außer du hättest den Usernamen oder die Einträge erst kürzlich geändert. sudo nano /etc/systemd/system/wetterstation.service, bei #8 + #9 Dietpi klein schreiben, speichern und nochmal starten versuchen. Sicherheitshalber sudo nano systemctl stop wetterstation, dann sudo nano systemctl start wetterstation. Dann nach ~30 Sekunden mal systemctl status wetterstation

                                      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:

                                        Aber irgendwie stimmt da was nicht

                                        alles gemacht.
                                        Aber es will nicht 😞

                                        dietpi@DietPi:~$ sudo nano /etc/systemd/system/wetterstation.service
                                        dietpi@DietPi:~$ sudo nano systemctl stop wetterstation
                                        dietpi@DietPi:~$ sudo systemctl stop wetterstation
                                        Warning: The unit file, source configuration file or drop-ins of wetterstation.service changed on disk. Run 'systemctl daemon-reload' to reload units.
                                        dietpi@DietPi:~$ sudo systemctl start wetterstation
                                        Warning: The unit file, source configuration file or drop-ins of wetterstation.service changed on disk. Run 'systemctl daemon-reload' to reload units.
                                        dietpi@DietPi:~$ systemctl daemon-reload
                                        Failed to connect to bus: Datei oder Verzeichnis nicht gefunden
                                        dietpi@DietPi:~$ sudo systemctl status wetterstation
                                        Warning: The unit file, source configuration file or drop-ins of wetterstation.service changed on disk. Run 'systemctl daemon-reload' to reload units.
                                        ● 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 23:59:17 CET; 27s ago
                                          Process: 824 ExecStart=/home/iobroker/wetterstation.sh (code=exited, status=217/USER)
                                         Main PID: 824 (code=exited, status=217/USER)
                                        
                                        Feb 17 23:59:17 DietPi systemd[1]: Started Service für ioBroker Wetterstation.
                                        Feb 17 23:59:17 DietPi systemd[824]: wetterstation.service: Failed to determine user credentials: No such process
                                        Feb 17 23:59:17 DietPi systemd[824]: wetterstation.service: Failed at step USER spawning /home/iobroker/wetterstation.sh: No such process
                                        Feb 17 23:59:17 DietPi systemd[1]: wetterstation.service: Main process exited, code=exited, status=217/USER
                                        Feb 17 23:59:17 DietPi systemd[1]: wetterstation.service: Failed with result 'exit-code'.
                                        dietpi@DietPi:~$ sudo systemctl restart wetterstation
                                        Warning: The unit file, source configuration file or drop-ins of wetterstation.service changed on disk. Run 'systemctl daemon-reload' to reload units.
                                        dietpi@DietPi:~$
                                        

                                        Edit:
                                        es dürfte wieder passen 🙂

                                        dietpi@DietPi:~$ sudo systemctl daemon-reload
                                        dietpi@DietPi:~$ sudo systemctl stop wetterstation
                                        dietpi@DietPi:~$ sudo systemctl start wetterstation
                                        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: active (running) since Fri 2022-02-18 00:01:56 CET; 6s ago
                                         Main PID: 856 (wetterstation.s)
                                            Tasks: 5 (limit: 264)
                                           Memory: 4.1M
                                           CGroup: /system.slice/wetterstation.service
                                                   ├─856 /bin/bash /home/iobroker/wetterstation.sh
                                                   ├─921 /bin/bash /home/iobroker/wetterstation.sh
                                                   ├─922 timeout 38 nc -nlvw 1 -p 1080
                                                   ├─923 sed -n 1 p
                                                   └─924 nc -nlvw 1 -p 1080
                                        
                                        Feb 18 00:01:56 DietPi systemd[1]: Started Service für ioBroker Wetterstation.
                                        Feb 18 00:01:57 DietPi wetterstation.sh[856]: Connection to 10.0.1.202 8087 port [tcp/*] succeeded!
                                        Feb 18 00:01:58 DietPi wetterstation.sh[856]: jq: error (at <stdin>:7): Cannot iterate over null (null)
                                        Feb 18 00:01:58 DietPi wetterstation.sh[856]: jq: error (at <stdin>:7): Cannot iterate over null (null)
                                        dietpi@DietPi:~$
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @SBorg last edited by

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

                                          Die 2.11.0, die 2.11.1 ist nur für Protokoll #9

                                          soll ich dir mal die Files schicken, damit du drüberschaun kannst?

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

                                            @negalein Sorry, hatte ich so nicht auf dem Schirm, dass man auch bei einer Änderung des Users den Daemon neu laden muss. Die Lösung ist dann auch bei deinem Edit zu finden:

                                            Per systemctl etwas steuern/ändern darf nur der root, kein "normalo"-User. Der darf nur "status", sonst nix 😉
                                            Deswegen brachte dann sudo systemctl daemon-reload den gewünschten Erfolg ("sudo" fehlte beim Erstversuch).


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

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

                                            Die 2.11.0, die 2.11.1 ist nur für Protokoll #9

                                            soll ich dir mal die Files schicken, damit du drüberschaun kannst?

                                            Nee, brauchst du nicht, da sehe ich auch nichts und ist identisch mit den GitHub-Files, außer deiner conf. Da wäre dann aber nur die wetter.com-Zugangsdaten von Relevanz. Die mag ich aber gar nicht haben, brauche ich auch nicht, denn pauschal Daten senden kannst du ja, also stimmen die auch.

                                            Ohne deren Doku ist es aber nur fischen im trüben. Die sind etwas eigen mit ihrer API (man denke nur an Sommer-/Winterzeit 😉 ). Ich könnte mir fast vorstellen, dass die Geo-Location betreiben, was dann bei dir zum tragen käme (ohne jegliche Wertung): @Negalein = Ausland = Units automatisch zB. in mph
                                            Das würde erklären warum es bei mir ganz leidlich funktioniert und bei dir ziemlich schräg daneben liegt. Ich nutze aktuell genau alles gleich wie jeder hier, selbe Version, selbe Daten, nur zwischen uns beiden unterschiedliche Länder.
                                            Schreib du denen doch ggf. mal an ihre Support-Adresse. Würde Ihnen gerne die Messdaten meiner Wetterstation übermitteln, finde aber leider keine Dokumentation zur API. Wo finde ich denn diese?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            685
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            142
                                            5472
                                            3256517
                                            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