Nouveau plugin Hik Hikvision & hikvisionevent

Bonjour à tous,

Je crée ce sujet qui concerne le tout nouveau plugin 2.0 pour les devices Hikvision, nommé #plugin-hikvisionevent
Je n’aborde pas ici le sujet de l’autre plugin existant qui ne fonctionne pas ou très mal et qui fait l’objet de la création de ce plugin.

Un grand merci à @nebz et @Phil4 qui m’ont gentiment donné pleins d’infos, chacunes de grande valeur. Merci à eux. Merci aussi à @Ruben , @Lionel31 et @FabEY pour mes tests et/ou m’avoir donne un accès distant à leurs device pour les tests.

Les fonctionnalités prévues et a venir :

  • Gestion du flux d’alerte des devices hikvision => OK
  • Gestion du flux d’alarme XML, Image et JSON => OK
  • Prise en charge des caméras hikvision et sous marque hik => OK
  • Prise en charge des nvr => OK
  • Creation automatique des commandes au fil de la réception des évènements => OK
  • Gestion de la perte vidéo (par alarme) => OK
  • Gestion de la fonction de signalement online rafraîchi toute les 10 secondes (via le flux d’alarme et non par ping) =>OK
  • Gestion des images reçues dans le flux d’alarme lors de la détection vidéo => PARTIELLEMENT (enregistrement dans plugin/data/ des images, pas d’affichage, gestion de la rétention à venir)
  • Gestion des évènements intelligents en réception (intrusion, franchissement de ligne, disparition d’objet, masquage, changement de scène,…) => OK
  • Gestion des alarmes techniques (DD plein, DD réseau, login refusé,…) => OK
  • Aucune correction d’événement ou de gestion d’événements. Le plugin reproduit en live ce qui arrive sur le flux d’alarme notamment via les tags active / inactive => OK (Sauf sur les NVR qui ne gèrent pas la fin de l:alarme, c’est donc le plugin qui repasse la commande à 0 au bout de 1 minute)
  • Commande info Dernier événement OK + Vu dernière fois OK
  • Backup des fchiers JSON par évènement dans le répertoire data du plugin. Cela permet de faciliter le debug au cas ou. OK
  • Backup des capabilities et infos systèmes idem OK
  • Création à terme automatique de l’équipement dans le plugin caméra avec les urls de flux RTSP et Snapshot.
  • Détection des fonctionnalités de l’équipement OK
  • Config eqt : affichage du Firmware et infos systemes OK

A venir (l’odre de priorité sera modifié en fonction des demandes des membres)

  • Detection automatique des devices hik sur le réseau LAN
  • Activation et désactivation de la détection de mouvement, détection intelligente,…
  • Réflexion a venir sur la façon d’afficher les images d’alarme. A voir si on ne délégue pas cet aspect au plugin natif caméra ?
  • Gestion du paramétrage de la caméra
  • Prise en charge des portiers
  • Mise à jour de la doc : correspondance des informations virtuelles générées par le plugin. Par exemple « chan 1 duration » ; « chan 1 heartbeat », la totalité des informations que le plugin peut générer depuis l’API ? tout de même intéressant de connaitre les possibilités et leur correspondance.
  • affichage des URL du flux RTSP, Snapshot,…
  • Commandes actions : activer/désactiver alarmes, changement de mode Nuit / Jour / Auto, générer une alarme sonore, activer l’éclairage supplémentaire pour une levée de doute.

Et bien d’autres à venir.
A noter qu’il n’est pas prévu à date que ce plugin ne gére le flux vidéo RTSP ou Snapshot (voir ci dessus). Le plugin #plugin-camera faisant ça très bien le lien sera créé automatiquement entre les 2 plugins.

Si vous avez des idées ou souhaitez participer aux tests bêtas, je vous invite à vous signaler sur ce fil.
Une 1ere version simple mais fiable tournant déjà sur mon infra domotique, je vous invite, si vous souhaitez contribuer, à me communiquer votre motivation en MP et à me fournir un accès à votre device HIK en http (peut importe le port externe) avec user / password qui permet un accès au flux d’alarme (le reste je m’en fou :-). Le cas échéant j’aurais besoin bien entendu d’une IP public fixe de préférence (ou une URL qui gère un DDNS) de façon à ce que je ne perde pas l’accès. Je ne ferai pas de support sur la façon d’ouvrir un port sur le routeur pour donner un accès externe a la caméra.L’acces externe aura du être testé de préférence.
Je serais aussi intéressé, si il y a des fan de réseau, pour faire un test en IPv6 si vous avez un LAN supportant IPV6 et que vous avez fixé l’ipv6 sur le device (ce qui est normalement automatiquement le cas) et bien entendu que votre FAI gère l’IPv6 (c’est le cas entre autre chez Orange, Sosh et Free, les autres je ne sais pas)

Merci à tous

8 « J'aime »

Bonjour Loic
Je te contacte par MP

Ruben

