Benachrichtigung Alarmanlage Auslöser

Ich habe heute noch eine kleine Optimierung bzw. Zusatz zu meiner Alarmanlage dazu programmiert.

Das ursprüngliche Script, welches ich hierzu abgewandelt habe, bezieht sich eigentlich auf die Rauchmelder um per Push den ausgelösten Rauchmelder als Information zu erhalten. Das Script habe ich wieder einmal im Homematic-Forum gefunden.

Schritt 1: Gewerk anlegen und überprüfen
Für das Script ist es nötig, alle zu prüfenden Fenster / Türkontakte in ein Gewerk zu packen, in meinem Fall Alarmanlage.

Mit folgendem Script (in der CCU -> Programme -> Skript testen), muss das Gewerk überprüft werden, als Ergebnis muss der Gewerkname ausgegeben werden.
Wenn das nicht der Fall ist muss das Gewerk gelöscht werden, die CCU neu starten, Gewerk wieder anlegen, Skript ausführen.
var sec = (dom.GetObject(ID_FUNCTIONS)).Get("Alarmanlage");
WriteLine(sec);

Schritt 2: Kontakte zuordnen
Natürlich müssen dem neuen Gewerk nun auch die Fenster -und Türkontakte zugewiesen werden, die der Alarmanlage zugeordnet sind, ggf. alle verfügbaren Kontakte.
Ich gehe hier aber nun nicht weiter darauf ein, wie das funktioniert 😉

Schritt 3: Systemvariablen
Es gibt eine Pflicht variable, die benötigt wird um später das Benachrichtigungsprogramm zu triggern, in meinem Fall als Variablentyp “Alarm” um das auch in der CCU entsprechend zu signalisieren.

Systemvariable “Alarmanlage ausgelöst” als Alarm

Wenn man das ganze noch per App abrufen möchte oder in der CCU anzeigen lassen möchte, kann man den Auslöser auch noch in eine Zeichenkette ausgeben lassen

Systemvariable “Alarmkontakt” als Zeichenkette

Schritt 4: Alarm-Programm
Nun wird ein neues Programm benötigt, mit dem die Alarm-Variable auf ausgelöst gesetzt wird, als Auslöser werden hier alle Fenster -und Türkontakte definiert.

Klicken zum vergrößern

Unten ist noch ein Script eingebettet, dass wie folgt aussieht:
dom.GetObject('Alarmkontakt').State("");
string list;
list="";

Schritt 5: Benachrichtigungsprogramm
Nun brauch man noch das Programm, welches die Benachrichtigung raushaut auf den Kanälen, die man haben möchte, in meinem Fall ist das pocketControl.

Klicken zum vergrößern

Script zu Erkennung, welcher Kontakt ausgelöst hat:
var sec = (dom.GetObject(ID_FUNCTIONS)).Get("Alarmanlage");
string i;
string list;
list="";
foreach(i,sec.EnumUsedIDs())
{
var item=dom.GetObject(i);
if(item.IsTypeOf(OT_CHANNEL))
{
var dev=dom.GetObject(item.Device());
if( (dev.HssType()=="HmIP-SWDM") || (dev.HssType()=="HM-Sec-SCo") || (dev.HssType()=="HMIP-SWDO") )
{
var state=item.DPByHssDP("STATE");
if(state.Value())
{
list=list+dev.Name();
}
if(state1.Value())
{
list=list+dev.Name();
}
}
}
}
dom.GetObject('Alarmkontakt').State(list);

Script für pocketControl-Push
string PushText = "Die Alarmanlage wurde durch "#list#" ausgelöst!";dom.GetObject('pocketControlPushMessage').State(PushText);

Natürlich kann man hier auch jede andere Benachrichtigungsart verwenden.
Die verschiedenen Arten sind m.M. nach sehr gut in der Anleitung für das ursprüngliche Script beschrieben.
Das Ergebnis sieht dann wie folgt aus:

Home Assistant vs. Homematic – Teil 1

Mich umtreibt momentan folgende Frage:

Soll ich bei meinem aktuellen Setup mit Home Assistant bleiben oder soll ich das System zu Homematic migrieren?

Mein aktuelles Setup sieht wie folgt aus:
1 x alter Dell Laptop als Proxmox Host
Darauf laufen diverse VM’s, darunter:
1 x Home Assistant auf einer VM
1 x Zoneminder, PiHole Ad Blocker, Plex Media Server auf einer VM
1 x Nextcloud (migriert von meiner Internet VM, da kein Speicher mehr)

Ich habe die Bedienung von Homematic dass erste mal bei einem Kollegen gesehen, der sich eine CCU2 zugelegt hat.
So schlecht sah das eigentlich alles gar nicht aus und was ich gut finde, mann kann komplexe Automatisierungen programmieren, in einer Webübersicht, dass funktioniert in Home Assistant nicht so gut, auch wenn aktiv daran gearbeitet wird, hier die GUI zu verbessern.

Darauf hin habe ich mich mal etwas mit Homematic beschäftigt und habe gesehen, dass es auch möglich ist, über den CUx-Daemon weitere Geräte, die nicht von Homematic sind, in eine CCU einzurichten.
So auch die Anwesenheitserkennung über die Fritzbox, Ikea’s Tradfri-System, als auch die normalen Homematic Geräte, bzw. die IP Geräte.

Nachteil in meinem Fall, ich müsste meine 11 Heizungsthermostate austauschen, was schon ein Invest ist, denn das MAX!-System ist mit Homematic nicht kompatibel.

Aufjedenfall habe ich für den Raspi nun das Homematic-Funkmodul bestellt und werde mir mal einen Raspberrymatic aufbauen und schauen, was geht – und was nicht.
Die Ergebnisse werde ich dann hier veröffentlichen.