Subscribe to ONVIF events (motion, visitor, faceDetect, ...) with Reolink Doorbell POE

bonsoir

Existe t’il des plugins ou scripts ou autres methodes qui permettraient de souscrire aux events ONVIF , quelqu’ils soient (visitor, faceDetect, peopleDetect, vehicleDetect, dogCatDetect, Motion, …) d’une camera ?

je viens de m’equiper de Reolink Doorbell PoE pour remplacer des KONX KW05, ca marche tres bien et sans cloud !!!

j’aimerais etre notifié quand quelqu’un sonne à la porte.
le doorbell POE envoie bien un ONVIF event correspondant (tns1:RuleEngine/MyRuleDetector/Visitor)

je peux le voir dans Onvif Device Manager (ODM), et j’ai pu aussi voir qu’il etait bien recu par le plugin Reolink, mais pas traité, seule la detection de mouvement (tns1:RuleEngine/CellMotionDetector/Motion) est prise en compte.

comment pourrais je interpreter aussi l’event tns1:RuleEngine/MyRuleDetector/Visitor ?

  • il est sans doute possible de modifier le code du plugin Reolink (camhook.py), mais je n’en ai pas les competences.

  • le plugin camera qui reconnait ONVIF est base sur la libraire ponvif.php qui implemente la fonction events_Subscribe() , donc cela devrait etre faisabe de ce coté la aussi

  • passer par un NVR shinobi ou firegate est possible mais un peu lourd.

  • FTPer image/video sur event visitor a partir de la camera vers le plugin campatrol est possible, et de la creer un scenario sur update, mais je voudrais garder la possibilite de FTPer image et video sur un NAS en cas de mouvement en general

  • il y a aussi la notification par signal RF433 du doorbell mais cela necessite un SONOFF bridge tasmoté.

Je prefererais le faire uniquement a partir de Jeedom

merci d’avance

voila

j’ai finalement reussi a modifier le code du plugin Reolink pour remonter tous les ONVIF events, y compris le tant desiré evenement « Visitor » (appui sur le bouton de la sonnette du video doorbell POE)

ca marche pas trop mal, testé avec succès sur Reolink Video Doorbell et Reolink C1-PRO (sans l’événement Visitor bien sur)

je n’ai rien modifié aux commandes et traitements existants, de facon a garantir la compatibilité avec ce qui existe deja, je n’ai fait que rajouter des commandes et du code pour mettre a jour ces nouvelles commandes.
ma vieille camera C1-PRO a tres bien supporte la mise a jour du plugin et la Video Doorbell remote maintenant les events ONVIF

les commandes binary suivantes sont créées et mises a jour par l’ONVIF subscription :

  • Event Motion (etat)
  • Event FaceDetect (etat)
  • Event PeopleDetect (etat)
  • Event VehicleDetect (etat)
  • Event DogCatDetect (etat)
  • Event MotionAlarm (etat)
  • Event Visitor (etat)

apres maj du plugin, il faut recrééer les commandes pour les cameras deja definies dans le plugin Reolink pour lesquelles on souhaite les nouveaux events ONVIF

Pull request sur Github : https://github.com/Jezza34000/jeedom_reolink_plugin/pull/26

@Jezza34000 pourrais tu merger dans le branch officiel ?

4 « J'aime »

Hello @t0urista
Merci pour ton travail.
Je jette un oeil au code et je merge tout ça dès que possible.
:slightly_smiling_face:

2 « J'aime »

Merci pour le travail

Bon, j’ai essayé, j’ai récupéré les trois fichiers modifiés
camhook.py , jeeReolink.php , reolinkapicmdjson
sur Github
mis ajour du plugin en beta
Récupérer les informations
Créer, recrée les commandes
en effet, les nouvelles commandes sont apparues
mais les états binaires ne change pas
j’ai dû me planter quel part :upside_down_face:

J’ai refait les manipulations ça fonctionne très bien avec télégramme
merci encore :+1: :grin:

Mergé !
Dispo en update sur le market :blush:
Encore merci @t0urista pour ton PR

Bonjour,
je ne sais pas depuis combien de temps / dans combien de temps, ni si effectif sur certains modèles / certaine région, mais…
en théorie OUI
Avec les WebHook !
Une fois accessibles, il suffirait d’avoir un virtuel « Détection humaine - Cam X » sur son jeedom (ou pareil sur Synology avec des évènement) pour récupérer les détections par catégories via les commande API.
https://doc.jeedom.com/fr_FR/core/4.0/api_http

