Integration der DoorBird Videosprechanlage in Homematic

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Antworten
HendrikM
Beiträge: 14
Registriert: 25.01.2018, 18:20
Hat sich bedankt: 3 Mal

Integration der DoorBird Videosprechanlage in Homematic

Beitrag von HendrikM » 23.11.2021, 18:13

Hallo liebe Community,

Nachdem ich hier einige hilfreiche Ideen gefunden habe möchte ich gern auch mein erstes umfangreicheres Projekt mit euch teilen:

Die Integration der DoorBird Videosprechanlage mit der Homematic.

Ausgangssituation:
Bislang hatten wir eine Ring Doorbell 2. Da diese regelmäßig das WLAN Signal verlor und ich unabhängig von amerikanischen Servern werden wollte, suchte ich nach einer Alternative. Entschieden habe ich mich für die DoorBird V2101, welche per PoE im Netzwerk eingebunden ist.

Hier meine gewählte Hardware:

DoorBird V2101: https://amzn.to/32n6rHo

TP-Link PoE Switch: https://amzn.to/3nDYPZ5

Cat 8.1 Kabel: https://amzn.to/30Q1bLV

Meine Anwendungen in der HomeMatic:
Nachdem die DoorBird eingebaut und in Betrieb genommen wurde, setzte ich mich mit der Integration in das SmartHome auseinander.
Folgende Anwendungen wollte ich mir der DoorBird realisieren:

=> Jemand klingelt an der Tür, dann …
… spielt der HMIP-MP3 Gong ein Klingelsignal
… wird ein Foto der klingelnden Person lokal auf der CCU gespeichert
… habe ich die Möglichkeit die Haustür direkt aus der DoorBird App zu öffnen (mit Hilfe des HMIP-Türschlossantrieb)

Was hier noch kommen wird:
…… Da wir Nachwuchs zum Jahreswechsel erwarten, wird die akustische Signalgebung über den MP3 Gong zukünftig Zeit gesteuert sein, dafür werden dann unterschiedliche Lichter angehen. Bei den Lampen handelt es sich um Philips Hue Leuchtmittel, die in der HomeMatic integriert sind. Dies sind aber zukünftig nur leichte Änderungen im Programm.

Was ich nicht gemacht habe:
… Push Up Nachrichten aufs Handy, da das die DoorBird App von alleine schon erledigt.

=> die DoorBird erkennt eine Bewegung, dann
… Speicher die DoorBird ein Foto auf der CCU
… Erhalte ich eine E-Mail auf mein Handy.
Wenn jemand bei uns vor der Haustür steht aber nicht klingelt, ist es in der Regel der Paketbote, oder jemand der da nichts zu suchen hat. Deshalb der Hinweis per E-Mail, damit ich weiß dass Post oder Pakete im Kasten liegen 😉

=> jemand registriert den DoorBird Chip (aktuell nur ich, da wir erst nur einen Chip haben), …
… und war abwesend, dann wird der Status auch anwesend gesetzt (was gegebenenfalls die Alarmfunktion außer Betrieb nimmt) und öffne die Tür.
… Und war anwesend, dann wird der Status auf abwesend gesetzt, und die Haustür abgeschlossen.

Voraussetzung und Vorbereitungsaufgaben:

Auf folgende HomeMatic Hardware wird zurückgegriffen:

HMIP MP3P (via PioTek als bereits zusammengebautes Gerät mit Batterien): https://amzn.to/3kX5lZm
HMIP Türschlossantrieb: https://amzn.to/3CFMLL2

Folgende Zusatz Software habe ich auf der CCU installiert:
Pic01.png
Integration der HUE Bridge um Zugriff auf die Lampen zu haben.

Anzulegende Systemvariablen:
Pic02.png
Die Variable „DoorBird_Bewegung_Zaehler“ ist nicht notwendig und gehe ich hier auch nicht genauer drauf ein. Diese habe ich lediglich genutzt um zu überprüfen, wie „sensibel“ der Bewegungsmelder der DoorBird ist, wie oft er auslöst, damit nicht nachher die CCU mit Fotos zugesagt wird, weil irgendwas oder wer vom Bewegungsmelder erfasst wird.

Anzulegendes CUxD Gerät:

Pic03.png
Wichtig: Die wenn die Seriennummer nicht die CUX2801001 ist, da ihr schon anderen Geräte dieses Typs angelegt habt, dann ggf die letzte Ziffer in den Skripten ändern.

Anzulegende Verzeichnisse auf der CCU:

Per SSH Schlüssel bin ich mit FileZilla und habe auf der CCU folgende zwei Verzeichnisse angelegt:

tem/haustuer/klingel/
und
tem/haustuer/bewegung/

HTTP Befehle auf der DoorBird anlegen und damit die Kommunikation zur CCU herstellen:

Über folgende URL habe ich mir die IDs der Systemvariablen raus gesucht:

http://<IP-DEINER-CCU>/config/xmlapi/sysvarlist.cgi

In der DoorBird App habe ich im Admin Bereich dann folgende HTTP(S) Aufrufe gespeichert:


HomeMatic Bewegung:

HomeMatic Klingel:

HomeMatic Tür öffnen:

HomeMatic Chip_Hendrik:

Jeweils mit folgender HTML Adresse:
http://<IP-DEINER-CCU>/config/xmlapi/statechange.cgi?ise_id=<ID-der-Systemvariable-eingeben>&new_value=true
Nur dass eben die IDs wechseln, da es ja vier unterschiedliche Variablen sind.

