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.

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.

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:

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.
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
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
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!
Tom,
korrekt – das ist ein wirklich gutes Setup aus meiner Sicht. Die Einbindung der Kamera in FHEM auch per FTUI kannst Du hier nachlesen: https://wolf-u.li/6059/kamera-der-esenta-sias-sip-tuersprechanlage-in-fhem-einbinden/ . Ich nutze IPCAM um Schnappschüsse zu machen und mir diese bspw. per Telegram zu senden. Den Weg über Nginx zur Einbindung in FTUI. Warum ich den Reverse Proxy verwende ist im Artikel beschrieben.
Grüße,
Sven