J’avais demandé, il y a quelque semaine à Reolink où en était cette fonction annoncée depuis longtemps et voici leurs réponse :
(j’avais relancé en voyant ceci :


sur la mise à jour d’une TrackMix POE. Je ne suis pas sur place, donc je peux pas test, mais rien avec la E1 zoom que j’ai sous la main…)


Dear henri,

*This is Cecilia from Reolink support team. Thank you very much for contacting us and we appreciate it. *

*The webhook setting is only available on the camera’s web interface for now. *
For now, it’s advised to access the camera’s web interface via its IP address on a web browser to set up a webhook.

And the attachment is for the API command, you may check if it meets your requirements.

Thanks for your understanding and looking forward to your reply!
Best regards
Reolink Support Team-Cecilia

Pièce(s) jointe(s)
Camera HTTP API User Guide_v7.pdf


Le lien renvoie vers un PDF de 350 pages qui donne toutes les API, datant de spt 2022.
Je ne sais pas si vous le connaissiez.

Tout mon problème est que je ne vois pas l’endroit « noté 2 » sur la capture envoyé par Reolink sur mon E1 zoom !
Voici ce que je vois :

Donc soit il faut faire un truc pour activé « For developer »…?
Soit c’est pas sur toute les cams
Soit c’est pas encore sur les Firmware occidentaux / français
Soit j’ai pas compris un truc
(Pas de retour sur ce point de réolink pour l’instant…)

A suivre…

Wahou merci pour le boulot :sunglasses:

Je test ça d’ici peu, jusque là je passais par une action Synology Surveillance Station → WebHook Jeedom.

Super boulot, merci!

webhook : You can use Webhooks to subscribe to certain events when they occur. Webhooks provide a way to respond to real-time events as they happen without having to constantly poll the API. When an event occurs that matches your webhook scope, a POST HTTP request will be sent to your webhook URL

On utilise bien le webhook dans le plugin Reolink. Le daemon souscrit au webhook de la camera via le protocole ONVIF et via le webhook, la camera envoie les notifications d’evenements a tous ses souscripteurs.
Ces evevenements peuvent etre PeopleDetect, MotionAlarm, VehiculeDetect, Visitor, ou autre.

j’ai simplement rajouté du code qui interprète les notifications recues du webhook (daemon) existant dans le plugin Reolink, pour detecter les evenements tels que PeopleDetect ou Visitor.

Effectivement, si c’est un webhook HTTP depuis l’API de la caméra cela sera beaucoup plus fiable.
Si son fonctionnement est stable cela permettrait de soustraire :
1- Le daemon (et tout sa gestion)
2- La souscription ONVIF qui est assez galère et pas méga fiable

Mais cela demande pas mal de dev pour passer : du fonctionnement actuel, a l’intégration de cette nouvelle fonctionnalité…

Bonjour,
j’ai pas event visitor apres avoir recree les commandes, comment faire ?
Reolink Video Doorbell PoE

il faut bien mettre a jour les 3 fichiers de code.
et redemarrer le plugin

sinon, activer le log en mode debug et verifier le log

les 3 fichiers ne sont pas la mise a jour du plugin ?

Oui c’est correct, maintenant ils sont dispo dans la mise a jour officielle
essaye le log debug, et poste les resultats
As tu bien active ONVIF sur la video Doorbell ?

c’est bon j’ai l events visitor
tu sait si il est possible d’afficher la sonnette quel il y a un visiteur sur jeedom connect ?

a partir du moment ou tu peux determiner sur quelle sonnette l’evenement Visitor est declenché tu fais ce que tu veux, par exemple tu peux lancer un scenario declenche par la commande visitor de ta sonnnette

1 « J'aime »

ok merci pour ton travail sur le plugin il manqué cette option pour cette marque de camera :smiling_face_with_three_hearts:

Bonjour, cela ne marche pas sur les autres caméra reolink?

bonjour

je n’ai pas d’autres cameras Reolink donc je ne peux pas tester, mais a priori cela devrait fonctionner sur toutes les cameras Reolink avec ONVIF.