Hi,
da ich bisher dazu noch keinen Eintrag finden konnte, wollte ich euch meine Kamera nicht vorenthalten, die ich seit ein paar Tagen im Gebrauch habe. Und zwar habe ich mir über AliExpress folgende Kamera bestellt:
Full HD Video, Mikrofon und Lautsprecher, schwenkbarer Körper, microSD Karte und USB Stick als Speicheroption, Nachtsichtoption, Bewegungssensor, usw. was will man mehr. Für knapp 30EUR dachte ich mir, kann man das ja mal probieren und nicht sooo viel falsch machen.
Solltet ihr die Kamera versuchen ueber die hauseigene App einrichten wollen, habe ich bemerkt, dass ihr die Landeseinstellungen auf Asien oder Hongkong stellen müsst, da ihr ueber den europäischen Server die Kamera nicht einrichten könnt, da es sie schlichtweg in der Auswahl nicht gibt. Ich war mir dann aber unsicher ob das irgendwelche negativen Effekte hat, weshalb ich mir dachte, ich versuch sie direkt in HK ueber Homebridge zu intergrieren und das hat am Ende auch geklappt, weshalb man meiner Meinung nach, der App selbst auch nur sekundaer Beachtung schenken kann.
So nun aber zur Integration. Die Basis hierfuer ist, wie bei vielen anderen Kameras auch, ffmpeg. In meinem Falle hab ich direkt das Plugin homebridge-dafang genutzt. Als Vorbereitung dafür muss man zuerst den bootloader auf einer microSD laden und damit die Kamera "flashen". Danach wird die neue Firmware auf die microSD Karte geladen. (Anleitung fortlaufend nach den Schritten fuer den bootloader).
Nun sollte man schonmal ueber einen Browser direkt auf die Kamera und deren Einstellungen Zugriff haben indem man die IP Adresse der Kamera eingibt.
Als nächstes muss man einen MQTTbroker einrichten. Hierbei gibt es verschiedenste Anleitungen und auch zwei Optionen vom Entwickler selbst werden gezeigt. Da in meinem Fall dies mein erster MQTTbroker ist den ich am laufen habe, hab ich einen ueber mlab.com erstellt. (Da ich hier bei den configs noch irgendwo Fehler habe, kann ich die Kamera nicht manuell schwenken etc, weshalb ich da nochmal beim developer um Hilfe bitten muss bei der Lösungsfindung.) Nachdem nun sozusagen alles vorbereitet ist, kann man auch das eig. Plugin installieren. Bei mir laeuft jedes Plugin in einer eigenen Instanz, womit ich in den letzten Monaten am meisten Erfolg hatte, Stabilität reinzukriegen, weshalb die nachfolgende Anleitung auf dem Prinzip der Instanzen aufgebaut ist.
sudo npm install -g homebridge-dafang
sudo touch /etc/systemd/system/homebridge-dafang.service
sudo nano /etc/systemd/system/homebridge-dafang.service
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=root
EnvironmentFile=/etc/default/homebridge-dafang
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Alles anzeigen
sudo touch /etc/default/homebridge-dafang
sudo nano /etc/default/homebridge-dafang
# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
#HOMEBRIDGE_OPTS=-U /var/homebridge >> /var/log/homebridge.log 2>> //var/log/homebridge.err
HOMEBRIDGE_OPTS=-U /var/homebridge-dafang
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*
sudo mkdir /var/homebridge-dafang
sudo touch /var/homebridge-dafang/config.json
sudo nano /var/homebridge-dafang/config.json
{
"bridge": {
"name": "Homebridge-dafang",
"username": "CC:22:3D:E3:CE:99",
"port": 51899,
"pin": "123-45-678",
"manufacturer": "@Paul Schmidt",
"model": "Homebridge",
"serialNumber": "0.4.33"
},
"accessories": [],
"platforms": [{
"platform": "Dafang",
"mqtt": {
"hostBroker": true,
"debug": true,
"mongoUrl": "mongodb://username:[email protected]:XXXXX/mqtt"
},
"cameras": [{
"cameraName": "Camera",
"cameraRTSPStreamUrl": "rtsp://IP_Adresse:8554/unicast",
"mqttTopic": "Wohnzimmer/Camera/#",
"disableStream": false,
"folder": "PFAD_ZUM_SPEICHERORT",
"segmentLength": 60,
"maxDirSize": 2048,
"checkStorageSizeInterval": 300,
"recordingDirectoryPathFormat": "MMM-D-YY",
"recordingFilenameFormat": "M_D_YYYY_ h_mm_ss_a",
"accessories": [{
"name": "Wohnzimmer Bewegungssensor",
"type": "richMotionSensor",
"threshold": 300000
},
{
"name": "Wohnzimmer Auto Bewegung Switch",
"type": "autoMotionTrackingSwitch"
},
{
"name": "Wohnzimmer Nachtsicht Sensor",
"type": "nightVisionSensor",
"threshold": 0
},
{
"name": "Wohnzimmer Nachtsicht Switch",
"type": "nightVisionSwitch"
},
{
"name": "Wohnzimmer Auto Nachtsicht Switch",
"type": "autoNightVisionSwitch"
},
{
"name": "Horizontal Links",
"type": "moveCamera",
"axis": "horizontal",
"direction": "left"
},
{
"name": "Horizontal Rechts",
"type": "moveCamera",
"axis": "horizontal",
"direction": "right"
},
{
"name": "Vertical Hoch",
"type": "moveCamera",
"axis": "vertical",
"direction": "up"
},
{
"name": "Vertical Runter",
"type": "moveCamera",
"axis": "vertical",
"direction": "down"
},
{
"name": "Video Aufnehmen",
"type": "recordVideo"
},
{
"name": "Audo Aufnehmen",
"type": "recordAudio"
},
{
"name": "Foto Machen",
"type": "captureImage"
},
{
"name": "RPi Speicher Sensor",
"type": "storageSensor"
},
{
"name": "Clear Storage Switch",
"type": "clearStorage"
},
{
"name": "Reset Streaming",
"type": "resetFFMPEG"
},
{
"name": "Bewegungssensor Switch",
"type": "motionDetection"
},
{
"name": "RTSPSwitch",
"type": "rtspSwitch"
},
{
"name": "MJPEG Switch",
"type": "mjpegSwitch"
},
{
"name": "Rekalibrierung Switch",
"type": "recalibrateSwitch"
},
{
"name": "Neustart Switch",
"type": "restartSwitch"
},
{
"name": "ReMount Switch",
"type": "remountSwitch"
},
{
"name": "Camera Helligkeit",
"type": "brightness"
}
],
"videoConfig": {
"source": "-rtsp_transport tcp -i rtsp://IP_ADRESSE:8554/unicast",
"stillImageSource": "-rtsp_transport http -i rtsp://IP_ADRESSE:8554/unicast -vframes 1 -r 1",
"maxStreams": 5,
"maxWidth": 1280,
"maxHeight": 720,
"maxFPS": 25,
"vcodec": "h264",
"debug": true
}
}]
}]
}
Alles anzeigen
sudo systemctl daemon-reload
sudo systemctl enable homebridge-dafang.service
sudo systemctl start homebridge-dafang.service
Zur Pruefung vom Status und/oder Echtzeitlog noch sind noch diese beiden Befehle hilfreich.
sudo systemctl status homebridge-dafang.service
sudo journalctl -f -au homebridge-dafang
Nun sollte die Kamera auch schon funktionieren und kann in HK mit dem code eingerichtet/hinzugefuegt werden. Aufgrund der vielen Einstellungsoptionen, welche alle einen einzelnen Schalter haben, habe ich mir einen eigenen Raum nur fuer die Schalter gemacht, der Uebersichtshalber. (Dies ist im Anhang.)
Bisher bin ich recht zufrieden, obwohl ich kein direktes Livevideo habe, sondern nur Standbilder. Diese werden aber in kuerzesten Intervallen aktualisiert. Hierbei muss ich nochmal pruefen, ob ein durchgehendes Video auch geht.
Was ich ansonsten noch sagen kann: ich hatte anfaenglich Schwierigkeiten, dass mir das yeelight-platform Plugin immer wieder abgestürzt ist, seit ich die Kamera integriert habe. Da beide plugins vom selben Entwickler sind, habe ich diesen angeschrieben und dieser hat binnen paar Stunden den Fehler mit einem update vom yeelight-platform plugin geloest und seit einem halben Tag laeuft jetzt alles besser denn je. Solltet ihr also ein aehnliches enivornment haben, empfehle ich das Update auf version homebridge-yeelight-platform1.2.4
Sollte jemand die Kamera an einen Ort aufstellen, wo man relativ nahe daneben sitzt/schlaeft, empfehle ich die Bewegungserkennung zu deaktivieren, da der Schwenkmotor zu hoeren ist und das unter Umstaenden auf Dauer stoerend wirken kann. Hierbei muss ich noch meine config von den Fehlern befreien, damit ich per Automation die Bewegungserkennung aktiviere, wenn niemand zu Hause ist und deaktiviere wenn ich zu Hause bin.
Overall kann ich nach aktuell nach ein paar Tagen testen sagen, dass ich Preis-leistungstechnisch zufrieden bin, fuer knapp 30EUR eine Kamera in HomeKit integriert zu haben, die viel Potenzial hat.
Ich hoffe mit diesem Post dem ein oder anderen einen Anreiz zu geben sich auch mit dem Thema Kamera in HomeKit mit kleinem budget auseinanderzusetzen.