Mich nervt, dass ich für ein neu angelegtes fronthemDevice die Permissions immer einzeln mit der Hand eingeben muss. Das ist eine wahnsinnige Klickerei. Ich habe schon überall nach einer Vereinfachung gesucht, aber nichts gefunden.
Gibt es eine Möglichkeit die Permissions von Device A nach Device B zu kopieren?
Gruß Eberhard
Ich meine eine Rechtevergabe außerhalb von whitelist.
Hier ist die Lösung :)
https://forum.fhem.de/index.php?topic=50328.0
Hallo Chris46,
ich hatte noch nachgetragen, dass ich eine Rechtevergabe außerhalb von Whitelist wollte - gerade wegen der Sicherheit. Trotzdem Danke für den Hinweis. :) :)
Gruß Eberhard
Hallo Eberhard,
da habe ich in der Eile gestern nicht genau genug gelesen.
Hast du copy <device> schon mal getestet? Ich habe zwar wenig Hoffnung, dass das funktioniert, aber ein Versuch ist es wert.
https://wiki.fhem.de/wiki/Copy
Viele Grüße Chris
Halo Chris,
das mit dem copy-Befehl habe ich getestet. Die Berechtigungen werden leider nicht gesetzt.
Inzwischen habe ich mich mal auf dem Fhem-Server "umgesehen" und bin fündig geworden. Im Verzeichnins /opt/fhem/www/fronthem/clients wird für jedes fronthem-Device ein eigenes Verzeichnis und eine darin enthaltene fhclient.<device>.cfg Datei angelegt. Die einzelnen gads sind dort nach dem folgenden Muster aufgelistet:
"Li_Wz_HUE2.sw" : {
"write" : 1,
"read" : 1
},
Das dürrfte editierbar sein und eine Menge Klickerei ersparen.
Werden über das normale frontend fronthem-Devices gelöscht, bleibt das nicht mehr benötigte Verzeichnis mit der darin enthaltenen Datei bestehen. :(
Schön wäre es, wenn die fhclient.NN.cfg-Dateien im Menue edit Files aufgelistet und editierbar wären. Ich versuche mal die Rechte über diese Datei mit copy und anschließendem Umbenennen zu vergeben.
Viele Grüße
Eberhard
Wenn du permissions übernehmen willst kannst du die Datei kopieren und Umbenennen.
Hallo Jörg,
Danke für den Hinweis. Damit dürfte das Thema erledigt sein. :) :)
Gruß Eberhard
Ich mache dies auch über kopieren.
Ich beende fhem, kopiere den gerade geänderten Device in alle anderen Devices und starte fhem neu. Dazu habe eine Script modifiziert und je ein Start- und ein Beenden-Script ergänzt.
Wenn das eingerichtet ist, musst Du später bei einem neuen Device folgendes tun:
- irgendeine Permission im neuen Device setzen (damit die entsprechende cfg angelegt wird)
- FHEM mit dem Script stoppen
- in der push.sh den neuen Pfad eintragen
- FHEM mit dem Script starten
Falls Du eine Permission änderst, z.B. im DeviceA:
- FHEM mit dem Script stoppen
- die DeviceA.cfg nach "<Pfad>/backup/fhclient.Config.cfg" kopieren
- FHEM mit dem Script starten
ein FHEM-Start-Stopp-Script:
#!/bin/sh
# by Matthias Bauer
# modified by Kai
# modified by gamma.twin
case "$1" in
start)
echo "Starting $0"
#Datein zurückspielen
<Pfad>/backup/push.sh
#starten
cd /opt/bin/fhem
/opt/bin/fhem/fhem.pl /opt/bin/fhem/fhem.cfg
### Nur nötig wenn die Prozesspriorität von FHEM erhöht werden muß ######
#sleep 5
#Prozess=`pidof fhem.pl`
#renice -10 $Prozess
####################################################
;;
stop)
echo "Stopping $0"
/opt/bin/fhem/fhem.pl 7072 shutdown
#Datein zum Bearbeiten bereitstellen
sleep 5
<Pfad>/backup/pull.sh
;;
status)
cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
if [ "$cnt" -eq "0" ] ; then
echo "$0 is not running"
else
echo "$0 is running"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
Die pull.sh - kopiert die aktuelle cfg aus FHEM in ein Backup-Verzeichnis:
#!/bin/sh
# by gamma.twin
cp -br /opt/bin/fhem/www/fronthem/ <Pfad>/backup/
Die push.sh - Ersetzt die cfg im Backup-Verzeichnis und kopiert diese dann wieder nach FHEM.
#!/bin/sh
# by gamma.twin
#Berechtigung für Visu ändern
cp <Pfad>/backup/fhclient.Config.cfg <Pfad>/backup/fronthem/clients/DeviceA/fhclient.DeviceA.cfg
cp <Pfad>/backup/fhclient.Config.cfg <Pfad>/backup/fronthem/clients/DeviceB/fhclient.DeviceB.cfg
cp <Pfad>/backup/fhclient.Config.cfg <Pfad>/backup/fronthem/clients/DeviceC/fhclient.DeviceC.cfg
...
#Datein zurückspielen
cp -r <Pfad>/backup/fronthem/ /opt/bin/fhem/www/
/opt/bin/find /opt/bin/fhem/www/fronthem -type f -name '*~' -exec rm {} \;
Die Pfade musst Du natürlich anpassen.
Hallo GammaTwin,
das werde ich mir mal in Ruhe ansehen und durcharbeiten. Vielen Dank aber.
@ Joerg
Nachdem ich in der cfg-Datei die Permissions eines gad geändert habe, ist das fronthem etwas böse auf mich und zeigt mir den Permission-Teil in der Maske nicht mehr an. Die Rechte sind nicht verändert worden.
Was bisher nicht half: Restart über Fhem-Eingabeleiste und Reboot auf Linuxebene.
Jetzt steh' ich da ich armer Thor und bin so klug als wie zuvor.
Gruß Eberhard
Die Edith hat gesagt: Wenn das attr whitelist mit false gesetzt wird, verschwindet der Bereich mit den Permissions. Da muss man erst einmal hinterkommen. Naja - alles wieder gut! :D :D
Es gibt wohl kein Fettnapf, an dem ich ungeschoren vorbeikomme! :'( :'(
Da würde ich auf einen Fehler in der json tippen.
Nicht speichern, fhem hart beenden, nochmal kopieren und dann fhem erneuts starten.
Backups machen!