View Categories

Automatischer Alarm

1. Einführung #

Es kann jedem passieren, in einer wichtigen Angelegenheit etwas zu vergessen. Im Bereich des intelligenten Hauses bzw. Gebäudes betrifft dies insbesondere den Bereich der Sicherheit. Dieses Tutorial stellt eine Lösung vor, mit der Sie das Problem vermeiden, das Scharfschalten der Alarmanlage zu vergessen, wenn Sie Ihr Haus oder Ihr Unternehmen verlassen.

Die Annahme ist folgende: Wenn das System über einen bestimmten Zeitraum keine Bewegung im Gebäude erkennt, schaltet es die Alarmanlage automatisch scharf. Klingt einfach, oder? Geradezu banal. Doch um die Möglichkeiten des DOMIQ-Systems zu demonstrieren, verwenden wir mehrere Konzepte, die Ihnen in Zukunft nützlich sein können, da sie das allgemeine Funktionsmodell des Systems sowie den Ansatz zur Problemlösung veranschaulichen. Wir werden unser Problem in Etappen unterteilen und Schritt für Schritt lösen.

In diesem Tutorial integrieren wir das System mit der Alarmzentrale Satel Integra. Die Konfiguration erfolgt ausschließlich in der Registerkarte Ereignisse im DOMIQ/Base-Modul.

2. Lösung #

2.1. Bewegungserkennung im Gebäude #

Für unsere Lösung benötigen wir eine Methode zur Bewegungserkennung im Gebäude. Hier helfen uns die an das Alarmsystem angeschlossenen Bewegungsmelder. Um das Gebäude ganzheitlich zu betrachten, interessiert uns die Bewegungserkennung an allen Meldern gleichzeitig. An dieser Stelle denken Sie vielleicht: „In meinem Gebäude gibt es mehrere Dutzend davon (oder sogar noch mehr), ich werde also viele Ereignisse benötigen.“ Ganz im Gegenteil – wir erledigen alles mit einem einzigen Ereignis!

Mustererkennung und Parameter

Hier helfen uns Matching-Muster (Pattern) und Parameter. Das ist eine Funktion des Ereignisprozessors im Base-Modul, mit der man viele Aktionen gleichzeitig abdecken kann – mit nur einer Definition. Man kann sich das Muster wie einen Filter vorstellen – er fängt bestimmte Werte ab und ignoriert andere. Mehr über Muster und Parameter findest du hier: https://domiq.pl/produkt/domiq-base/

Das grundlegende Ereignis wird die Bewegungserkennung durch einen beliebigen an die Alarmzentrale angeschlossenen Melder sein. Im DOMIQ-System dient dazu der Bezeichner E.IDS.input.

Der erste Schritt besteht also darin, ein neues Ereignis hinzuzufügen. Zur leichteren Navigation können Sie die Beschreibung vervollständigen.

Geben Sie in das Feld Kanal ein: E.IDS.input.(%d+)

Hier haben wir das passende Muster verwendet: %d+. Es bedeutet „eine oder mehrere Ziffern erfassen“. Hätten wir nur %d geschrieben, dann würde unser Muster nur eine einzige Ziffer im Bereich 0-9 erfassen.

Außerdem ist dank des übereinstimmenden Musters die Nummer des Melders bekannt, der manipuliert wurde. Geben Sie in das Feld Daten ein: 1, da wir an der Bewegungserkennung interessiert sind.

2.2. Untätigkeit im Gebäude #

Wie bereits erwähnt, soll die Alarmanlage scharf geschaltet werden, wenn das System über einen bestimmten Zeitraum keine Bewegung erkennt. Wie Sie sich sicher schon denken können, benötigen wir dafür also einen Timer. Ein laufender Timer sollte die Zählung von Neuem beginnen, sobald eine Bewegung erkannt wird. Hier hilft uns der Befehl TIMER weiter, mit dem sich Timer mithilfe eines einfachen, aus einem Ereignis heraus aufgerufenen Befehls erstellen lassen.

Klicken Sie im Bereich Aktionen auf +Befehl und füllen Sie das Fenster wie folgt aus:

Name: TIMER.autoalarm.1h.C.alarmon
Wert: 1

