Script:
Code: Alles auswählen
string device_ser = "INT0000008"; !- Seriennummer eintragen
string device_fam = "VirtualDevices"; !- Gerätekategorie eintragen - Optionen: HmIP-RF | BidCos-RF | CUxD | VirtualDevices
object o_Device; object o_Channel; string s_liste;
o_Device= xmlrpc.GetObjectByHSSAddress (interfaces.Get (device_fam), device_ser);
if (o_Device) {
WriteLine("Gerätename: "# o_Device.Name());
foreach (s_liste,o_Device.Channels() ){o_Channel= dom.GetObject (s_liste);
if (o_Channel) {
if (o_Channel.Type() == OT_CHANNEL) {
WriteLine ("\tKanal "# o_Channel.ChnNumber() #" heißt: "# o_Channel.Name());
!WriteLine ("\tKanal "# o_Channel.ChnNumber() #" heißt: "# o_Channel.Name() #"\n\tSichtbarkeit: "# o_Channel.Visible() #" | Intern: "#o_Channel.Internal());
}}}}
Code: Alles auswählen
Gerätename: IP-Heizgruppe INT08 - Virt Device
Kanal 0 heißt: IP-Heizgruppe INT08:0 - Service
Kanal 1 heißt: IP-Heizgruppe INT08:1 - Bedienung
Kanal 2 heißt: IP-Heizgruppe INT08:2 - 2PunktLink
Kanal 3 heißt: IP-Heizgruppe INT08:3 - Fensterkontakt
Kanal 4 heißt: IP-Heizgruppe INT08:4 - Schaltausgang
Kanal 5 heißt: IP-Heizgruppe INT08:5 - Taster
Daher suche ich einen Weg als erstes anhand der Seriennummer die "Gerätefamilie" zu ermitteln.
Gegen alternative Vorschläge die zum Ziel führen habe ich natürlich auch nichts einzuwenden.
Ein Versuch mit...
Code: Alles auswählen
string s_DevId; object o_Dev;
foreach(s_DevId, root.Devices().EnumUsedIDs())
{
o_Dev = dom.GetObject(s_DevId);
WriteLine("Name: "# o_Dev #" | Interface: "# o_Dev.Interface() #" | Serial: "# o_Dev.Address());
}
Zentrale A:
Code: Alles auswählen
Name: CuxD-TransformDevice | Interface: 1391 | Serial: CUX9000001
Name: Fensterkontakt-Test: HmIP-SWDO | Interface: 1009 | Serial: 0000D8A99794D9
Name: HM-ES-PMSw1-Pl LEQ0529290 | Interface: 1007 | Serial: LEQ0529290
Name: HM-Heizgruppe INT0000009 | Interface: 1008 | Serial: INT0000009
Code: Alles auswählen
Name: CUxD-Device-Transform: CCU Status | Interface: 1239 | Serial: CUX9000004