Um den auslösenden Rauchmelder zu ermitteln, würde ich gerne den Namen des auslösenden Gerätes in eine Systemvariable vom Typ "Zeichenkette" schreiben.
Begonnen habe ich mit der Anleitung von Alchy.
Allerdings scheint diese Anleitung nicht 1:1 nach Raspberrymatic übertragbar zu sein. Basierend auf den Kommentaren von Jens und Jerome in diesem Thread, habe ich versucht das Skript auf meiner Raspberrymatic zum laufen zu bekommen. Allerdings mit mäßigem Erfolg.
Das Problem ist, dass nur sehr selten der Name des auslösenden Gerätes in die Systemvariable geschrieben wird. In den meisten Fällen bleibt die Systemvariable "Rauchmelder" einfach leer. Hat jemand einen Tipp, was ich falsch mache?
Das zugehörige Skript:
Code: Alles auswählen
!Namen des Programmauslöser ermitteln und in Systemvariable schreiben
string list = "";
object dp = dom.GetObject("$src$");
var ch = dom.GetObject(dp).Channel();
var dev = dom.GetObject(ch).Device();
var name = dom.GetObject(dev).Name();
list = name.ToString();
! dom.GetObject(ID_SYSTEM_VARIABLES).Get('Rauchmelder').State(list);
dom.GetObject('Rauchmelder').State(list);