Einbindung der ESENTA SIAS (S)IP Türsprechanlage per MQTT in FHEM

Seit dem Firmware Version 1.10.x kann die ESENTA SIAS per MQTT Informationen weitergeben. Das ist natürlich ein perfekter Weg zur Einbindung in FHEM, denn ich gleich mal ausprobiert und für Euch dokumentiert habe.

Werbung

Welche Informationen sendet die ESENTA SIAS per MQTT?

Laut ESENTA sind mit der Firmware Version 1.10.x folgende Möglichkeiten vorhanden:

  • Bewegungserkennung
  • Authentifizierung von Bewohnern über Fingerprint, NFC, PIN Code, App oder SIP
  • Beim Auslösen der Klingel bzw. Statusänderung der Klingel
  • QR Codes, die keinem Zugangscode entsprechen, um diese an anderen Stellen auszuwerten

Aus meiner Sicht ist das für eine erste Version der MQTT Schnittstelle sehr gut, da gerade die ersten beiden Fälle schon die wichtigsten meiner Szenarien abdecken und so kann ich getrost über eine Einbindung via Homematic Schließerkontakt  (war ursprünglich geplant) verzichten.

Wie bindet man die ESENTA SIAS in FHEM ein?

1) Falls noch nicht vorhanden einen MQTT2 Server in FHEM einrichten und direkt mit einem Passwort absichern

define myBroker MQTT2_SERVER 1883 global
define allowed_MQTT2 allowed;
attr allowed_MQTT2 validFor myBroker;
attr allowed_MQTT2 basicAuth { "$user:$password" eq "mqttuser:secret" };

2) In der Esenta SIAS Weboberfläche unter Smarthome, die MQTT Schnittstelle aktivieren und die Logindaten hinterlegen. Danach überprüfen, ob der Status „verbunden“ ist.

MQTT Konfiguration in der ESENTA SIAS Weboberfläche

3) Zurück in FHEM wird nun ein MQTT Device automatisch angelegt, sobald zumindest eine Bewegung von Eurer Türsprechstation erkannt wird, da per Default das autocreate Attribut des MQTT Servers auf „simple“ gesetzt ist. Sollte noch kein Device vorhanden sein, dann löst eine Aktion aus wie bspw. eine Klingeltaste in der Türstation zu drücken.  Das Device wird so angelegt, dass es nun auf die MQTT Client ID der Türstation horcht. Die Client ID der ESENTA SIAS sieht etwa so aus „SI_AS1100V2_XXXXX“, wobei XXXXX als Platzhalter zu verstehen ist.

Automatisch erstelltes MQTT Device der ESENTA SIAS in FHEM

4) Umbenennen des Devices (XXXXX durch eigene ID ersetzen) und ggf. einem Raum, etc. zuordnen.

rename MQTT2_SI_AS1100V2_XXXXX MQTT2_EsentaSias;

5) Entsprechend der per MQTT umgesetzten Punkte (wie oben beschrieben) gibt es in MQTT nun jeweils ein Topic hierzu (motion, authentification, ring und qrcode). Ich habe es für sinnvoll gehalten, die vier Topics als einzelne MQTT Devices in FHEM zu erstellen. Man kann dies natürlich manuell machen oder alternativ über folgenden Befehl (XXXXX durch eigene ID ersetzen). Dadurch wird dynamisch für jedes neue Topic ein Device angelegt.

set MQTT2_EsentaSias bridgeRegexp esenta/SI-AS1100V2-XXXXX/([A-Za-z0-9]*)[/]?.*:.* "EsentaSias_$1"

6) Damit dies tatsächlich geschieht sollte man sich einmal zur Türstation bewegen, sich authentifizieren und einmal klingeln. Falls gewünscht natürlich auch einen QR Code einscannen (habe ich weggelassen). Das Ergebnis sieht dann wie folgt aus:

