Plugin Hikvision: Connection closed

Bonjour,
l’image de la camera ne s’affiche pas sur le dashboard; elle s’affiche parfaitement sur le plugin-camera.
comment analyser car pour l’instant je n’ai rien réussi à faire fonctionner avec ce plugin-hikvision ?
le seul message qui s’affiche dans les log Hikvision_node est « Connection closed! »

Merci d’avance

CapturePluginHKVision

Bonjour,

Nous pouvons aider si vous nous aider; un peu de lecture ici:
Pour que la communauté puisse vous aidez, je vous invite à lire ce post et nous donner les informations manquantes, merci,
Sans cela vous risquez de ne pas avoir beaucoup d’aide.

Comment ca ?

  • Ou sont les logs en debug ?
  • Quel modèle de caméra ?
  • Les points de la documentation ont bien été suivi sur la configuration de la caméra ? (car le connexion refused c’est 99% là l’erreur, sur la caméra et pas le plugin)
1 « J'aime »

des informations supplémentaires:
Camera DS-2CD2046G2-I
Jeedom 4.1.22 sur un Rapsberry Pi 4 tournant sur un disque SSD sous Linux raspberrypi 5.10.17

comme indiqué le seul message en mode debug activé est « Connection closed ».


concernant la configuration côté caméra, je pense avoir appliqué correctement les 3 lignes de paramétrage indiqué dans la doc:
Système : Sécurité doit être sur digest/basic et vous devez créer un utilisateur avec au moins les droits Centre de Surveillance

  • Réseau, Avancé : l’onglet Protocole d’intégration doit être en digest/basic aussi avec l’utilisateur présent*
  • Evènement : chaque type d’évènement de la caméra, il faut bien configurer qu’il est actif et notifier vers le Centre de Surveillance*




Bonjour,
as-tu vérifié que ton utilisateur a le droit notifier le surveillance center?
Il y a un paramètre Remote : Notify Surveillance Center
J’avais aussi un peu (beaucoup) galéré à l’époque et j’avais écrit HIK - Connection Closed - #12 par AlexKidd

Bonjour,
l’utilisateur a les bons droits. L’url suivante fonctionne même sur un navigateur:
http://192.168.1.64/ISAPI/Event/notification/alertStream

par contre je suis revenu au port 80 (bien que le plugin semble supporté le HTTPS) car la camera semble rejeter la connexion en 443 du plugin.

Bon, le fait de mettre le port 80 permet d’avoir l’affichage de l’image sur le dashboard, mais écran noir quand on clique dessus. Affaire à suivre…
(pour info, le port 443 fonctionne bien avec le plugin-camera)
Philippe

Bonjour,

J’ai acheté le plugin « hikvision » mais comme il ne fonctionnait pas, j’ai aussi acheté le plugin officiel « camera » qui me permet d’accéder aux images ou flux temps réel depuis mon mobile avec le plugin mobile (sans exposer la camera à internet)

Ce qu’il n’y a pas dans le plugin camera est la lecture des évènements de la camera, et c’est aussi ce qui m’intéresse.
Cela permet de laisser la camera faire la détection (ce qu’elle fait très bien), et de pouvoir réagir dans jeedom, par exemple par l’envoi d’une notification (au travers d’un scénario) vers l’application mobile.

C’est donc pour comprendre cette lecture d’évènements que je ne n’ai pas laché l’affaire avec ce plugin. Ci-dessous, quelques infos que je partage pour ceux qui l’ont déjà acheté et veulent les évènements.

Prérequis, tester la caméra:

Mon analyse du fonctionnement général:

  • KO pour le démarrage du deamon du plugin si l’ip saisie pour la camera ne répond pas au ping. Il y a les images mais pas les évènement (pas d’erreur dans le log)

  • KO pour la communication avec la camera sur le port 443

  • KO pour l’envoi des évènement si jeedom est configuré en https avec un certificat let’s encrypt ou qui ne contient pas localhost en altname
    (le client/plugin se connecte sur localhost mais rejette la connexion car le serveur renvoie le certificat avec le hostname externe)

  • La remontée des évènements ne fonctionne pas et ne peut pas fonctionner (je suppose sur les cameras récentes ou firmware de caméra récent suite à des corrections et améliorations de la part de Hikvision):

Mon analyse de la lecture des évènements:

  • les évènements retournés commencent par une entête non xml (–boundary …) alors que le code exige un format complètement xml

extraction du xml essentiel au plugin à ajouter avant parseString :
data = data.toString().match(new RegExp(/<channelID>(.*)<.eventDescription>/gs)); if(data!=null) data = '<EventNotificationAlert>'+data+'</EventNotificationAlert>';

/var/www/html/plugins/hikvision/resources/node_modules/cameraeventhandler/dist/cameraEventHandler.js line 54

  • il y a un algo de traitement des évènements que je n’ai pas trop cherché à comprendre, mais il y a des soucis:

soit

  1. remplacer if(count==0) par if(count==1)

/var/www/html/plugins/hikvision/resources/node_modules/cameraeventhandler/dist/cameraEventHandler.js line 97

et/ou

  1. pour éviter que seuls les évènements qui datent de plus de 2s soient traités, supprimer le test de date

/var/www/html/plugins/hikvision/resources/node_modules/cameraeventhandler/dist/cameraEventHandler.js line 150

  • certains évènements peuvent ne pas remonter (les plus intéressants en fait)
  1. dans le flux, la camera envoie en plus du xml, les images liées aux évènements, ce qui ne semble pas prévu dans le plugin

(pas trouvé pour désactiver cet envoi côté camera mais c’est contourné avec la correction 1)

  1. certains évènements peuvent ne pas remonter car l’envoi du message xml peut se faire en plusieurs blocs (dans différents messages),

la correction du 1 devrait limiter les loupés mais une correction propre et plus profonde serait nécessaire.

Environnement:
Camera DS-2CD2046G2-I / Firmware V5.5.160 build 210108
Jeedom 4.1.22 sur un Rapsberry Pi 4 tournant sur un disque SSD sous Linux raspberrypi 5.10.17
Jeedom 4.1.22 sur FreeboxDelta

Salut @Phil4
Tes corrections sont tjs ok ?
Pour info j ai aussi acheté ce plugin qui n’a jamais fonctionné. Je ne comprends pas que des plugins payants ne soient pas suivis ou validés par jeedom ou évalués par les utilisateurs. Bref c’etait mon petit HS. J’ai décortiqué le code et noté les mêmes anomalies que toi et d’autres problèmes également quand on a plusieurs caméras. Le code actuel a été récupéré de différents projets qui souffrent tous du même problème. Les Deamon ne sont pas non plus supervisés
Du coup je vais sortir un nouveau plugin qui servira à gérer de façon optimisée les évènements de toutes les caméras HIK. J’ai avancé. Si tu veux pouvoir le tester je t’indiquerai la beta.
Il faut encore un peu de patience.

Pour répondre à la question dans cette discussion.
Depuis ces corrections qui ne résolvaient pas tout, je me suis créé un plugin (en python) qui fonctionne pour mes besoins. Je l’ai conçu pour être livré un jour, mais comme loic69, super motivé, plus expérimenté dans Jeedom, est passé par là, je lui ai passé mes connaissances du sujet.

1 « J'aime »

Bonjour @loic69
J’ai beau tout essayé je n’arrive pas à récupérer les événements de mes caméras Hik à travers le plugin de Lunarok. Je reste disponible si tu as besoin de testeurs pour ton développement ! Hâte de voir cela !

Essaye mon plugin
Cherche « HIKVISION EVENT » sur ce forum , tu vas tomber dessus.