Ein paar Worte zur Erläuterung. Der Befehl TIMER.autoalarm.1h.C.alarmon erzeugt einen Timer mit dem Namen autoalarm (der Name muss auf der Ebene der gesamten Systemkonfiguration eindeutig sein, da er eine Art eindeutiger Bezeichner für den Timer ist). Der Timer hat eine definierte Verzögerung von 1h – Sie können natürlich auch einen anderen Wert verwenden. Wenn der Timer abläuft, wird der Befehl C.alarmon ausgeführt. Was dieser Befehl bedeutet, werde ich hier nicht weiter erläutern, dazu kommen wir später.

In einem Zug nutzen wir hier auch die Eigenschaft des Befehls TIMER, die es ermöglicht, den Timer bei erneutem Aufruf des Befehls mit derselben Timer-Kennung zurückzusetzen. Mit anderen Worten: Bei jeder Bewegungserkennung durch einen beliebigen der Melder wird unser Timer zurückgesetzt und beginnt die Zeitzählung für Inaktivität von Neuem. Damit ist auch die nächste Annahme umgesetzt – wir verfügen nun über eine Funktionalität, die das Ausbleiben von Aktivität erfasst!

2.3. Scharfschalten des Alarms #

Die letzte Stufe unserer Lösung besteht darin, die Alarmzonen zu aktivieren, wenn das System eine fehlende Bewegung im Gebäude feststellt.

Wir kehren nun zu dem „mysteriösen“ Befehl C.alarmon zurück, der in der Timer-Definition zugewiesen wurde.

Im Grunde steckt hier kein Geheimnis dahinter, denn wir nutzen einfach eine weitere wichtige Funktionalität des DOMIQ-Systems – die Makrodefinition von Ereignissen. Das Base-Modul ermöglicht das Senden beliebiger Textbefehle im System und gleichzeitig die Definition von Ereignissen, die auf diese Befehle reagieren. Ein Beispiel dafür ist genau unser Befehl C.alarmon, der vom Timer gesendet wird, sobald dieser die Zählung beendet hat. Der Inhalt dieses Befehls kann beliebig sein, sofern bestimmte Regeln eingehalten werden:

  1. Ihm geht die Vorsilbe C. oder E. voraus.
  2. Polnische Zeichen und Leerzeichen oder andere Sonderzeichen sind nicht erlaubt. Nur Punkte und Unterstriche sind erlaubt. Daher ist der Befehl in dieser Form korrekt: C.alarm.on oder C.alarm_on.

Betrachten Sie diesen Befehl als einen eindeutigen Bezeichner für Ihr Makro.

Damit das System auf einen solchen Befehl reagieren kann, muss ein weiteres Ereignis definiert werden, das wir Makro-Definition oder kurz Makro genannt haben.

Wofür sind Makrodefinitionen da?

Makrodefinitionen bieten zwei grundlegende Vorteile:

  1. Das „Verpacken“ mehrerer Befehle in eine einzige Definition, die im System leicht abgerufen werden kann. Es handelt sich also um einen Mechanismus, der die Wiederverwendung derselben Definition an mehreren Stellen ermöglicht. Ein in den Ereignissen definiertes Makro können Sie z. B. durch Drücken einer Schaltfläche in der Remote-App, als Ergebnis des Ablaufs eines Timers oder als Resultat einer Funktion in der Logik aufrufen.
  2. Dank der Bündelung mehrerer Befehle in einem einzigen können Sie dieses Makro problemlos an anderer Stelle wiederverwenden und vermeiden so die erneute Definition derselben Befehle in anderen Ereignissen – Sie sparen dadurch Zeit und Ressourcen des Base-Moduls.

Ausgehend von unserem Szenario stellen Sie sich vor, Ihr Alarmsystem verfügt über 10 Zonen. Ohne die Bündelung der Befehle in eine Makrodefinition wäre es nicht möglich, diese gleichzeitig über den Timer scharf zu schalten (der Befehl TIMER kann nur einen einzigen Befehl auslösen). Darüber hinaus möchten Sie möglicherweise auch die Möglichkeit haben, das gesamte Alarmsystem manuell scharf zu schalten, z. B. über die Remote-App. Anstatt alle 10 Zonen manuell scharf zu schalten, können Sie Ihr Makro aufrufen, und das System sendet selbstständig die 10 Befehle, die das gesamte System scharf schalten.

