Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. WLAN-Wetterstation @SBorg Alternative Installation

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    WLAN-Wetterstation @SBorg Alternative Installation

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

      @sborg
      root@ GL-AR300M:~# nc -lv 80
      listening on 0.0.0.0:44569 ...

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

        @guenter Wie fast zu erwarten war 😉

        Hast du den Port des Web-Servers/GUI von Port 80 verlegt? Denn WebIF von OpenWRT (müsste IMO auf Port 80 laufen) und per Display/Gateway dann per URL auf Port 80 des OpenWRT funktioniert nicht. Beim piHole verlegen wir deswegen dessen WebIF-Port 80 --> 81 und muss es dann halt mit http://x.x.x.x:81 aufrufen, aber anders geht es nicht.

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

          @sborg Hört sich gut an.
          Habe in lighttpd.conf von Port 80 auf 81 verlegt.
          Die Oberfläche ist jetzt auf x.x.x.x:81 zu erreichen.
          Aber unser Ziel haben wir noch nicht erreicht.
          Immer noch
          root@ GL-AR300M:~# nc -lv 80
          listening on 0.0.0.0:44569 ...

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

            @guenter-0 sagte in WLAN-Wetterstation @SBorg Alternative Installation:

            Aber unser Ziel haben wir noch nicht erreicht.

            Das war auch nur die halbe Miete. Wenn man den Port bei OpenWRT hätte nicht umlegen können, bräuchten wir auch nicht weiter machen 😉

            Es kann noch nicht funktionieren, da dir jetzt der DNS einen Strich durch die Rechnung macht. Die Wetterstation schickt die Daten nicht an deinen Router (an Port 80), sondern fragt bei deinem DNS-Server nach welche IP zu http://wunderground.com gehört und schickt die Daten dort hin. Du musst dem DNS-Server also sagen "schicke alles was nach http://xyz.xx soll zu deinem OpenWRT".
            Bei OpenWRT bin ich über das genaue "wie" außen vor, es könnte aber genügen wenn du nur die hosts-Datei editierst: sudo nano /etc/hosts (oder anderen Editor)
            Dort biegst du nun die HTTP-Adresse mittels folgendem Eintrag

            127.0.0.1 rtupdate.wunderground.com
            

            um. Vorher ging ein ping rtupdate.wunderground.com an eine IP ins WWW, jetzt sollte sie auf "127.0.0.1" (=dein OpenWRT-Router) laufen.

            G 3 Replies Last reply Reply Quote 0
            • G
              guenter- @SBorg last edited by

              @sborg /etc/hosts ergänzt --> ping funktioniert
              aber das war es noch nicht, noch eine Möglichkeit?

              1 Reply Last reply Reply Quote 0
              • G
                guenter- @SBorg last edited by

                @sborg OpenWrt.JPG

                1 Reply Last reply Reply Quote 0
                • G
                  guenter- @SBorg last edited by

                  @sborg Bei der DNS Adresse, die Fritzbox eintragen?

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

                    @guenter Die Frage ist: wer ist bei dir der DNS-Server? Vermutlich die Fritte? Dann landet natürlich die DNS-Anfrage vom Display bei der Fritte und nicht beim OpenWRT. Kann OpenWRT als DNS-Server fungieren? Sollte IMO gehen, ist ja eine Router-Software, zumal er ja "eigenen DNS-Server" anbietet.

                    Dann müsste, wie du bereits vermutet hast, die IP der Fritz!Box unter "Eigenen DNS-Server" und am Display/Gateway dann die "192.168.0.196" vom OpenWRT als DNS-Adresse eingetragen werden.

                    Dann fragt er (Display) für jede Adresse zuerst den OpenWRT an und teilt ihm die IP des OpenWRT als Ziel an. Es kann nur sein, dass du in der Hosts-Datei dann die OpenWRT-IP "192.168.0.196" anstelle der Localhost "127.0.0.1" angeben musst.
                    Diese "Verbiegung" gilt dann auch nur für Netzwerk-Geräte die als DNS-Server den OpenWRT nutzen/eingetragen haben. Alle anderen nutzen nach wie vor dann die Fritz!Box 🙂

                    G 2 Replies Last reply Reply Quote 0
                    • G
                      guenter- @SBorg last edited by

                      @sborg Info

                      • habs noch nicht hinbekommen
                      • brauche neuen OpenWRT Router der alte will nicht mehr
                        bis bald
                      1 Reply Last reply Reply Quote 0
                      • G
                        guenter- @SBorg last edited by guenter-

                        @sborg Habe den OpenWRT GL-AR300M wieder neu flashen können.
                        /etc/hosts (192.168.x.x Adresse des Iobrokers) hinzugefügt und etc/lighttpd/lighttpd.conf (Port 80 auf 85) umgelegt.
                        Die Grundeinstellungen des GL-AR300M wurden beibehalten.
                        Host Lighttpd.conf.JPG

                        Das Script läuft auf dem Raspberry gemeinsam mit dem Iobroker, die Verbindung zwischen Script und Iobroker ist hergestellt und tut ihren Dienst.
                        Die Daten an rtupdate.wunderground.com kommen hier an.

                        Mit
                        pi@......: /.../$ sudo ./wetterstation.sh --debug ist die Welt in Ordnung

                        Mit
                        pi@......: /.../$ ./wetterstation.sh --debug kommt Kommunikationsfehler.

                        Netcat:
                        pi@......: /.../$ sudo nc -lv 80 --> ist ok
                        pi@......: /.../$ nc -lv 80 --> nc: permission denied

                        pi@......: /.../$ sudo systemctl status wetterstation
                        bringt folgendes Ergebnis:
                        status.JPG

                        Wie bekomme ich Zugriff auf den Port 80
                        Was besagt die Fehlermeldung
                        Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                        Active: failed (Result: exit-code) since Wed 2023-01-18 12:02:31 CET; 1h 20min ago
                        Process: 484 ExecStart=/home/iobroker/script/wetterstation.sh (code=exited, status=1/FAILURE)]
                        Main PID: 484 (code=exited, status=1/FAILURE)

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

                          @guenter Auch wenn es erst mal nicht so aussieht, sieht jetzt gut aus 🙂

                          Bei vielen Linux-Distris benötigen Ports <1024 root-Rechte, deswegen funktioniert alles was du probierst dann auch mittels "sudo".
                          Du kannst nun zwei Wege gehen:

                          • dem netcat quasi root-Rechte einräumen
                          • Port 80 "nach oben verlegen" wo keine root-Rechte mehr nötig sind

                          Variante "nc" mittels setcap:

                          sudo setcap CAP_NET_BIND_SERVICE=+eip /bin/nc.openbsd
                          

                          Hier muss nur der Pfad zum "nc" angegeben werden (sollte oben eigentlich schon stimmen), allerdings kein Symlink sondern wirklich zur bin vom "nc".


                          Variante Port verlegen mittels IP-Tables:

                          sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 1080
                          

                          Hiermit wird der Port 80 auf den Port 1080 geroutet. Noch in der wetterstation.conf wieder auf Protokoll 1|2 umstellen (Ecowitt ist einfach besser) und den Port dort auf bspw. die "1080" von oben ändern.
                          Dann sollte sich der Service auch korrekt starten lassen, ....hoffentlich 😎


                          Aus den fehlenden root-Rechten resultiert dann beim Service auch der Fehler 😉

                          G 1 Reply Last reply Reply Quote 0
                          • G
                            guenter- @SBorg last edited by

                            @sborg sagte in WLAN-Wetterstation @SBorg Alternative Installation:

                            dem netcat quasi root-Rechte einräumen --> scheint zu laufen
                            Port 80 "nach oben verlegen" wo keine root-Rechte mehr nötig sind --> hat nicht funktioniert ?
                            wäre aber sicher die bessere Lösung
                            bei nc -lv 1080 kommt nichts an
                            😳 Danke bis hier her

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

                              @guenter sagte in WLAN-Wetterstation @SBorg Alternative Installation:

                              Port 80 "nach oben verlegen" wo keine root-Rechte mehr nötig sind --> hat nicht funktioniert ?

                              Gedacht, und dann doch falsch gedacht... 😕

                              Die Variante ist für "externe" Zugriffe. Wie ich aber eben deinen "nc"-Aufruf sah, viel es wie Schuppen von den Haaren. Es muss doch die "localhost"-Variante sein, da wir ja auf dem gleichen Host arbeiten...

                              Der sollte dann funktionieren:

                              sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 1080
                              
                              XxJooO G 4 Replies Last reply Reply Quote 0
                              • XxJooO
                                XxJooO @SBorg last edited by XxJooO

                                @sborg,

                                hallo, jetzt brauche ich doch auch nochmal Hilfe. Ich musste meinen Proxmox LXC neu aufsetzen und den PiHole und Wetterstation neu installieren. Beim

                                ./wetterstation.sh --debug
                                

                                kommen Daten:

                                Screenshot 2023-01-19 054916.jpg

                                Nach Aktivierung des Service kommen allerdings keine Daten mehr.

                                systemctl status wetterstation
                                

                                bringt folgenden Fehler:

                                root@PiHole:/home/Wetterstation# systemctl status wetterstation
                                * wetterstation.service - Service f<C3><BC>r ioBroker Wetterstation
                                     Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                     Active: active (running) since Wed 2023-01-18 19:13:48 UTC; 9h ago
                                   Main PID: 2366 (wetterstation.s)
                                      Tasks: 4 (limit: 37948)
                                     Memory: 6.3M
                                        CPU: 8h 52min 33.956s
                                     CGroup: /system.slice/wetterstation.service
                                             |-   2366 /bin/bash /home/Wetterstation/wetterstation.sh
                                             |-2304636 /bin/bash /home/Wetterstation/wetterstation.sh
                                             |-2304638 /bin/bash /home/Wetterstation/wetterstation.sh
                                             `-2304639 /bin/bash /home/Wetterstation/wetterstation.sh
                                
                                Jan 19 04:52:52 PiHole wetterstation.sh[2304462]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304480]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304498]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304516]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304534]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304552]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304570]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304588]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304606]: (standard_in) 1: syntax error
                                Jan 19 04:52:53 PiHole wetterstation.sh[2304624]: (standard_in) 1: syntax error
                                

                                Leider reichen meine Linux-Kenntnisse wieder nicht, um den Fehler einzugrenzen. Hast Du einen raschen Tipp?

                                Vielen Dank
                                Jo

                                PS: bitte weiter lesen...

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

                                  @sborg,

                                  Nachtrag: ich vermute, wie so häufig, ein Rechteproblem. Ich habe den alten Container nochmal installiert und den Inhalt der Datei

                                  /etc/systemd/system/wetterstation.service
                                  

                                  angesehen. In der alten steht

                                  [Unit]
                                  Description=Service für ioBroker Wetterstation
                                  
                                  [Service]
                                  ExecStart=/home/Wetterstation/wetterstation.sh
                                  
                                  [Install]
                                  WantedBy=multi-user.target
                                  

                                  und in der neuen steht

                                  [Unit]
                                  Description=Service für ioBroker Wetterstation
                                  
                                  [Service]
                                  User=root
                                  Group=root
                                  ExecStart=/home/Wetterstation/wetterstation.sh
                                  
                                  [Install]
                                  WantedBy=multi-user.target
                                  

                                  Wenn ich nun in der neuen die Einträge für User und Group entferne und neu boote, dann bringt

                                  systemctl status wetterstation
                                  

                                  offensichtlich korrekte Ausgaben und es werden einmalig Werte zu ioBroker geschickt. Dann aber nicht mehr und die erneute Prüfung bringt dann wiederum einen Fehler

                                  root@PiHole:~# systemctl status wetterstation
                                  * wetterstation.service - Service f<C3><BC>r ioBroker Wetterstation
                                       Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                       Active: active (running) since Thu 2023-01-19 07:14:06 UTC; 20min ago
                                     Main PID: 91 (wetterstation.s)
                                        Tasks: 5 (limit: 37948)
                                       Memory: 13.6M
                                          CPU: 30.998s
                                       CGroup: /system.slice/wetterstation.service
                                               |-   91 /bin/bash /home/Wetterstation/wetterstation.sh
                                               |-14817 /bin/bash /home/Wetterstation/wetterstation.sh
                                               |-14818 timeout 66 nc -nlvw 1 -p 80
                                               |-14819 sed -n 1 p
                                               `-14820 nc -nlvw 1 -p 80
                                  
                                  Jan 19 07:14:06 PiHole systemd[1]: Started Service f<C3><BC>r ioBroker Wetterstation.
                                  Jan 19 07:14:07 PiHole wetterstation.sh[141]: Connection to 192.168.178.6 8087 port [tcp/*] succeeded!
                                  Jan 19 07:15:11 PiHole wetterstation.sh[1208]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                  Jan 19 07:15:11 PiHole wetterstation.sh[1211]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                  Jan 19 07:30:11 PiHole wetterstation.sh[11577]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                  Jan 19 07:30:11 PiHole wetterstation.sh[11580]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                                  

                                  Somit leider noch kein Erfolg. Das Rechteproblem hat mit Sicherheit damit zu tun, dass es nicht läuft...

                                  PS: bitte weiter lesen...

                                  Thomas Braun 1 Reply Last reply Reply Quote 0
                                  • XxJooO
                                    XxJooO @SBorg last edited by XxJooO

                                    @sborg,

                                    Ok, ich berichte einfach mal weiter.

                                    Aus irgendeinem Grund habe ich unter den Netzwerk-Einstellungen von Proxmox den DNS falsch eingestellt. Jetzt kommen Daten in ioBroker.

                                    Aber um es weiter strange zu machen, kommen die Daten, obwohl unter WS_poll=30 eingestellt ist, nur jede Minute. Auch eine Änderung von WS_poll=20 bringt hier keine Änderung...

                                    Noch ein letzter Tipp, woran das liegt? Vor der Änderung bzw. dem neu Aufsetzen des Containers unter Proxmox kamen die Daten immer im Abstand von 30 Sekunden.

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

                                      @xxjooo "User + Group" wird automatisch mit dem derzeit aktuell eingeloggtem User angelegt. Da warst du wohl als root eingeloggt. Eigentlich sollte es im User-Context laufen, da es keinerlei root-Rechte braucht.

                                      "WS_POLL" ist ein Relikt aus den ersten Versionen und wird aktuell nur noch dazu benutzt, wie lange auf ein Datenpaket vom Display/Gateway gewartet wird: 2x WS_POLL + 6 Sekunden (bei WS_POLL=30 also 66 Sekunden). Kommt in dieser Zeit kein valides Datenpaket wird der interne Fehlerzähler um eins erhöht. Bei >=10 gibt es dann den "_Kommunikationsfehler". Zwischenzeitlich korrekte Pakete senken den Fehlerzähler wieder um eins.

                                      Das Skript wartet also bis die Station was sendet(egal wann und unabhängig vom WS_POLL). Entweder geht jedes 2. Datenpaket verloren oder du hast das Sendeintervall der Station auf 60 Sekunden stehen.

                                      XxJooO 1 Reply Last reply Reply Quote 0
                                      • Thomas Braun
                                        Thomas Braun Most Active @XxJooO last edited by

                                        @xxjooo sagte in WLAN-Wetterstation @SBorg Alternative Installation:

                                        ich vermute, wie so häufig, ein Rechteproblem

                                        root@PiHole:~#
                                        

                                        Und da wunderst du dich über 'Rechteprobleme'? Die Eier legst du dir doch selber durch das Herumgeturne als root.

                                        XxJooO 1 Reply Last reply Reply Quote 1
                                        • G
                                          guenter- @SBorg last edited by

                                          @sborg
                                          iptables, habe ich auf meinem Raspberry nicht am laufen. Bin auf der Suche nach einer guten Anleitung.
                                          Sorry

                                          SBorg 1 Reply Last reply Reply Quote 0
                                          • XxJooO
                                            XxJooO @Thomas Braun last edited by XxJooO

                                            @thomas-braun,

                                            ich kenne viele Deiner Beiträge zu dem Thema und - tatsächlich stimme ich Dir voll und ganz zu. Allerdings ist man häufig faul und viele Dinge sind einfach plötzlich einfacher. Ich nutze z.B. FileZilla, um über SSH auf die Maschine zuzugreifen und um von meinem Windows-Rechner Files dahin zu schieben, oder von da zu holen. Und nach meiner Erfahrung muss ich mich als root auf der Maschine via SSH und FileZilla anmelden, um so was machen zu können, sonst kann ich mich nicht anmelden. Letzteres war eigentlich immer mein Hintergrund, dass ich Dinge als root auf den Weg gebracht habe...

                                            Du bist in diesem Forum der viel gefragteste Linux-König und ich respektiere Deine Meinung. Allein bin ich leider schon zu alt, um alle Feinheiten wie mein oben beschriebenes Problem schnell zu umschiffen - und deshalb einfach wahrscheinlich zu bequem.

                                            Ich möchte kein Verständnis von Dir, sondern erkläre Dir nur meinen Hintergrund.

                                            Und als kleines PS: Es war kein Problem der Rechte...

                                            Thomas Braun Negalein 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            578
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            alternative linux shell-script wetterstation wlan-wetterstation
                                            9
                                            41
                                            6970
                                            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