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.
    • Negalein
      Negalein Global Moderator @SBorg last edited by

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

      ..und Schal: es braucht sich wirklich keiner deswegen genötigt zu sehen etwas spenden zu müssen. Ich will mich einfach nur bedanken.

      Naja, das mach ich gerne. Gute Arbeit soll belohnt werden.
      @liv-in-sky dürfte sich auch mal ein Kaffeekonto zulegen. Wäre längst überfällig! 😉

      1 Reply Last reply Reply Quote 2
      • Rene55
        Rene55 last edited by

        @liv-in-sky Hi, ich hab dein (neues) Script auch im Einsatz. In der VIS ist bei mir die Tabelle ganz rechts. kann ich die irgendwie besser/schöner positionieren? Oder hab ich da was verbaselt?
        LG Rainer

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Rene55 last edited by

          @rene55

          hast du mal ein bild, was du meinst

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

            @liv-in-sky Hier ein Screenshot. Bitte nicht über die angezeigten Daten wundern. Meinem NUC war es gestern nicht so gut😕 :Screen.png

            Sollten wir hierzu den Kanal wechseln?

            Negalein liv-in-sky 2 Replies Last reply Reply Quote 0
            • Negalein
              Negalein Global Moderator @Rene55 last edited by

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

              Hier ein Screenshot

              Widgets markieren und beliebig verschieben

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

                @Negalein Danke. Ich hab mit der VIS noch nicht viel am Hut. Dass das so einfach ist - manOman, ich muss noch viel lernen.

                1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Rene55 last edited by

                  @rene55 du meinst rechts auf der seite - und nicht innerhalb der tabelle

                  das macht man eigentlich durch die breite des widgets - hast du da was geändert - oder evtl hast du beim widget setting was eingestellt

                  im script gibt es nur const weite - und die sollte auto sein

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

                    @liv-in-sky Ja genau, das meinte ich. @Negalein hat mir schon geholfen, die Tabelle und die Steuerelemente nach links zu rücken. Geändert habe ich nur die Datenpunkte, die bei mir alle in 0_userdata liegen. Das hat (erstaunlich) gut funktioniert. Auch von mir nochmal Danke für das Script.

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      Langer @Rene55 last edited by

                      @SBorg
                      @Thomas-Braun

                      Ich bin es leid, das ich immer Problem mit den Rechten bekomme.
                      Nun meine Bitte:
                      Ich möchte alles neu aufsetzten und beschreibe den Weg den ich gehe. Sollte hier schon ein Fehler bestehen, bitte ich um Hilfe.
                      Also, ich nehme 3 Pi 4 mit 4gb RAM, 125gb SSD-Platte sowie einen Fujitsu E920 als Anzeige. Als Bildschirm ein 24“ Touch-Screen angeschlossen am Fujitsu.
                      Alle Pi’s sind so eingestellt das sie von SSD und nicht von einer Micro-SD Karte booten.
                      1 Pi als Master, die beiden anderen als Slave.
                      Auf allen Pi’s wird Raspbian aufgespielt mit dem „User“ pi und natürlich einem neuen Password.
                      Frage 1: der User „pi“ ist doch nicht automatisch „Root“ oder?
                      Auf allen wird auch „SSH“ freigegeben und „update“ und „upgrade“ ausgeführt.
                      Mit Putty wird auf allen 3 Pi’s ioBroker installiert und zwar mit folgenden Befehl:

                      curl -sL https://iobroker.net/install.sh | bash -
                      

                      Auf dem „Master“ wird Multihost freigegeben und auf den „Slaves“ über „connect“ verbunden!
                      Bei der Installation von Adaptern in ioBroker habe ich bisher keine Probleme gehabt, darum weiter mit der Wetterstation.
                      Nach der Installationsanleitung auf github habe ich alles gemacht aber keinen Erfolg.

                      Bei „./wetterstation.sh –debug“ bekomme ich folgende Fehlermeldung:

                      -bash: ./wetterstation.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
                      

                      Bei „sudo systemctl status wetterstation“:

                      pi@pi-iobroker:/home/iobroker $ 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 Tue 2021-10-05 11:04:52 CEST; 7s ago
                        Process: 14097 ExecStart=/home/iobroker/wetterstation.sh (code=exited, status=203/EXEC)
                       Main PID: 14097 (code=exited, status=203/EXEC)
                      
                      Okt 05 11:04:52 pi-iobroker systemd[1]: Started Service für ioBroker Wetterstation.
                      Okt 05 11:04:52 pi-iobroker systemd[14097]: wetterstation.service: Failed to execute command: No such file or directory
                      Okt 05 11:04:52 pi-iobroker systemd[14097]: wetterstation.service: Failed at step EXEC spawning /home/iobroker/wetterstation.sh: No such file or directory
                      Okt 05 11:04:52 pi-iobroker systemd[1]: wetterstation.service: Main process exited, code=exited, status=203/EXEC
                      Okt 05 11:04:52 pi-iobroker systemd[1]: wetterstation.service: Failed with result 'exit-code'.
                      
                      

                      Bei „ls -la“ kommt

                      pi@pi-iobroker:/home/iobroker $ ls -la
                      insgesamt 128
                      drwxr-xr-x 4 iobroker iobroker  4096 Okt  5 09:44 .
                      drwxr-xr-x 4 root     root      4096 Okt  4 16:56 ..
                      -rw-r--r-- 1 iobroker iobroker   220 Apr 18  2019 .bash_logout
                      -rw-r--r-- 1 iobroker iobroker  3523 Mai  7 16:42 .bashrc
                      drwx------ 3 iobroker iobroker  4096 Okt  5 07:45 .config
                      drwxr-xr-x 4 iobroker iobroker  4096 Okt  5 09:56 .npm
                      -rw-r--r-- 1 iobroker iobroker   807 Apr 18  2019 .profile
                      -rw-r--r-- 1 iobroker iobroker  5738 Okt  5 07:49 wetterstation.conf
                      -rwxr-xr-x 1 iobroker iobroker 14766 Okt  5 07:42 wetterstation.sh
                      -rw-r--r-- 1 iobroker iobroker 63070 Okt  5 07:42 wetterstation.sub
                      -rwxr-xr-x 1 iobroker iobroker  8421 Okt  4 17:11 ws_updater.sh
                      

                      Was bekomme ich da nicht richtig hin?

                      MfG
                      Wastl

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

                        @langer

                        Frage 1: der User „pi“ ist doch nicht automatisch „Root“ oder?

                        Nein, aber der user 'pi' (mit der UserID / uid) 1000 ist als sudoer voreingestellt, der dann per vorangesetztem 'sudo' für den nachfolgenden Befehl die root-Rechte erlangen kann.

                        Bei „./wetterstation.sh –debug“ bekomme ich folgende Fehlermeldung:
                        -bash: ./wetterstation.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden

                        Dazu musst du im Verzechnis stehen, in dem auch das skript wetterstation ausführbar liegt. Offenbar stehst du nicht im richtigen Verzeichnis oder der user hat keine ausreichenden Rechte an dem skript.

                        Ich würde den user pi der Gruppe iobroker hinzufügen:

                        sudo usermod -aG iobroker pi
                        

                        Danach den pi einmal ausloggen und wieder anmelden.

                        L 1 Reply Last reply Reply Quote 1
                        • L
                          Langer @Thomas Braun last edited by

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

                          „./wetterstation.sh –debug

                          Ich stehe im Verzeichnis

                          pi@pi-iobroker:/home/iobroker $ dir
                          wetterstation.conf  wetterstation.sh  wetterstation.sub  ws_updater.sh
                          pi@pi-iobroker:/home/iobroker $ ./wetterstation.sh –debug
                          -bash: ./wetterstation.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
                          pi@pi-iobroker:/home/iobroker $
                          
                          

                          Also die Reihenfolge der Installation ist somit nicht falsch?

                          MfG
                          Wastl

                          a200 Thomas Braun 2 Replies Last reply Reply Quote 0
                          • a200
                            a200 @Langer last edited by

                            @langer mach mal anstatt "dir" "ls -la"

                            file wetterstation.sh
                            

                            und dann

                            dos2unix wetterstation.*
                            

                            könnte vielleicht helfen. Ist aber nur eine Vermutung.

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

                              @langer

                              Wie sehen die Rechte aus?

                              ls -la /home/iobroker/wetterstation.sh
                              

                              bzw.

                              getfacl /home/iobroker/wetterstation.sh
                              

                              Und wie sehen die ersten paar Zeilen des skriptes aus?

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                Langer @Thomas Braun last edited by

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

                                getfacl /home/iobroker/wetterstation.sh

                                pi@pi-iobroker:/home/iobroker $ ls -la
                                insgesamt 128
                                drwxr-xr-x 4 iobroker iobroker  4096 Okt  5 09:44 .
                                drwxr-xr-x 4 root     root      4096 Okt  4 16:56 ..
                                -rw-r--r-- 1 iobroker iobroker   220 Apr 18  2019 .bash_logout
                                -rw-r--r-- 1 iobroker iobroker  3523 Mai  7 16:42 .bashrc
                                drwx------ 3 iobroker iobroker  4096 Okt  5 07:45 .config
                                drwxr-xr-x 4 iobroker iobroker  4096 Okt  5 09:56 .npm
                                -rw-r--r-- 1 iobroker iobroker   807 Apr 18  2019 .profile
                                -rw-r--r-- 1 iobroker iobroker  5738 Okt  5 07:49 wetterstation.conf
                                -rwxr-xr-x 1 iobroker iobroker 14766 Okt  5 07:42 wetterstation.sh
                                -rw-r--r-- 1 iobroker iobroker 63070 Okt  5 07:42 wetterstation.sub
                                -rwxr-xr-x 1 iobroker iobroker  8421 Okt  4 17:11 ws_updater.sh
                                pi@pi-iobroker:/home/iobroker $ file wetterstation.sh
                                wetterstation.sh: Bourne-Again shell script, UTF-8 Unicode text executable, with CRLF line terminators
                                pi@pi-iobroker:/home/iobroker $ dos2unix wetterstation.*
                                -bash: dos2unix: Kommando nicht gefunden.
                                
                                pi@pi-iobroker:/home/iobroker $ ls -la /home/iobroker/wetterstation.sh
                                -rwxr-xr-x 1 iobroker iobroker 14766 Okt  5 07:42 /home/iobroker/wetterstation.sh
                                pi@pi-iobroker:/home/iobroker $ getfacl /home/iobroker/wetterstation.sh
                                getfacl: Entferne führende '/' von absoluten Pfadnamen
                                # file: home/iobroker/wetterstation.sh
                                # owner: iobroker
                                # group: iobroker
                                user::rwx
                                group::r-x
                                other::r-x
                                
                                Skript
                                
                                 SH_VER="V2.9.0"
                                 CONF_V="V2.8.0"
                                 SUBVER="V2.9.0"
                                
                                
                                 #Installationsverzeichnis feststellen
                                  DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
                                
                                 #Config-Version prüfen
                                  VER_CONFIG=$(cat "${DIR}/wetterstation.conf"|grep '### Setting'|cut -d" " -f3)
                                  if [ $CONF_V != $VER_CONFIG ]; then
                                	echo -e "wetterstation: \e[31mERROR #000 - Config-Version mismatch!\n"
                                	echo -e "benutzt: $VER_CONFIG\t benötigt wird: $CONF_V$WE"
                                	exit 1
                                  fi
                                
                                 #Sub-Version prüfen
                                  SUB_CONFIG=$(cat "${DIR}/wetterstation.sub"|grep '### Subroutinen'|cut -d" " -f3)
                                  if [ $SUBVER != $SUB_CONFIG ]; then
                                	echo -e "wetterstation: \e[31mERROR #001 - Subroutinen-Version mismatch!\n"
                                	echo -e "benutzt: $SUB_CONFIG\t benötigt wird: $SUBVER$WE"
                                	exit 1
                                  fi
                                
                                

                                MfG
                                Wastl

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

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

                                  UTF-8 Unicode text executable, with CRLF line terminators

                                  Das sollte auf Unix-Format umgestellt werden. Die Zeilensprünge sind zwischen Windows und Unix unterschiedlich.

                                  Und bitte nochmal genau in die erste Zeile des skripts schauen, für gewöhnlich ist da die sog. shebang aufgeführt.

                                  #! /bin/bash
                                  

                                  sollte da drin wohl stehen.

                                  L 1 Reply Last reply Reply Quote 1
                                  • L
                                    Langer @Thomas Braun last edited by

                                    @thomas-braun

                                    Nach dos2unix funktioniert alles!!!!!

                                    1000 mal Danke..

                                    MfG
                                    Wastl

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

                                      @langer Das ist wohl den meisten schon mal passiert. Du hast die Datei wahrscheinlich mal mit einem Windows-Editor zumindest betrachtet (oder editiert) und dann gespeichert.
                                      Das geht natürlich auch unter Windows, nur sollte man dann den passenden Editor nutzen. Ich nehme gerne den Notepad++
                                      Der belässt die Datei im Ursprungsformat (Linux mit LF) bzw. kann sie mit Bordmitteln auch wieder gerade rücken 😉
                                      Bild 1.png

                                      1 Reply Last reply Reply Quote 0
                                      • a200
                                        a200 @Langer last edited by

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

                                        @thomas-braun

                                        Nach dos2unix funktioniert alles!!!!!

                                        1000 mal Danke..

                                        MfG
                                        Wastl

                                        Freut mich. Habe nicht daran gedacht, dass man dos2unix nachinstallieren muss. Aber damit funktioniert es meistens.

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

                                          Mal ein "kleineres" Update unter der Haube 😉
                                          Ich habe versucht so ziemlich alles nachzustellen und zu berücksichtigen, aber ich kann halt nicht alle Linux-Distris berücksichtigen (nutze aber nur Standards, sollte also mit jeder funktionieren). Es kann also durchaus noch haken und irgendwann habe ich auch leicht den Überblick verloren was ich schon getestet habe oder ev. vergessen habe.
                                          So unscheinbar es auch aussieht, war es, gerade wegen der ganzen Testerei, doch ein klein wenig Arbeit...

                                          Ab sofort kann man über den WS-Updater installieren, updaten, Service einrichten und die Konfiguration patchen.

                                          Bitte jetzt nicht einfach downloaden und probieren, dass wird nicht so richtig funktionieren. Muss jetzt aber erst mal kurz wech...

                                          I'm back... 🙂
                                          Für zukünftige und die aktuelle V2.9.0 gibt es nun im "latest" immer eine WLAN-Wetterstation.zip :
                                          https://github.com/SBorg2014/WLAN-Wetterstation/releases/latest
                                          Diese beinhaltet alles was man braucht, aber ohne die ganzen Sourcen (die man aber trotzdem noch herunter laden kann).
                                          Wenn dann alles funktioniert werde ich auch dementsprechend die WiKi anpassen, aber die alte Installation funktioniert weiter und wird auch zukünftig weiter funktionieren, ebenso wie Updates.

                                          Einzige Prämisse: automatische Updates müssen per URL angestoßen werden. Ich kann schlecht ein aktiv laufendes Skript gleichzeitig durch eine neue Version ersetzen ("der sich selbst abschleppende Abschleppwagen"). Unter Linux geht das zwar meistens, aber garantiert ist das nicht, also IMO kein gangbarer Weg.


                                          Ich habe explizit darauf verzichtet die URL zu schrinken, da ich kein Freund davon bin wenn man einen Link anklicken soll und nicht sofort dessen Ziel erkennen kann

                                          Ausführung immer im [zukünftigen] Verzeichnis des WLAN-Wetterstation Skriptes!

                                          Update : bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)

                                          Sollte bei bereits installierter V2.9.0 nur liefern (andernfalls wird das Update angeboten):
                                          Bild 1.png


                                          Hilfe: bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) -h oder wenn bereits gedownloaded ./ws_updater.sh -h
                                          Bild 1.png
                                          (Die Parameter dürften selbsterklärend sein)


                                          Geplant ist noch ein neuer Datenpunkt der dann auf ein neues Update hinweist.
                                          Falls wer eine Test-VM oä. hat, wäre gerade die Neuinstallation interessant. Zumindest auf meiner PiHole-VM lief es durch. Dazu ein Verzeichnis anlegen wo es hin soll, dann im Verzeichnis: bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --install

                                          ...und wie immer bei allem: das tut nicht als User root Not!

                                          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:

                                            Falls wer eine Test-VM oä. hat, wäre gerade die Neuinstallation interessant

                                            hab ich (Ubuntu 20.04) 🙂

                                            Zwar mit root gemacht (weil ich als Linuxlaie auf die Schnelle nicht gefunden hab, wie man richtig einen User anlegt und in Gruppen zuweist).

                                            Fehler zeigt es mir an.

                                            root@Webserver:~/wetter# bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --install
                                            
                                            
                                            
                                             ┌───────────────────────┐
                                             │                       │
                                             │   WS-Updater V2.9.0   │
                                             │                       │
                                             └───────────────────────┘
                                            
                                             'bc' installiert: [✗]
                                             'jq' installiert: [✗]
                                            
                                            
                                            
                                             Möchten Sie WLAN-Wetterstation im aktuellen Verzeichnis installieren? [J/N]: J
                                            
                                            
                                             Hole Daten von GitHub...
                                            /dev/fd/63: line 308: jq: command not found
                                             Aktuelle Version: 
                                            /dev/fd/63: line 310: jq: command not found
                                             Lade Datei von GitHub herunter...
                                            
                                            curl: no URL specified!
                                            curl: try 'curl --help' or 'curl --manual' for more information
                                            
                                             Entpacke Dateien...
                                            
                                            /dev/fd/63: line 314: unzip: command not found
                                            
                                             Lösche Dateidownload...
                                            rm: cannot remove 'tmp.zip': No such file or directory
                                            
                                             Dateien ausführbar setzen...
                                            chmod: cannot access 'ws_updater.sh': No such file or directory
                                            chmod: cannot access 'wetterstation.sh': No such file or directory
                                            
                                            
                                             Soll WLAN-Wetterstation nun als Service eingerichtet werden? [J/N]: Jsudo: setrlimit(RLIMIT_CORE): Operation not permitted
                                            sudo: setrlimit(RLIMIT_CORE): Operation not permitted
                                            
                                             Aktiviere den Service nun...
                                            sudo: setrlimit(RLIMIT_CORE): Operation not permitted
                                            sudo: setrlimit(RLIMIT_CORE): Operation not permitted
                                            Created symlink /etc/systemd/system/multi-user.target.wants/wetterstation.service -> /etc/systemd/system/wetterstation.service.
                                            
                                            
                                             Konfiguration nun öffnen? [J/N]: Jcat: /root/.selected_editor: No such file or directory
                                            /dev/fd/63: line 327: wetterstation.conf: command not found
                                            
                                            
                                             Nun mittels des Javascriptes 'wetterstation.js' die Datenpunkte im ioBroker anlegen! Fertig [ Nein=Abbruch ]? [J/N]: J/dev/fd/63: line 335: jn_abfrage\n\e[1;37m Einmaligen Testdurchlauf im Debug-Modus starten...(empfiehlt sich)?: command not found
                                            /dev/fd/63: line 336: ./wetterstation.sh: No such file or directory
                                            /dev/fd/63: line 339: jn_abfrage\n\e[1;37m WLAN-Wetterstation Service nun starten?: command not found
                                            sudo: setrlimit(RLIMIT_CORE): Operation not permitted
                                            
                                            
                                             Fertig...
                                            Wenn der Testlauf ausgeführt wurde und erfolgreich verlief, sollten nun aktuelle Daten der Wetterstation in den Datenpunkten stehen ;-)
                                            
                                            SBorg 1 Reply Last reply Reply Quote 1
                                            • 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
                                            2872915
                                            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