Dann gilt es der DoorBird noch zu sagen, wann welcher HTMP Befehlt auszuführen ist:

Wir bleiben im Admin Bereich der App.
Im Bereich „4D Motion Sensor“ => „Einstellungen“ => „Zeitplan für Aktionen => oben links auf „HTTP(S) Aufrufe“ => „Homematic Bewegung“ auswählen und alles aktivieren

Im Bereich „Experteneinstellungen“ => „Relais“ => Relais 1 den Namen „Tür öffnen“ gegeben => Dauer auf 1s heruntergeregelt => „Zeitplan für Folgektionen => oben links auf „HTTP(S) Aufrufe“ => „Homematic Tür öffnen“ auswählen und alles aktivieren
Damit kann man in der DoorBird App, wenn man auf den Schlüssel drückt und „Tür öffnen“ wählt die Keymatic ansteuern.

Im Bereich „Experteneinstellungen“ => „Zeitplan für Türklingel“ => oben links auf „HTTP(S) Aufrufe“ => „Homematic Tür öffnen“ auswählen und alles aktivieren
(Wenn ich möchte, dass die Klingel nicht anspielt, weil das Kind schläft, möchte ich das über die HomeMatic steuern und nicht hier in der App)

Im Bereich „125 KHZ RFID Transponder“ => „Einstellungen“ => den entsprechenden Chip auswählen, der mit der HM kommunizieren soll => „Zeitplan für Aktionen“ => „Tür öffnen“ komplett deaktivieren, da der Chip ja unterschiedliche Funktionen haben soll => oben links auf „HTTP(S) Aufrufe“ => „Homematic Chip“ auswählen und alles aktivieren

Das ganze Speichern.

Nun brauchen wir in der App noch einen Benutzer, damit wir nachher die Bilder zum speichern abrufen können.

Wir bleiben im Administrationsbereich => Benutzer => Einstellungen => „Hinzufügen“ => Berechtigungen => API-Operator anwählen!

Auch hier das ganze speichern und wir sind fertig in der App.

Weiter eggt es in der WebUI der CUU

Programm „Tür öffnen“:
Pic04.png
Programm „Klingel“:
Pic05.png
Vielleicht, sogar wahrscheinlich, kann man den MP3-Gong noch etwas charmanter ansteuern… habe es nach dem try and error Prinzip versucht… und das sorgte dafür, dass das auf der SD Karte gespeicherte Gong Ton spielte und der Gong grün leuchtete (falls man bspw. am Staubsaugen ist, und den Gong nicht hört…)

Das Skript, welches hier ausgeführt wird lautet: (danke geht hier an tdp, der mir die Skripte erstellt hat!!)

Code: Alles auswählen

! +++++ Pfad des auf der CCU abzuspeichernden Bildes +++++
string pictPathCCU = "/tmp/haustuer/klingel/"#system.Date("%Y%m%d-%H%M%S")#".jpg";

! +++++ Zugriffsdaten DoorBird +++++
string ipDoorBird = "xxx.xxx.xxx.xx"; ! IP-Adresse des DoorBird
string account = "xxxxxx0001"; ! DoorBird-Benutzer
string password = "xxxxxxxxxx"; ! Passwort des Benutzers

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

! +++++ Deklaration weiterer Variablen +++++
string cookieUrl; string pictUrl;

pictUrl = "http://"#ipDoorBird#"/bha-api/history.cgi?index=1?http-user="#account#"&http-password="#password;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q  --auth-no-challenge -O '"#pictPathCCU#"' '"#pictUrl#"'");

! Ende des Skripts

Programm „Bewegung“:

Pic06.png
Das Skript, welches hier ausgeführt wird lautet: (auch hier mein Dank an tdp, der auch dieses Skripte erstellt hat!!)

Code: Alles auswählen

! +++++ Pfad des auf der CCU abzuspeichernden Bildes +++++
string pictPathCCU = "/tmp/haustuer/bewegung/"#system.Date("%Y%m%d-%H%M%S")#".jpg";

! +++++ Zugriffsdaten DoorBird +++++
string ipDoorBird = "xxx.xxx.xxx.xx"; ! IP-Adresse des DoorBird
string account = "xxxxxx0001"; ! DoorBird-Benutzer
string password = "xxxxxxxxxx"; ! Passwort des Benutzers

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

! +++++ Deklaration weiterer Variablen +++++
string cookieUrl; string pictUrl;

pictUrl = "http://"#ipDoorBird#"/bha-api/image.cgi?http-user="#account#"&http-password="#password;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q  --auth-no-challenge -O '"#pictPathCCU#"' '"#pictUrl#"'");

! Ende des Skripts
Damit die CCU nicht vollständig zugespamt wird und damit irgendwann nichts mehr geht, ab und an auch mal die Bilder löschen. Dies passiert nicht automatisch!

Das zweite Skript ist das, welches zum E-Mail Aden gehört.


Programm „Chip“:

Pic07.png

Ich hoffe, der ein oder andere kann dies hier gebrauchen.
Freue mich über euer Feedback und vielleicht habt ihr noch die ein oder andere Idee, was noch realisierbar ist.

Schönen Abend
Hendrik

Antworten

Zurück zu „Projektvorstellungen“