Huhu,
das gerät legt ja einmal etwas im HM room an : CUL_HM_HM_ES_PMSw1_Pl_24B23E und dann für jeden Kanal etwas in unsorted.
Muss ich jedes einzeln umbenennen ? Oder gibt es da einen besseren Trick ich weiss ja nicht ob das dann nicht zu Problemen kommt wenn ich die Kanäle oder das Gerät selbst umbenenne ??
Die kannst Du umbenennen wie Du möchtest. Aber Du musst es selbst und einzeln machen.
Du kannst die Kanäle gänzlich anders benennen, ohne dass es irgendwelche Probleme gibt. Einzig den ein oder anderen Hinweis im Forum oder im Wiki wirst du dann schwerer verstehen, wenn du dich wie ich nach ein paar Tagen nicht mehr daran erinnern kannst, wie du was umbenannt hast - so geht es mir öfters bei meinen Heizungsthermostaten, die auch einige Kanäle haben ;-) Also am besten das Ende des Namens (ab dem Unterstrich) gleich lassen.
Ansonsten, das Bulk-Umbenennen von neuen Homematicgeräten löse ich immer ganz pragmatisch über die "Suchen & Ersetzen"-Funktion meines Texteditors, während ich bei der gelegenheit dann gleich meine fhem.cfg nachsortiere...
Der hier besprochene Schalter hat nur zwei Kanäle, die beide schalten. Da ist das sehr überschaubar.
Umbenennen mit rename ist kein Problem.
Auch die Möglichkeit, dies in fhem.cfg und einem Editor zu tun schon problematischer. Das Rename ändert auch die referenzen in den Readings - zumindest den Config daten anteil (register). Wenn du das Config file imEditor änderst werden die Readings nicht geändert. Du müsstest diese besser löschen und neu lesen um wirklich aufzuräumen.
=> rename ist die empfohlene lösung von mir.
Der Namen eines Kanals muss mit dem des Device nichts zu tun haben.
Probleme bekommst du mit notifies und Filtern, die du möglicherweise angelegt hast. Das geht nicht automatisch. Da sind oft regexp enthalten, zumindest werden sie entsprechend ausgewertet ... da ist handarbeit gefragt. So du keine hast solltest du fertig sein.
Okay Danke ich werde es mit rename machen. Den hinteren Teil lasse ich dann gleich es geht mir nur darum eine Info zu bekommen welches Gerät ich da gerade habe ;)
Falls du es automatisieren willst kannst du in der ersten Zeile 'old' und 'new' gegen deine alten und neuen namen tauschen. Dann in die Kommandozeile pasten und fertig. Voraussetzung ist, dass die Namen der Kanäle mit dem Namen des Device beginnen. Das ist default.
{my $dev = "old";;my $nN = "new";;my @ch = map {s/^${dev}_(.*)/rename ${dev}_$1 ${nN}_$1/;;$_} map {$defs{$dev}{$_}} grep /channel_/,keys %{$defs{$dev}};;fhem $_ foreach(@ch);;fhem "rename $dev $nN"}
das ist cool mit dem umbenennen
Danke