Portier video Hikvision

I am now testing the SDK, instead of isapi, works great! No poll needed , also no custom firmware for ds-kd8003… You can also see the badge who opened door

Je ne vois pas du tout a quoi ressemble le code du SDK ou comment le mettre en place … et quand vous ecrivé pas de sondage ? l’information est push ? plus besoin d’une requete toute les seconde ? pour le callstatus par exemple

I do not see at all what the code of the SDK looks like or how to set it up … and when you wrote no poll? information is push? no longer need a request every second? for the callstatus for example

indeed, no poll needed, here is the code i use for Home Assista,t its written in python
but if you download the SDK from hikvision, there is also a c++ example included

Merci @pergolafabio !!
pour l’’‹ Autorisation ›’ :’ Porteur XXXXX’`
Je dois mettre quel jeton ? Désolé je ne comprends pas à quoi cela correspond

Thank you @pergolafabio !!
for the ‹  › Authorization ‹ : › Bearer XXXXX’`
I have to put which token? Sorry I don’t understand what its corresponds to

that example is only for Home Assistant, you need to change the script for Jeedom
the xxx token refers to a rest command i do in HA, it turns something on/off (rest api)
you dont need it; so that python script needs to be changed

i dont know jeedom :slight_smile:

Hello,

Thanks again @pergolafabio for your help, I appreciate that you take some times to share with us.

Bearer is a way to authenticate api calls (as login and password). In the modified script I submitted last 14th september it was not used as login and password was defined.
In the code submited by pergolafabio, I think it’s used to raise the state of the doorbell to home assistant via api call.
As I have done for the other script, we can use « virtual objects (virtual plugin) » in jeedom and update the state using api call to the return url. I think it’s not very difficult to adapt the code. I will try to take some times this week.

Bonjour,

Merci encore @pergolafabio, j’apprécie que tu prennes le temps de partager.

Le bearer est une méthode d’authentification comme le login et mot de passe mais pour les applications. Il est juste constitué d’un jeton qui doit être généré au préalable sur l’élément à piloter.

Dans le cas du premier script que j’avais adapté et posté le 14 septembre, il n’était à mon avis pas utilisé car les login et mots de passes était précisés. On peut donc mettre n’importe quoi.

Dans le cas du dernier script de pergolafabio, il n’est pas utilisé pour se connecter au portier (on utilise toujours le login et mot de passe) mais pour remonter l’information à home assistant (solution alternative à jeedom). Comme je l’avais fait pour le premier script, il est à mon avis possible de l’adapter avec l’utilisation d’objets virtuel (plugin virtuel). Le bearer est remplacé par l’url de retour de l’objet virtuel; cette dernière contenant un jeton d’authentification.

Je vais essayer de travailler un peu dessus cette semaine.

Hey, correct, i use rest API calls, but there are indeed other ways to not use rest API… But I’m not a developer :-). Offcourse there are also other ways to update states in HA , but that’s difficult for me :+)
Already glad it’s working , and no custom firmware is needed

I have try to run your script yesterday. I have same issue as michaelklatsky (on HC forum) : HIK SDK libs needs x86 processor and is not working on raspberry pi. I will try to use your docker image on my synology nas.

ah , but the lib i supplied is for 64 bit, if you run 32 bit, you need to grab the other lib directory
just download from here: https://www.hikvision.com/en/support/download/sdk/

but also, arm processor is not supported
The lib is compiled for specific linux versions, like ubuntu/debian/redhat … offcourse windows is also supported… thats why i run the script in a seperate docker… My HA itself runs on alpine linux, thats not supported as well

Merciiiiiiii Beaucoup pour tous vos effort @NanoMaverick et @pergolafabio

Thank you very much for all your efforts @NanoMaverick and @pergolafabio

1 « J'aime »

Bonjour à tous,

je suis avec intérêt les avancées, je souhaite investir pour un Hikvision DS-KV6113-WPE1(B)
De ce que je comprends, aujourd’hui avec Jeedom + virtuel + script vous pouvez avoir l’état de la sonnette (idle ou ring) et ce qui semble ne pas fonctionner est la récupération de la vidéo ?

merci

2 « J'aime »

Salut Rjcb

J’ai pile ce modèle et pour un petit retour personnel … Mitigée
Alors j’utilise ce modèle en standalone donc aucun écran intérieur.

La carte SD du kv6113 est inutilisable peut etre attendre le prochain firmware mais aucune possibilité d’enregistrer ou d’avoir un snapshot.

Je passe tout par le NVR ou mon Synology

Pour l’etat de la sonnette j’ai pas reussi a avoir un retour d’état en temps réel mais avec un script python tout devrait etre bon j’ai juste pas le niveau pour le crée …

La commande pour ouvrir la porte avec Jeedom marche nickel

C’est mon Synology qui s’occupe de l’enregistrement et qui m’envoie l’alerte sur Jeedom pour le Snapshot

Impossible de passé outre HIK-connect le visiophone ne marche pas même si on ouvre tous les ports ce qui est vraiment dommage j’espère qu’un nouveau Firmware corrigera ce problème et la carte SD

Pour la récupération de Vidéo je pense qu’il vaudrait mieux passé pas un serveur SIP mais jamais testé…

Sinon qualité d’image excellente pour un visiophone et l’application Hik-connect marche super bien même si pas fan du tout du cloud

Pas de regrets pour le prix mais je m’attendais a mieux

I use Synology too for recording, based on callstatus supplied by SDK or isapi…
Sip I tested too, works great, the only big disadvantage is that i havent found any PBX software that can handle early media (video before pickup) when calling multiple sip softphones in a group strategy

