NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@liv-in-sky sagte in [Linux Shell-Skript] WLAN-Wetterstation:
läuft bei mir
Sorry @Negalein , lüppt bei mir auch.
Hast du ev. aus Versehen bei einem der Datenpunkte ein [ oder ] zu wenig/viel? -
@liv-in-sky @sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hast du ev. aus Versehen bei einem der Datenpunkte ein [ oder ] zu wenig/viel?
Haaaa, tatsächlich.
Hatte 1x in der 1. Zeile[
mit]
vertauscht.Kleiner Fehler-----große Auswirkung
PS: schon Bier gekauft
-
läuft also - dann is ja gut
-
[OFF Topic]
Ich bin nun wieder hin- und hergerissen. Zum einen ist es für mich nicht selbstverständlich, zum anderen hat es aber in meinen Augen immer einen schalen Beigeschmack. Wie man es macht ist es aber eh immer verkehrt.Aber ich bin älter und so erzogen worden. Many Thx @CW ( ) für die Spende. Es wird aber Kaffee werden, da ich Alk weitest meiden soll
...und Schal: es braucht sich wirklich keiner deswegen genötigt zu sehen etwas spenden zu müssen. Ich will mich einfach nur bedanken. Es macht nichts besser oder schlechter, ich mach das gerne weil ich es (mehr oder minder gut) kann, zum Teil selbst nutze und an anderer Stelle auch von der Arbeit Anderer profitiere....und jetzt kam dein Post dazwischen während ich hier tippe und du es selbst schon teilweise verraten hast, also Danke @Negalein
-
@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! -
@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 -
hast du mal ein bild, was du meinst
-
@liv-in-sky Hier ein Screenshot. Bitte nicht über die angezeigten Daten wundern. Meinem NUC war es gestern nicht so gut :
Sollten wir hierzu den Kanal wechseln?
-
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hier ein Screenshot
Widgets markieren und beliebig verschieben
-
@Negalein Danke. Ich hab mit der VIS noch nicht viel am Hut. Dass das so einfach ist - manOman, ich muss noch viel lernen.
-
@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
-
@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.
-
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 -
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 gefundenDazu 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.
-
@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 -
@langer mach mal anstatt "dir" "ls -la"
file wetterstation.sh
und dann
dos2unix wetterstation.*
könnte vielleicht helfen. Ist aber nur eine Vermutung.
-
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?
-
@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 -
@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.
-