Makrodefinitionen unterscheiden sich in ihrer Definition in keiner Weise von einem gewöhnlichen Ereignis, abgesehen vom Inhalt des Feldes Kanal, das in diesem Fall keinen vordefinierten Bezeichner enthält, sondern den Befehl, der die eindeutige Kennung Ihres Makros darstellt.

Machen Sie sich also an die Arbeit! Fügen Sie ein neues Ereignis hinzu und definieren Sie es wie folgt:

Kanal: C.alarmon

Daten: 1

Fügen Sie im Abschnitt Aktionen Befehle zum Scharfschalten einzelner Alarmzonen hinzu. Nachfolgend finden Sie ein Beispiel für eine Zone:

Bezeichnung: C.IDS.armed.1

Wert: 1; pin:1234.

3. Zusammenfassung #

So haben wir das Ende unserer Lösung erreicht. Um sie zusammenzusetzen, gehen wir noch einmal die wichtigsten Schritte durch:

1. Wir haben ein Ereignis für die Erkennung einer Bewegung durch einen der Sensoren definiert, das einen Timer setzt, der bis zur automatischen Scharfschaltung des Alarms herunterzählt:

Kanal: E.IDS.input.(%d+)
Dane: 1
Aktionen->+Befehl
Nazwa: TIMER.autoalarm.1h.C.alarmon Wartość: 1

2. Wir haben eine Makro-Definition für die Aktion der Scharfschaltung der Alarmzonen definiert. Die Makrodefinition wird vom Timer am Ende des Countdowns aufgerufen.

Kanal: C.alarmon

Daten: 1

Aktionen -> Hier definieren Sie eine beliebige Anzahl von Befehlen, die an einzelne Alarmzonen gesendet werden sollen.

Unser Tutorial befasst sich mit der automatischen Scharfschaltung der Alarmanlage, doch die hier vorgestellten Konzepte können Sie auch zur Umsetzung anderer Funktionalitäten im System nutzen. Ein Beispiel hierfür könnte eine Makrodefinition zum Ausschalten aller Lichter im Gebäude oder ein Makro zur globalen Änderung der Heiz-/Kühltemperatureinstellungen sein.

4. Nachtrag (für Neugierige) #

Bei der Beschreibung des Ereignisses zur Bewegungserkennung durch einen beliebigen Melder habe ich Übereinstimmungsmuster und Parameter erwähnt. Die Information darüber, welcher Melder die Bewegung ausgelöst hat, wurde dabei jedoch nirgendwo verwendet. Um genau diese Information zu erfassen, werden Parameter eingesetzt. So wie Übereinstimmungsmuster eine Art Filter für Ereignisse darstellen, sind Parameter eine Art Container, die das speichern, was von den Mustern herausgefiltert wurde.

Um zu zeigen, wie das funktioniert, sehen Sie sich die folgende Ereignisdefinition an:

Kanal: E.IDS.input.(%d+)
Daten: 1
Aktionen -> +Befehl:

Bezeichnung: C.VAR.lastInput

Wert: $C1

Das obige Ereignis speichert in der Variablen VAR.lastInput die Nummer des Bewegungsmelders, der zuletzt eine Bewegung erkannt hat. Der Parameter $C1 ist eine Variable, die den durch das Muster %d+ herausgefilterten Wert speichert. In einer einzelnen Ereignisdefinition können maximal 9 Parameter vorkommen. Diese werden fortlaufend als $C1 bis $C9 nummeriert.

Im Folgenden finden Sie ein Beispiel mit drei übereinstimmenden Mustern und drei Parametern.

Kanal: E.LCN.output.(%d+).(%d+).(%d+)

Ein auf diese Weise definiertes Ereignis ermöglicht die Erfassung von Aktionen von jedem Segment, Modul und dimmbaren LCN-Ausgang.

Wenn Sie die Segment-Nr., die LCN-Modul-ID und die Ausgangs-Nr. separat erfassen möchten, dann sind diese Werte in den Parametern $C1, $C2 bzw. $C3 verfügbar.

Muster und Parameter sind ein mächtiger Mechanismus, der eine wirklich große Flexibilität bei der Deklaration von Ereignissen im Modul DOMIQ/Base ermöglicht.

Powered by BetterDocs