Automatisch erstellte MQTT Devices basierend den Topics der ESENTA SIAS

7) Nun können wir die Werte die MQTT liefert auswerten. Die Werte werden als Readings angelegt. Im Nachfolgenden ist nun also beschrieben, wie wir den das state Attribut des jeweiligen Devices setzen – beginnen wir beim Bewegungsmelder. Durch Definition des stateFormat Attributs können wir in den state des FHEM Devices schreiben, ob aktuell eine Bewegung erkannt wurde oder nicht. Dies geschieht durch folgenden Befehl:

attr MQTT2_EsentaSias_motion stateFormat {
if(ReadingsVal("$name","value",0) eq "true") {
sprintf("motion");;
} else {sprintf("no_motion");; }
}

8) Weiter geht es mit der Klingel. Ich gebe zu, hier habe ich es mir leicht gemacht, da ich nur ein Klingelschild definiert habe. Interessant zu wissen ist, dass es folgende Statis gibt: ringing, established, hangup, timeout . Diese kann man natürlich wunderbar in allen möglichen Anwendungsfällen weiterverarbeiten.

attr MQTT2_EsentaSias_ring stateFormat status;

9) Zuletzt noch die Auswertung der Zutrittskontrolle. Ich finde es hier sinnvoll im state stehen zu haben, wer sich zuletzt angemeldet hat. Allerdings bekommt man per MQTT aus der ESENTA SIAS nur IDs (User, Fingerprint, NFC Card, …) geliefert, deren Zuordnung man in der Weboberfläche der ESENTA SIAS unter Benutzer einsehen kann. Zur Umwandlung und weiteren Verwendung in FHEM eignet sich das eventMap Attribut:

attr MQTT2_EsentaSias_authentication stateFormat userid;
attr MQTT2_EsentaSias_authentication eventMap /20:Paul/21:Anja;

Das war es zur initialen Einbindung der ESENTA SIAS in FHEM. Ich persönlich finde die Umsetzung per MQTT wirklich top und sinnvoll – das machen nicht viele so.

4 Gedanken zu „Einbindung der ESENTA SIAS (S)IP Türsprechanlage per MQTT in FHEM“

  1. Servus Uli!

    Danke für die ausführliche Beschreibung. Kann man eigentlich aus FHEM heraus auch Events auf dem Hub (z.B. Relais für den Türöffner/Licht) anstossen? Gibt es dafür eine Art API? Ich hab hierzu leider Nichts finden können in der Beschreibung.

    Beste Grüße,
    Tom

    1. Hallo Tom,

      sehr gute Frage. Man kann die Anlage über mehrere Wege (WebThings, HTTP Calls oder MQTT) ebenso steuern. Die Steuerung per MQTT wurde in einem der letzten Releases ergänzt und ich habe das bei mir auch umgesetzt. Man kann nun per MQTT einen Anruf starten/ stoppen, die Relais steuern (Haustüre öffnen, Licht anschalten, …), Schnappschüsse über die Kamera erstellen oder einen bestimmten Text im Display anzeigen. Ich finde das sehr praktisch, da ich nun via Smarthome das Klingeln beende, wenn eine Bewegung in meinem Flur erkannt wird oder die Haustüre geöffnet wird. Ebenso kann ich die Haustüre über meine Wandtablets öffnen. Die Dokumentation ist direkt in das Admin Webinterface integriert, weshalb es auch nicht in der Bedienungsanleitung zu finden ist.

      Grüße,
      Sven

      1. Natürlich Sven nicht Uli, sorry! Wer lesen kann ist klar im Vorteil…

        Danke für die Rückmeldung! Dann klingt das Ding (trotz des recht hohen Preises) nach der idealen Türstation, wenn man eine Fritzbox und FHEM laufen hat. Dank MJPEG sollte es ja auch in FTUI „nativ“ laufen und wenn man dann nun auch noch „in die andere Richtung“ Events auslösen kann, umso besser!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.