-
Notifications
You must be signed in to change notification settings - Fork 49
Video DoorBell
Es gibt die Möglichkeit eine Kamera mit einem Türöffner und einem Klingelsensor zusammen zu einem Homekit VideoDoorBell Device zu verknüpfen.
Folgende Einträge sind in der config.json dafür als eine neues Element von "special" notwendig:
"special": [ .... ]
und bei ... muss
{
"name" : "FrontDoor",
"type" : "HM-THKL-VIDEODOORBELL",
"parameter" : {
"camera" : {
"name": "Front Door",
"videoConfig": {
"source": "-re -i rtsp://url_to_rtsp_of_your_camera/livestream2",
"stillImageSource": "-i http://url_of_a_jpg_snapshot_from_ur_camera",
"maxStreams": 2,
"maxWidth": 640,
"maxHeight": 480,
"maxFPS": 30,
"vcodec": "libx264"
}
},
"address_key_event" : "BidCos-RF.1234567:1.PRESS_SHORT",
"address_unlock_actor":"BidCos-RF.ABC12345:1.STATE",
"pir" :{
"address" : "BidCos-RF.1234567:1.MOTION",
"upload":true
}
}
}
Damit das Homematic Plugin weiß, was es damit machen soll muss in der config.json noch unter services dies hier eingerichtet werden:
{
"type": "HM-THKL-VIDEODOORBELL",
"service": "HomeMaticHomeKitDoorBellVideoService"
}
address_key_event entspricht der Adresse des Klingelsensors (oder jedes anderen Sensors der ausgelöst wird, wenn der Postmann klingelt
Im Normalfall werden ja KEY Kanäle für sowas verwendet. Also entweder eine Virtuelle Taste oder ein Klingelsensor. Sollte ein anderes Gerät auf das Klingeln reagieren, was zwei Zustände kennt (also Klingel gedrückt und wieder losgelassen) kann auch nur auf einen dieser gesendeten Zustände reagiert werden.
Auf welchen das Klingeln erkannt werden soll kann mit "state_key_event": .... festgelegt werden.
address_unlock_actor ist die Adresse des Datenpunktes für den Türöffner. Im Normalfall wird eine 1 gesendet. Das kann aber mit unter command_unlock_actor eingestellt werden. Der Syntax ist
"command_unlock_actor" : {"on":true,"off":false}
Es wenn ein Off Kommando gesendet werden soll, kann dies um X Sekunden verzögert werden. Diese Zeit kann mit:
"ontime_unlock_actor" : 10
eingestellt werden. Vorgabe sind 5sek.
Auf dem Raspberry Pi muss ffmpeg installiert sein. Wie das geht steht hier : https://github.com/KhaosT/homebridge-camera-ffmpeg/wiki/Raspberry-PI
VideoConfig Parameter: Es können diverse Parameter im Abschnitt videoConfig übergeben werden:
Parameter | Standard / Bsp. | Erklärung |
---|---|---|
source |
RTSP Url für den Motion Stream der Kamera | |
stillImageSource |
URL für den Snapshot der Kamera | |
maxWidth |
maximale Breite des Bildes | |
maxHeight |
maximale Höhe des Bildes | |
maxFPS |
30 | Frames per Second |
maxBitrate |
maximale Bitrate des Streams | |
vcodec |
libx264 (Default) / h264_omx (for RPi) | Motion Codec |
acodec |
libfdk_aac | Audio Codec |
packetsize |
1316 | Paketgröße |
audio |
true -> Audio soll mit übertragen werden |
WICHTIG
Die Kamera wird nicht innerhalb der bestehenden Homebridge angezeigt. Diese muss als eigenes Gerät hinzugefügt werden. Der PIN ist der Gleiche wie zum Hinzufügen der Homebridge. (siehe pin in der config.json)
Optional kann ein PIR (oder auch jedes andere Gerät welches einen Event auslöst) zusätzlich noch eingebunden werden. Das passiert über den "pir" Eintrag in der Config. Hier muss wieder die Adresse des auslösenden Datenpunktes hinterlegt werden. Wird ein "pir" Eintrag gefunden, wird dem Door Device ein Motion Detector hinzugefügt. Dieser sendet dann auch Push Nachrichten mit einem Snapshot der Kamera.
Die Snapshots welche der PIR Event auslöst können optional auf einem Google Drive Konto gespeichert werden.
Durchlaufen der Einrichtungserklärung : https://developers.google.com/drive/v3/web/quickstart/nodejs Schritt 1-h -> das Verzeichnis zur Ablage der Datei ist .homebridge (dort wo die config.json liegt) Schritt 2 und 3 überspringen In Schritt 4 die quickstart.js folgendermaßen aufrufen node /usr/lib/node_modules/homebridge-homematic/ChannelServices/quickstart.js
Hinweis für die GitHub Version. Es müssen folgende zwei node module manuell installiert werden:
sudo npm install -g googleapis@^18.0.0 --save
sudo npm install -g google-auth-library@0.* --save