NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Gell @da_Woody! Wir aus dem Alpenland sind sehr handzahm.
schüchtern, fast scheu...
-
Mein user ist iobroker:
pi@ioBroker:/home/iobroker/wetterstation $ ls -al insgesamt 140 drwxr-xr-x 2 iobroker iobroker 4096 Mär 28 13:50 . drwxr-xr-x 6 iobroker iobroker 4096 Dez 16 20:53 .. -rwxr--r-- 1 iobroker iobroker 6087 Jan 19 13:02 wetterstation.conf -rwxr--r-- 1 iobroker iobroker 20079 Jan 3 11:21 wetterstation.js -rwxr-xr-x 1 iobroker iobroker 15932 Jan 3 11:21 wetterstation.sh -rwxr--r-- 1 iobroker iobroker 66047 Jan 3 11:21 wetterstation.sub -rwxr-xr-x 1 iobroker iobroker 16932 Jan 3 11:21 ws_updater.sh
Müssten alle Dateien in diesem Verzeichnis dann diese Rechte haben?:
pi@ioBroker:/home/iobroker/wetterstation $ ls -al insgesamt 140 drwxr-xr-x 2 iobroker iobroker ``
-
@qqolli sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mein user ist iobroker:
Ne, eben nicht
pi@ioBroker
Aktuell bist du als User "pi" eingeloggt und unter dessen Kontext (also Rechte) arbeitest du dann auch. Der hat da aber keinerlei Rechte
Am einfachsten wäre den User "pi" der Gruppe "iobroker" hinzuzufügen und der Gruppe "iobroker" dann Schreibrechte im Verzeichnis zu geben.
Gib einfach malgroups
ein. Steht da schon "iobroker" drin (IMO default bei der ioB-Installation)? -
Ja, der iobroker steht drin:
pi@ioBroker:/home/iobroker/wetterstation $ groups pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi iobroker
Aber leider reichen meine Linux-Kenntnisse noch nicht ganz aus, die Rechte und Gruppen einzurichten. Wie kann man das am "einfachsten" machen?
-
@qqolli Wenn man es mal verstanden hat ist es, wie eigentlich bei allem , recht leicht.
Kleiner Exkurs:
ganz vorne das "d" steht für Directory (Verzeichnis)
Dann folgen drei Dreiergruppen für User-, Gruppen- und Andere-Rechte- r = read (lesen)
- w = write (schreiben, anlegen)
- x = executable (ausführbar)
Nehmen wir mal deine "wetterstation.conf" (-rwxr--r--):
- kein Verzeichnis
- User "iobroker" (1. Bezeichnung) darf lesen, schreiben und ausführen [1. Dreiergruppe]
- Gruppe "iobroker" (2. Bezeichnung) darf nur lesen [2. Dreiergruppe]
- "Andere" darf nur lesen [3. Dreiergruppe]
Dein User "pi" ist schon in der Gruppe "iobroker", der fehlt aber aktuell das "w" beim aktuellen Verzeichnis "."
cd ..
ein Verzeichnis hochsudo chmod g+w wetterstation
"g" steht für Gruppenrechte, "+" für hinzufügen, "w" für die Schreibrechte und "wetterstation" für das Verzeichnis. "chmod" ist der passende Befehl (change modifikation) und "sudo" muss, da die Rechte nur von einem admin vergeben werden dürfen
Wenn du nun wieder in das Verzeichnis wechselst ergibt ein
ls -al
drwxrwxr-x 2 iobroker iobroker 4096 Mär 28 13:50 .
und die Gruppe "iobroker" (der natürlich auch dein User "pi" angehört) darf in diesem Verzeichnis nun schreiben und auch Dateien neu anlegen, löschen...
-
@sborg
Super! Hat genauso funktioniert und etwas gelernt habe ich auch noch. Vielen Dank für deine Zeit und Mühe. -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wenn man es mal verstanden hat ist es, wie eigentlich bei allem , recht leicht.
welch wahre aussage! nur manchmal ists halt nicht so einfach...
vor allem als winuser, der mit dem pinguin recht wenig zu tun hatte... -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kein spezieller @Nashra -Patch:
Meister Röhrich: das tut nicht Not als root... -
Irgendwas passt nicht!
Daten am Display passen!
Aber seit 26.3., 16:47 kommen im ioBroker keine Daten an.Kannst du weiterhelfen?
-
@negalein Hast du den "FIX_AUSSENTEMP" mittels true aktiviert? Dann stelle mal auf false zurück (Service-Restart nicht vergessen).
Falls es dann funktioniert, hast du wieder -5k°C seit dem Zeitpunkt in der Influx stehen?
-
Je nachdem wann ihr den neuen WS-Updater geladen habt, funktioniert dieser nicht korrekt (ich hatte noch einen Fehler drin der erst durch den Upload auftrat ).
Test:
./ws_updater.sh
ausführen, dann muss kurzund danach dann
Kommt einfach die Meldung "ist aktuell" oder "soll jetzt update...", habt ihr leider die falsche (oder noch die alte) Version. Dann, falls ihr ihn nutzen wollt, bitte nochmals von GitHub (nur den Updater, im Release ist noch die alte Version drin) laden.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Falls es dann funktioniert, hast du wieder -5k°C seit dem Zeitpunkt in der Influx stehen?
das wars!
mit Fix false kommen wieder Daten an.Aber sollten die Daten dann bei korrekten Werten doch wieder übertragen werden?
Wir haben gestern die Batterien getauscht. Seitdem keine Ausfälle, bis auf die fehlenden Daten in ioB. -
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Aber sollten die Daten dann bei korrekten Werten doch wieder übertragen werden?
Sollte, aber nicht wenn ich einen Fehler eingebaut habe
Das "aussieben" der falschen Werte hat noch funktioniert, die Routine für "gute" Werte schlägt aber fehl (hier habe ich fälschlicherweise eine Integer [Ganzzahl]-Routine benutzt, wobei die Außentemperatur aber float [Kommazahl] ist).Ersetzte zum testen bitte mal in der wetterstation.sh ziemlich am Ende den kpl. Block
#Daten an ioB schicken if [ ${FIX_AUSSENTEMP} == "true" ] then if [ "${MESSWERTE[1]}" -gt "-273" ]; then iob_send; fi else iob_send fi
mit diesem
#Daten an ioB schicken if [ ${FIX_AUSSENTEMP} == "true" ] then if (( $(bc -l <<< "${MESSWERTE[1]} > -273") )); then iob_send; fi else iob_send fi
dann den FIX in der "conf" wieder aktivieren und den Service restarten.
-
Da sich ein Fehler in die V2.12.0 eingeschlichen hat ein BugFix-Release:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.12.1
- ~ Fehler bei "FIX_AUSSENTEMP" behoben (keine Datenübertragung an den ioB / Issue #31)
Wie immer zu finden im GitHub
Update-Routine von Vorgängerversion:
- aktuellen WS-Updater nutzen (Download:
wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh
) ./ws_updater.sh
im Installationsverzeichnis ausführen- Menüpunkt "4" wählen und die Fragen beantworten
Da der WS-Updater danach immer aktuell von GitHub geladen wird, genügt dann zukünftig
./ws_updater.sh
und es ist kein separater Download mehr nötig
Update sollte durchgeführt werden. Der Fehler tritt zwar nur auf falls man den neuen "Fix-Außentemperatur" nutzt. aber ob man da im Zweifelsfall später noch dran denkt wenn man ihn aktiviert und nicht upgedated hat...?
-
@sborg hmm, wollte gestern schon updaten, dann aber keine zeit gefunden. nur die alte datei umbenannt. jetzt kommt mir das ding wieder mit keine berechtigung AHHHHH
login as: woody woody@192.168.0.250's password: Linux ioBroker 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Tue Mar 29 12:26:46 2022 from 192.168.7.209 woody@ioBroker:~$ ls wetterstation.conf wetterstation.sub ws_updater.sh wetterstation.sh ws_updaterold.sh woody@ioBroker:~$ wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh --2022-03-30 11:02:32-- https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh Auflösen des Hostnamens raw.githubusercontent.com (raw.githubusercontent.com)… 185.199.110.133, 185.199.109.133, 185.199.108.133, ... Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK Länge: 21073 (21K) [text/plain] Wird in »ws_updater.sh« gespeichert. ws_updater.sh 100%[======================================>] 20,58K --.-KB/s in 0,001s 2022-03-30 11:02:32 (28,4 MB/s) - »ws_updater.sh« gespeichert [21073/21073] woody@ioBroker:~$ ./ws_updater.sh -bash: ./ws_updater.sh: Keine Berechtigung woody@ioBroker:~$
-
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
woody@ioBroker:~$ ./ws_updater.sh
-bash: ./ws_updater.sh: Keine Berechtigung
Dann schau halt nach, mit welchen Rechten die Datei vorhanden ist und pass die an:
ls -la ~/ws_updater.sh
Vermutlich ist die Datei einfach nicht ausführbar.
-
@thomas-braun sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Vermutlich ist die Datei einfach nicht ausführbar.
thnx für den tritt gegens schienbein... ich werds mir wohl nie merken...
-
Sind aber echt die absoluten Basics, muss ich jetzt mal sagen...
-
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
thnx für den tritt gegens schienbein...
Da ihr ja "handzahm" seid gebe ich auch noch einen ala "Salz in der Suppe" mit...
Würde als "root" aber auch nicht funktionieren
...und wieder ernsthaft: sie war dann aber schon vorher nicht ausführbar/executable, denn beim kopieren (oder hier überschreiben per DL) bleiben die Rechte an der Datei erhalten
für Alle ausführbar
sudo chmod +x ws_updater.sh
nur für den Besitzer ausführbarchmod u+x ws_updater.sh
...falls wer drüber stolpern sollte.
-
Ich müsste jetzt mal genauer schauen, aber soweit ich weiß sind downloads per wget nie mit x-bit. Wegen Sicherheit und so...
Und sudo sollte bei
chmod u+x ws_updater.sh
auch nicht erforderlich sein. Sonst könnte ein kleiner user in seinem user land ja nie was ausführen.