Edullinen valvontakamera Home Assistantiin
Kotiimme muutti syksyllä kääpiöluppakorvakani, joka sai työhuoneen majapaikakseen. Kani saa olla huoneessa aina vapaana, silloinkin kun kukaan ei ole kotona. Kanin touhuja paremmin seurataksemme, hankin tutusta kiinalaisesta verkkokaupasta Xiaomi Mijia Dafang Wifi IP-kameran, joka maksoi vain noin 35€.
Kamera on hintaansa nähden laadukas. Siinä on pan- ja tilt-toiminnot, yökuvaustila ja IR-ledit, kaiutin ja mikrofoni sekä 1080p tarkkuus muutamia ominaisuuksia mainitakseni. Tärkein ominaisuus on kuitenkin liitettävyys Home Assistantiin epävirallisen firmwaren avulla.
Firmwaren päivitys tehdään kahdessa vaiheessa: Ensin päivitetään kameran bootloader, jotta se lukisi varsinaisen firmwaren MircoSD -kortilta. Uuden bootloaderin tiedosto kopioidaan MicroSD -kortille ja kamera käynnistetään kortin kanssa laitteen reset -nappi pohjassa. Kamera on ilmeisen nirso MicroSD -kortin suhteen. Sain bootloaderin päivityksen kuitenkin onnistumaan ohjeiden avulla muutaman yrityksen jälkeen.
Tämän jälkeen varsinaisen firmwaren tiedostot kopioidaan SD-kortille ja kamera käynnistetään uudelleen. Kameran asetuksia pääsee sen jälkeen muuttamaan osoitteessa https://dafang/ tai SSH-yhteyden kautta. On hyvä myös huomioida että valmistaja voi jossain vaiheessa estää epävirallisten päivityksien asentamisen uusiin kameroihin. Tämän voi kuitenkin estää rajaamalla kameran pääsyn internetiin.
Firmwaren päivityksen jälkeen kameran saa kytkettyä Home Assistantiin MQTT-protokollan tai kameran oman CGI-rajapinnan avulla. Valitsin CGI-rajapinnan Home Assistantia pyörittävän Raspberry Pi:n rajallisen tehon vuoksi. Tätä varten kameralle tehdään oma tiedosto packages -hakemistoon. Kameran viimeisin konfiguraatiotiedosto löytyy nyt myös GitHubin repositorystani.
camera: - platform: generic name: Työhuone username: !secret dafang_username password: !secret dafang_password authentication: basic still_image_url: !secret dafang_url verify_ssl: false framerate: 1 shell_command: dafang_motor_up: !secret dafang_motor_up dafang_motor_down: !secret dafang_motor_down dafang_motor_right: !secret dafang_motor_right dafang_motor_left: !secret dafang_motor_left dafang_motor_reset: !secret dafang_motor_reset dafang_nightvision_on: !secret dafang_nightvision_on dafang_nightvision_off: !secret dafang_nightvision_off script: dafang_motor_up: sequence: - service: shell_command.dafang_motor_up dafang_motor_down: sequence: - service: shell_command.dafang_motor_down dafang_motor_right: sequence: - service: shell_command.dafang_motor_right dafang_motor_left: sequence: - service: shell_command.dafang_motor_left dafang_motor_reset: sequence: - service: shell_command.dafang_motor_reset dafang_nightvision_on: sequence: - service: shell_command.dafang_nightvision_on dafang_nightvision_off: sequence: - service: shell_command.dafang_nightvision_off
Yllä olevat rivit saavat kameran kuvan päivittymään Home Assistantissa kerran sekunnissa. Lisäksi halutuille kameran toiminnoille kuten kääntelylle ja yökuvaustilalle tehdään komentorivi-skripti esim:
curl -k -u <tunnus>:<salasana> https://dafang/cgi-bin/action.cgi?cmd=motor_up
Home Assistantin lisäksi kameran liikkeentunnistusiominaisuutta hyödynnetään still-kuvien tallentamisessa. Laite tallentaa automaattisesti kuvan NAS-palvelimella olevaan hakemistoon aina liikettä havaitessaan. Halutessaan kameraan voi ottaa myös suoran yhteyden VLC-playerin tai muun RTSP-protokollaa tukevan videosoittimen avulla. Tällöin kuva päivittyy 30 kertaa sekunnissa äänen kanssa.