FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Morgennebel am 29 September 2017, 18:03:54

Titel: rename - Channels, DOIFs, Diagramme...
Beitrag von: Morgennebel am 29 September 2017, 18:03:54
Moin Moin,


ich strukturiere gerade meinen Gerätepark in FHEM um und benenne alle Devices nach einem festen Schema neu.

Leider benennt "rename" nur das Hauptgerät um, nicht jedoch:


Für die Channels habe ich in 99MyUtils einige Zeilen perl, die das mit erledigen. Aber für die DOIFs und Diagramme fällt mir nix gescheites ein - daher erstmal meine Frage: ist das eigentlich Absicht so oder wurde rename nicht um die neuen Funktionen erweitert?

Danke, -MN
Titel: Antw:rename - Channels, DOIFs, Diagramme...
Beitrag von: Amenophis86 am 29 September 2017, 18:11:15
Für channels (HM) gibt es extra set deviceRename

Für die Benutzung in DOIF etc könntest du über die cfg mit einem Editor gehen, aber dabei solltest du aufpassen und wissen was du tust. Gleiches für Logfiles etc.
Titel: Antw:rename - Channels, DOIFs, Diagramme...
Beitrag von: knopf_piano am 29 September 2017, 18:51:03
Fällt mir grep, xargs, sed ein. Bemühe mal google. Hab hab ich schon ein paar mal verwendet, um in allen cfgs Teile zu ersetzen. Grad aber nix parat, weil unterwegs

Gesendet von meinem SM-J510FN mit Tapatalk

Titel: Antw:rename - Channels, DOIFs, Diagramme...
Beitrag von: Morgennebel am 29 September 2017, 20:07:10
Moin,


ich verwende

system("perl -p -i -e 's/$oldname/$newname/g' /opt/fhem/tempList.cfg") if -f "/opt/fhem/tempList.cfg";

um die TempList.cfg zu aktualisieren.

Allerdings sind das alles Workarounds. Sollte der rename-Befehl selbst nicht alle Referenzen vom alten Namen mit dem neuen Namen ersetzen (also auch in DOIFs, Notifies, tempList.cfg, Diagrammen usw)?

Dann würde das nämlich auch mit der ConfigDB funktionieren. Oder kennt jemand eine SQL-Anweisung für sqlite, in der ich entsprechend suchen und ersetzen kann...?

Danke, -MN