Hallo,
mit rename kann ich zum Beispiel meine Steckdose umbenennen, die durch das autocreate einen Namen bekommen hat
z.B. rename HM-LC-SW1-PL2_1 SD1 damit heist die Steckdose SD1
Leider hat auch der Room duch das autocreate einen Namen bekommen z.B. attr SD1 room CUL_HM
Wie kann ich nachträglich aus CLU_HM z.B. "Keller" machen? Mit rename geht das leider nicht.
Ciao, Bernd
einfach das device in den neuen raum tun. also z.b.
attr SD1 room Keller
sobald ein raum leer ist verschwindet er automatisch.
gruss
andre
Hallo Andre,
danke für die Antwort. Leuchtet ein!
Wenn ich "attr SD1 room Keller" eingebe bekomme ich zwar keine Fehlermeldung, aber in der fhem.cfg steht jetzt immer noch das:
define SD1 CUL_HM 1BECCD
attr SD1 .devInfo 010100
attr SD1 .stc 10
attr SD1 expert 2_full
attr SD1 firmware 1.9
attr SD1 model HM-LC-SW1-PL2
attr SD1 peerIDs
attr SD1 room Keller
attr SD1 serialNr JEQ0464098
attr SD1 subType switch
attr SD1 webCmd toggle:on:off:statusRequest
define FileLog_SD1 FileLog ./log/SD1-%Y.log SD1
attr FileLog_SD1 logtype text
attr FileLog_SD1 room CUL_HM
Was mache ich falsch?
Ciao, Bernd
Zitat von: stpkle schrieb am Fr, 10 Mai 2013 20:16Hallo Andre,
danke für die Antwort. Leuchtet ein!
Wenn ich "attr SD1 room Keller" eingebe bekomme ich zwar keine Fehlermeldung, aber in der fhem.cfg steht jetzt immer noch das:
define SD1 CUL_HM 1BECCD
attr SD1 .devInfo 010100
attr SD1 .stc 10
attr SD1 expert 2_full
attr SD1 firmware 1.9
attr SD1 model HM-LC-SW1-PL2
attr SD1 peerIDs
attr SD1 room Keller
attr SD1 serialNr JEQ0464098
attr SD1 subType switch
attr SD1 webCmd toggle:on:off:statusRequest
define FileLog_SD1 FileLog ./log/SD1-%Y.log SD1
attr FileLog_SD1 logtype text
attr FileLog_SD1 room CUL_HM
Was mache ich falsch?
Ciao, Bernd
Klappt doch! Du musst das FileLog separat verschieben.
Ich denke, da ist nix falsch.
Zitatdefine SD1 CUL_HM 1BECCD
=Heißt SD1, ist über CUL_HM angeschlossen, hat die Adresse 1BECCD...
Zitatattr SD1 room Keller
...und befindet sich im Keller.
Oder hab ich jetzt was übersehen?
attr room=CUL_HM room Keller
Siehe auch http://fhem.de/commandref.html#devspec (//fhem.de/commandref.html#devspec)
Was mache ich aber, wenn ich zig Devices in einem Raum habe und die nicht alle in einen neuen Raum verschieben will, weil ich "nur" den Raum umbenennen möchte?!
ZitatWas mache ich aber, wenn ich zig Devies in einem Raum habe
Wenn du fertig bist, nicht das speichern vergessen, sonst musst du es evtl. 2x machen ;D
(Theoretisch:
fhem.cfg in einem Editor öffnen, suchen & ersetzen
Dazu muss fhem aus sein, ich würde ein Backup machen, und ob es Ärger wegen Savestates oder was Anderem gibt, weiß ich nicht.)
Das ist doch das gleiche, wie umbenennen.
attr room=room1 room room2
verschiebt alle Devices aus room1 nach room2. room1 ist dann verschwunden und room2 ist neu verfügbar. Das ist faktisch wie eine Umbenennung.
Zitat von: marvin78 am 16 Oktober 2015, 07:07:11
Das ist doch das gleiche, wie umbenennen.
attr room=room1 room room2
verschiebt alle Devices aus room1 nach room2. room1 ist dann verschwunden und room2 ist neu verfügbar. Das ist faktisch wie eine Umbenennung.
Top! Danke!
verschiebt alles von diesem Raum in einen Anderen* ABER wenn ein Device in mehreren Räumen war, dann ist es nur noch in Anderen*
Danke für diesen Einwand. Da muss man aufpassen. Doof. Ein einfacher Room-rename Befehl wäre ja was feines ;)
Denn kannst du dir ja selbst bauen ;) So schwer ist das gar nicht in einer sub.
Aber mal ehrlich: Wie oft benennt man einen Raum um?
Eine eigene sub ist da überflüssig. Das läßt sich durch ein einfaches cmdalias lösen:
define cmd_roomren cmdalias roomren .* AS attr room=$EVTPART0 room $EVTPART1
Damit steht folgende Abkürzung zur Verfügung:
roomren oldroom newroom
Aber die Frage bleibt, wie oft man das wirklich braucht...
Gruß,
Gero
Zitat von: gero am 16 Oktober 2015, 14:02:35
Das läßt sich durch ein einfaches cmdalias lösen
Danke für diesen Code! ;D
So einfach ist es nicht. Der cmdalias hat den fleichen "Fehler", wie ein
attr room=room1 room room2
und ist im Übrigen auch nicht deutlich kürzer. Mit einer sub könnte man aber auch den Fehler beseitigen.
Du hast recht. Sorry, ich hatte wohl den Beitrag mit den mehreren Räumen überlesen.
Hier ein cmdalias um einen room umzubennen ohne dabei die devices aus anderen räumen zu entfernen
define cmd_roomrename cmdalias roomrename .* AS { for my $name (devspec2array("room=$EVTPART0")){ map {s/$EVTPART0/$EVTPART1/;; fhem("attr $name room $_")} AttrVal($name, 'room','') } }
Zitatroomrename oldroom newroom
Gruß
Claudiu
Das wäre etwas für dieses Thema:
http://forum.fhem.de/index.php/topic,42211.msg344894.html#msg344894
Stimmt, hab ich drüben auch mal gepostet ;)
Geil, danke! Das hat mir gerade echt richtig viel Arbeit erspart! 8)
Das CMD-Alias funktioniert wunderbar, wenn man Räume ohne Leerzeichen hat. Ich habe zur Sortierung irgendwann mal die Räume mit z.B. "R01 Wohnzimmer" benannt... Die kann ich nicht umbenennen. Gibt es dafür auch einen Trick? Ich hab es mit einer Klammer, mit Hochkomma, mit Anführungszeichen mit "R01%20Wohnzimmer" probiert... ich schaffe es nicht. :(
Da RegEx z.B. mit . (Punkt) das Leerzeichen im Suchstring auffüllen.
Nur das Ersetzen der Raumnamen durch Räume mit Leerzeichen (replace) wird hier nicht funktionieren.
Gruß
Dan
Attr unterstützt seit kurzem auch -a und -r https://fhem.de/commandref.html#attr. Damit sollte es auch gehen...
Kurz, weil mobil...