Merci beaucoup pour ton retour, du coup j’hésite vraiment.
L’application HIK-connect fonctionne bien et est assez réactive ?

Merci

Ouii elle fonctionne.
Aucun appel manquée alors qu’avec les alertes pas toujours si fiable cette application
Je préfère de loin le tout local …
Mais pour le coup pas le choix …
Après cela reste un très très bon visiophone pour le prix et j’espère vraiment qu’un nouveau Firmware corrige au moin la carte SD et dans mes rêves les plus fous ce passé de Hik-connect

Bonjour,

Serait il possible de lister les possibilités avec un portier Hikvision ?

les fonctions possibles dans jeedom ?

Si il y a des version a éviter aussi par rapport au maj ?

Merci

Hello,

J’ai repris le script de @pergolafabio et adapté pour jeedom. Cela semble fonctionner comme attendu :slight_smile: :

  • récupération de l’appuie sur l’interphone = sonnerie (call) (merci à la factrice pour le test :smile:)
  • récupération de la demande d’ouverture du portail (door) faite via l’appli hikvision (à confirmer depuis l’écran)

Pour ouvrir le portail connecté au portier on peut toujours utiliser le script que j’avais posté précédemment.

Comme évoqué cela nécessite les librairies Hikvision qui malheureusement nécessitent certains éléments (os, cpu) pour fonctionner. Il est possible de faire tourner le script sur une autre machine que jeedom. Pour ma part je le fais tourner sur mon nas synology ds218+.

Voici la procédure pour ceux qui veulent tester :

  1. Installer si ce n’est pas déjà fait le plugin virtuel

image

  1. Créer un objet virtuel et y associer 2 commandes de type info et binaire :
  • Sonnette => passera à 1 en cas d’appuie sur la sonnette
  • Portail => passera à 1 en cas de demande d’ouverture (depuis écran ou appli hikconnect)

  1. Sauvegarder et noter les id associées à chaque commande
  2. Retourner dans l’onglet équipement et noter l’url de retour

La config jeedom est prête, le script va devoir à présent se connecter au portier via le SDK HIK et faire un appel http vers l’url de retour avec l’id de la commande ainsi que la valeur (0 ou 1 vu que c’est de type binaire) lorsqu’un évènement sera constaté.

  1. Récupérer les librairies Hikvision ainsi que les éléments initiés par @pergolafabio : DS-KD8003 - DS-KV8113 - DS-KV8213 - DS-KV6113 - DS-KV8413 and .... integration Hikvision HikConnect Video intercom doorbell - #726 by pergola.fabio - Share your Projects! - Home Assistant Community

  2. Décompresser si nécessaire et remplacer le fichier hik.py par celui-ci : hik.py.txt (5,4 Ko)

  3. Compléter les variables suivantes dans ce même fichier (attention de bien renommer hik.py et supprimer l’extension .txt) :

L’adresse IP du portier, ainsi que le login / mdp :

#Variables
#Config Hik
username = "admin"
password = "password"
doorbell_ip = "192.168.X.X"

Les infos du virtuel créé précédemment dans jeedom :

#Config Jeedom
return_url = "http://192.168.X.X/core/api/jeeApi.php?type=virtual&apikey=xxxxxxxxxxxxxxxxxxxxxx"
virtuel_id_call = "YYYYY"
virtuel_id_door = "ZZZZZ"

Le script est écrit en python, il faut donc installer ce langage ainsi que les librairies nécessaires. Pour ce faire sans toucher à la machine hote (synology en l’occurence) on peut passer par un conteneur docker comme le propose pergolafabio (c’est la suite de la procédure). Mais on peut également s’en passer en reprenant juste les prés requis définis dans le fichier DockerFile et executer via la commande python3 hik.py.

  1. Installer docker

Sur synology il faut juste aller dans le centre de paquet et installer le paquet docker; sur une machine linux ou windows il faut regarder les procédures dispo sur le net.

  1. Copier les fichiers téléchargés et modifiés précédemment dans un répertoire du syno avec l’application file station : exemple /homes/admin/hikvision/

  2. Se connecter en SSH sur le synology et se rendre dans le répértoire ou sont stockés les fichiers notamment hik.py et DockerFile :

cd /volume1/homes/admin/hikvision/
  1. Créer l’image du conteneur avec la commande suivante (attention au point en fin de ligne)
sudo docker build -t hikvision:latest .

L’image est crée en suivant les instructions du dockerfile

  1. Une fois le process terminé, 2 images doivent apparaitre notamment dans l’application synology docker :

  1. Lancer un conteneur en utilisant l’image hikvision

On peut séléctionner l’image dans l’application synology docker et cliquer sur le bouton Lancer ou utiliser la ligne de commande : sudo docker run -it -d --name hikvision hikvision

  1. Vérifier que le conteneur ne s’arrete pas de lui meme et que les logs dispo dans la partie detail → journal ne remonte pas d’erreur et enfin tester (ouf c’est normalement terminé :slight_smile: )

Je vais regarder pour mettre les variables du fichier hik.py dans des variables d’environnement et essayer de publier tout ça en image publique docker, cela permettra de réduire grandement le nombre d’étapes.

3 « J'aime »

… Un très grand MERCI à toi @NanoMaverick pour toutes ses explications détaillées.

Je rentre demain de déplacement et je test directement ta procédure.

Merci énormément.

Nice job!! :slight_smile: nice to see it working on other systems too… I have no idea what jeedom actually is :wink:

Anyway , if the host is already a supported OS, you can also also change the dockerile to not retrieve the debian image, that makes the docker smaller…
You can also run on windows, remember to replace the lib folder then, since the one included is for Linux 64 bit…
You can download all SDK from hikvision site