Es geht auch mit Hilfsprogrammen wie dem SDV, aber auch mit Scripten.
der kleine 23 Zeiler hier kann alle Kanäle eines Device aus einem Raum / Gewerk entfernen und auch einem Raum Gewerk zuordnen.
eigentlich Selbsterklärend, (Hoffe ich )
Code: Alles auswählen
!- Gewerk und Raum weg
!- by Black in 2019
!- ===================
!- Hier das Device unter Get mit Namen angeben
object oDev= dom.GetObject (ID_DEVICES).Get ("HmIP-RCV-50");
string sChan;
!- Unter Get den Namen des Gewerkes oder des Raumes angeben, aus dem das Device gelöscht werden soll
!- Ansonsten nur Deklaration mit object oRoomDel;
object oRoomDel= dom.GetObject (ID_ROOMS).Get ("Haus EG");
object oFuncDel= dom.GetObject (ID_FUNCTIONS).Get ("Egal");
!- Unter Get den Namen des Gewerkes oder des Raumes angeben, dem das Device hinzugefügt werden soll
object oRoomAdd; !- =dom.GetObject (ID_ROOMS).Get ("Haus EG");
object oFuncAdd; !- =dom.GetObject (ID_FUNCTIONS).Get ("Haus EG");
if (oDev) {
foreach (sChan,oDev.Channels () ) {
if (oRoomDel) {oRoomDel.Remove (sChan); }
if (oFuncDel) {oFuncDel.Remove (sChan); }
if (oRoomAdd) {oRoomAdd.Add (sChan);}
if (oFuncAdd) {oFuncAdd.Add (sChan);}
}
WriteLine ("Done");
} else {
WriteLine ("Device ungültig");
}
Soll nix entfernt werden, nur als Deklaration schreiben:
object oRoomDel; bzw object oFuncDel;
Ist unter oRoomAdd oder oFuncAdd ein Object zugeordnet, so werden alle Kanäle des Devices diesem Raum / gewerk zugeordnet
Soll nix zugeordnet werden, nur als Deklaration schreiben:
object oRoomAdd; bzw object oFuncAdd;
greetz, Black
Script ausführen unter Script testen oder im Script executor oder im SDV, aber vorher bitte ein BACKUP machen