Reolink Video Doorbell PoE je praktický sieťový videozvonček. Má napájanie cez PoE, lokálne webové rozhranie, podporu streamovania a dá sa integrovať do systému domácej automatizácie. V praxi sa však môže stať, že oficiálna mobilná aplikácia Reolink oznámi stlačenie tlačidla až s citeľným oneskorením. V mojom prípade to bolo približne 20 sekúnd, čo je pri zvončeku pri dverách príliš veľa.
Cieľ bol jednoduchý: zachytiť stlačenie tlačidla lokálne a poslať okamžitú signalizáciu na telefón. Bez čakania na cloud, bez oneskorenia oficiálnej aplikácie a ideálne tak, aby sa po kliknutí na notifikáciu otvorilo aj video v aplikácii Reolink.
Čo zariadenie poskytuje
Reolink pri podporovaných zariadeniach uvádza podporu protokolov CGI, RTSP a ONVIF. CGI je vhodné na HTTP príkazy a skriptovanie, RTSP na video stream a ONVIF na integráciu s kamerovými systémami a domácou automatizáciou.
Pri Reolink Video Doorbell PoE je najdôležitejšia práve ONVIF udalosť Visitor. Tá reprezentuje stlačenie tlačidla zvončeka. Nie je teda potrebné pravidelne sa pýtať zariadenia, či niekto zazvonil. Správne integrovaný systém vie reagovať priamo na zmenu binárnej udalosti.
Lokálnym testom cez ONVIF PullPoint sa potvrdilo, že pri stlačení tlačidla príde udalosť so stavom State=true a po určitom čase sa stav vráti na State=false. Home Assistant túto udalosť sprístupňuje ako binárny senzor typu Visitor / Návštevník.
Prečo Home Assistant
Home Assistant je v tomto prípade vhodný ako lokálny notifikačný most:
- zachytí Reolink Visitor / Návštevník udalosť,
- spustí automatizáciu,
- odošle push notifikáciu na telefón cez Home Assistant Companion App,
- môže pridať hlasný zvuk, snapshot alebo kliknutie na otvorenie aplikácie Reolink,
- všetko prebehne lokálne v domácej sieti, bez potreby verejne sprístupniť zvonček alebo Home Assistant.
Základné požiadavky
Na takéto riešenie treba:
- Reolink Video Doorbell PoE pridaný v Home Assistante cez integráciu Reolink.
- v Home Assistante viditeľnú entitu Visitor / Návštevník.
- nainštalovanú Home Assistant Companion App v telefóne.
- v Home Assistante dostupnú notify službu telefónu, napríklad notify.mobile_app_<telefon>.
- automatizáciu, ktorá pri zmene entity Návštevník na on odošle notifikáciu.
Dôležité je použiť skutočné entity_id z vlastnej inštalácie. V slovenskom prostredí Home Assistantu môže byť entita pomenovaná napríklad s koncovkou navstevnik, nie visitor. Preto netreba kopírovať názov entity naslepo, ale overiť ho v zozname entít.
Príklad automatizácie
Príklad nižšie používa všeobecné placeholdery, ktoré treba nahradiť hodnotami z vlastnej inštalácie:
Hodnota channel: alarm_stream je dôležitá najmä na telefónoch, kde bežná notifikácia príde, ale neprehrá zvuk. Tento kanál použije alarmový zvukový kanál Androidu. V teste to fungovalo aj pri vypnutej obrazovke.
Riadok clickAction: app://com.mcu.reolink spôsobí, že po kliknutí na notifikáciu sa otvorí aplikácia Reolink. Ak je aplikácia Reolink nainštalovaná priamo v systéme, otvorenie funguje korektne. Pri inštalácii cez virtualizačný kontajner typu GBox sa môže stať, že Android otvorí obchod alebo stránku aplikácie namiesto samotného Reolinku.
Bežný Android telefón
Na bežnom Android telefóne s Google Play službami je postup najjednoduchší:
- nainštalovať Home Assistant Companion App z Google Play.
- prihlásiť sa do svojej Home Assistant inštancie.
- povoliť aplikácii Home Assistant notifikácie.
- vypnúť príliš agresívne šetrenie batérie, ak výrobca obmedzuje beh aplikácií na pozadí.
- overiť v Home Assistante, že existuje služba notify.mobile_app_<telefon>.
- otestovať jednoduchú notifikáciu.
- potom použiť automatizáciu zvončeka.
Huawei bez Google Play služieb
Špeciálny prípad sú telefóny Huawei bez Google Play služieb, napríklad Huawei P40. Tu nefunguje štandardný Google FCM push, ktorý používa veľa Android aplikácií. Home Assistant Companion App však vie použiť lokálne push notifikácie cez trvalé pripojenie.
V teste fungovala plná Home Assistant Companion App nainštalovaná z APK zdroja pomocou aplikácie APKPure. Dôležité bolo:
- nepoužiť minimal build bez podpory notifikácií,
- nastaviť v aplikácii Trvalé pripojenie na Vždy,
- v Huawei nastaveniach povoliť oznámenia,
- povoliť automatické spustenie, sekundárne spustenie a beh na pozadí,
- vypnúť automatickú správu batérie pre Home Assistant,
- použiť notifikačný kanál alarm_stream,
- Reolink aplikáciu nainštalovať priamo z APK zdroja, nie cez GBox.
- pri prepínaní medzi Wi-Fi a VPN sa môže stať, že Home Assistant Companion App neobnoví local push pripojenie správne. Typická hláška v Home Assistante je
Device not connected to local push notifications. Riešenie je jednoduché, hoci nie veľmi elegantné: aplikáciu Home Assistant v telefóne úplne zastaviť a znovu spustiť. Po reštarte aplikácie sa trvalé pripojenie obnoví a notifikácie fungujú aj cez VPN.
Bezpečnosť
Na samotné zvonenie nie je potrebné verejne vystaviť Home Assistant ani Reolink na internet. Reťazec môže fungovať úplne lokálne:
Reolink -> Home Assistant -> Home Assistant Companion App
Ak treba prístup mimo domu, bezpečnejšie je použiť VPN než presmerovanie portov z verejnej IP adresy. Pri Huawei bez Google služieb môže byť VPN použiteľná, ale treba počítať s tým, že local push závisí od trvalého pripojenia aplikácie.
Čo je dôležité
Najdôležitejšie body celého riešenia:
- zachytávať Reolink Visitor / Návštevník entitu, nie sa spoliehať iba na oneskorený cloud push Reolink aplikácie,
- použiť presné entity_id z vlastného Home Assistantu,
- overiť, že telefón má vlastnú notify.mobile_app službu,
- pri tichej notifikácii použiť alarm_stream,
- na Huawei bez Google služieb zapnúť trvalé pripojenie a povoliť aplikácii beh na pozadí,
- Reolink aplikáciu inštalovať priamo, ak ju má otvárať clickAction,
- nevystavovať zbytočne Home Assistant ani kameru na verejný internet.
Výsledok
Po nastavení automatizácie Home Assistant reaguje na stlačenie tlačidla zvončeka okamžite. Telefón prehrá hlasnú notifikáciu a po kliknutí na ňu otvorí aplikáciu Reolink s videom. Riešenie tým obchádza oneskorenie oficiálnej Reolink push notifikácie, ale stále ponecháva Reolink aplikáciu na to, na čo je najvhodnejšia: video a komunikáciu s návštevníkom.
Zdroje
https://support.reolink.com/articles/900000617826-Which-Reolink-Products-Support-CGI-RTSP-ONVIF/
https://support.reolink.com/articles/900000617826-Which-Reolink-Products-Support-CGI-RTSP-ONVIF/
https://support.reolink.com/articles/16938270669593-How-to-Set-up-Visitor-Alerts-for-Reolink-Video-Doorbell-Cameras/
https://www.home-assistant.io/integrations/reolink/
https://companion.home-assistant.io/docs/notifications/notification-local/
https://companion.home-assistant.io/docs/notifications/notifications-basic/