Quelques nouvelles :
La partie évent handler est terminée.
Le démon (unique) qui gère l’ensemble des devices HIK est finalisé. Restera juste l’implémentation du flux JSON a vérifier quand j’aurais un accès à un device qui gère cela. Les flux image et XML sont ok.
Le démon gère désormais également les erreurs éventuelles de connexion et les relance le cas échéant.
Le démon sait prévenir jeedom d’une erreur de connexion avec possibilité d’afficher ou non un message jeedom (option dans les paramètres du plugin)

2 « J'aime »

Super hâte de tester cela :wink: Pour le plugin caméra je suis en H265 en main et j’ai bien les images.

Merci pour le travail qui à l’air énorme. As tu une date de sortie prévu ?

1 « J'aime »

Je referai le test en h265. En tt cas sur le plugin de lunarok ça ne marchait pas de mémoire.
Je vous communiquerais le retour. C’est peut être juste le profile h265+ qui coince…

Alors j’ai affiné mon code et fait des tests avec des caméras de @Ruben (qui sont d’ailleurs vendues sous un autre nom).
La gestion des alarmes fonctionne parfaitement bien dans mon démon. Je pense qu’on devrait pas être loin d’être compatible avec toutes les cams hikvision, le flux d’événement étant générique.
En revanche toutes ne remontent pas d’image d’alarmes. J’ajouterai donc dans une v2 de faire un Snapshot pour les caméras ne supportant pas cette fonction.
Il me reste la création automatique des commandes à faire mais ça devrait pas être trop compliqué.
Je ne préfère pas trop me précipiter pour sortir la version.
En revanche si tu veux me créer un accès à l’API a distance, je pourrais te confirmer que c’est bien pris en charge. A communiquer en MP

J’ai tout ce qu’il faut pour tester en IPV6. On fera ça quand tu proposeras ton plugin en beta.

1 « J'aime »

Bonsoir Loic,

Tout d’abord merci pour ce plugin, que je me suis empressé d’essayer et qui deviendra indispensable sans nul doute.
1er constatation, quasi rien à paramétrer, et ça fonctionne. Génial !
Ma configuration :

  • Jeedom 3.3.59
  • 2 modèles de caméras : HIK DS-2CD2346G2-ISU/SL et DS-2CD2347G2-ISU/SL

Voici quelques observations :

  • La documentation ne spécifie pas la correspondance des informations virtuelles générées par le plugin. Par exemple « chan 1 duration » ; « chan 1 heartbeat »
    Pourrais-tu indiquer dans la documentation la totalité des informations que le plugin peut générer depuis l’API ? J’ai bien vu la note « liste non exhaustive », je pense que c’est tout de même intéressant de connaitre les possibilités et leur correspondance.
  • Possibilité de faire apparaitre les informations suivantes ? « Dernier événement » ; « Version du Firmware » ; « URL du flux RTSP » ; « Date de la dernière connexion sur l’équipement depuis l’adresse IP de l’appareil » ;
  • Il est en effet possible de modifier le nom des informations virtuelles. Mais impossible de les déplacer (Haut / Bas). Possibilité de débloquer cette fonctionnalité ?
  • Avons-nous la possibilité d’exécuter des commandes depuis le plugin ? Je pense notamment au changement de mode Nuit / Jour / Auto ; générer une alarme sonore (la caméra propose plusieurs sons pré-enregistrés) ; activer l’éclairage supplémentaire pour une levée de doute.
  • Peut-on générer une alerte en cas de dépassement d’un niveau sonore ?
  • Peut-on écouter / enregistrer le flux audio depuis Jeedom ?

Je dispose de deux modèles de caméras HIK de même conception / modèle, mais achetés à 2 périodes différentes. Les Firmware ne sont donc pas les mêmes. Hors sur la plus ancienne il m’est impossible (en tout cas je n’ai pas réussi) et mettre à jour le firmware. Sur la dernière oui.
Puisque l’API et le plugin vont vivre en fonction du firmware, aurais-tu une astuce à partager pour cet upgrade ?

Bonne soirée

1 « J'aime »

Que tu fasses ton plugin ok, qu’il intègre plus de fonctions ou putot une vue différente ok
Mais arrêtes tes propos diffamatoires bordel, je laisse courrir tes fausses communications mais là ca commence à me gonfler
J’ai toujours utiliser mon plugin en réglages par défaut de mes caméras, certaines H265, d’autres H265+ et que ce soit la détection ou les widgets ils fonctionnaient. Donc reste sur des faits réels et arrête les mensonges

1 « J'aime »

Merci pour ton retour positif.
Sur les 2346G2, tu dois etre en colorvu de mémoire donc vision de nuit en couleur. J’aimerai avoir une capture pour voir ce que ça donne la nuit :wink:
Je prends en compte tes remarques pour la doc. C’est pas simple car les évènements remontent en fonction des capabilities de la caméra mais j’essayerai de compiler. En gros plus ton modele de caméra génere d’alarmes, plus tu en auras. Je ne sais pas toutes ce qu’elles font (je peux te dire que les evenements intelligents fonctionnent et dépendent du type de caméra ; détection de cible, detection intrusion, franchissement de ligne, bagage déposée, bagage disparu, erreur de login sur la cam, alarme audio, detection de visage,…
Pour les URL des flux, Firmware, version logiciel, tout est prévu, il faudra un peu de temps. Ca arrivera dans les prochaines versions.
L’API permet plein de choses, il faut juste du temps pour développer.
Concernant l’alarme sonore, c’est pris en charge par certaines caméras. J’ai testé la fonction sur la caméra de @Ruben et l’évènement remonte bien.
Le plugin ne gère pas les flux audio/vidéo que tu peux intégrer via le plugin officiel caméra.

Je ne m’étend pas sur ce hors sujet. Si tu veux en discuter, actives tes messages privés…

1 « J'aime »

Mise à jour des fonctionnalités présentes en haut du fil

1 « J'aime »

La version de ce jour 2022-02-16 00:56:47 génère un message d’erreur lors de la mise à jour.
De ce type :

J’ai dû réinstaller les dépendances et relancer le Demon. Mais à deux reprises. Pour le moment ça à l’air de tenir.
A quoi est dû ce message d’erreur ?

2 « J'aime »

J’ai poussé ce matin une nouvelle MAJ beta qui corrige un problème pour le heartbeat du NVR.
Oui ce message est connu et se produit aléatoirement quand tu arrêtes ou relance le démon ce qui est le cas quand tu fais une MAJ.
Je l’ai noté et il faut que je le corrige. Il n’a pas d’incidence sur le fonctionnement.

Nouvelle MAJ de 12h45 ce jour (déjà en ligne)

  • correction du probleme de glisser / déplacer tel que remonté par @FabEY
  • ajout des infos de l’évènement en temps que colonne dans la liste des commandes

Édit : il faut supprimer l’ensemble des commandes pour qu’elles soient recrées correctement

1 « J'aime »

Bonjour Loic,

OK pour la version 2022-02-17 00:40:27
Je constate que lorsqu’une alarme est générée, la ligne info est bien créée, toutefois l’état de cette information reste à 1. Il serait intéressant de garder cette position à 1 pendant 2sec par exemple et de la remettre à 0 en attendant de recevoir une nouvelle alarme.
Dans l’état cela fausse l’historisation de cette information.
Est-ce possible ?
Une synthèse d’alarmes du type « Dernier événement » en info texte date serait vraiment top.

J’avais pas vu ton message…
Quel type d’alarme parles tu ? J’ai corrigé le fait que l’info repasse à 0 quand l’alarme est terminée (l’info est renvoyée par la caméra). Normalement dans la version d’hier 00:40 cette correction est bien présente. Il peut arriver qu’une alarme dure plusieurs dizaines de secondes. Je l’ai remarqué chez moi.
Exemple :

Par sécu, oui je pourrais forcé le fait que la commande info repasse à 0 automatiquement mais au bout d’une minute. (on peut pas faire moins dans jeedom).
Tu est sur la caméra ou sur un NVR ? A priori un problème reste présent sur le NVR.
Oui je vais pouvoir rajouter facilement une commande info texte « dernier évènement ».
A priori je pourrais aussi le rajouter sur chaque èvenement dans un champ configuration de chaque commande. et mettre l’horodatage précis de l’évènement envoyé par la caméra. Il peut y avoir quelques secondes d’écart entre l’horodatage et la date de reception de l’évènement. Mais je ne suis pas sur que ça soit utile de le faire pour chaque commande.
Sinon dans l’info : Dernier évènement, je peux mettre aussi l’horodatage ça serait le plus propre je pense. Il sera global à tous les types de détection.
En gros dès qu’une alarme est levée, la commande « dernier évènement » est mis à jour avec l’horodatage précis (et non la date de receotion de l’alarme)

PS : si activé sur ta cam tu as aussi les détections systèmes qui marchet : erreur login, pb disque réseau si tu as configuré un lecteur réseau NFS sur ta caméra,…

1 « J'aime »

Je parle de ces alarmes. Dans mon cas et sur la dernière version du Plugin elles restent figées à 1. Normalement elles devraient repasser à 0 lorsque l’alarme n’est plus effective.
J’attaque directement la caméra. Je n’ai pas de NVR.
Si tu peux générer une ligne supplémentaire avec une info texte pour le dernier événement d’une alarme c’est bien, cela évitera de générer des virtuels. Au moins une synthèse pour l’ensemble des alarmes.
Je n’ai pas encore essayé les alarmes systèmes (login, disque, etc).
Merci pour ces premières modifications.

tu pourrais en MP me créer un accès sur ta cam depuis l’extérieur en HTTPS.
Je n’ai besoin que du user/password, port, ip pour l’API.

C’est fait
Tu as lastseen (générique à l’équipement) et lastevent (lié à un channel) . Du coup le lastevent fonctionne aussi pour les NVR avec un lastevent par channel. Pour une cam le channel reste à 1…

Mise à jour dispo

bonjour @loic69
Je ne trouve pas ton Plugin qu le Market ?
merci