Re: Événement caméra Hikvision et Jeedom
Publié : 17 déc. 2019, 08:51
Bonjour,
je viens partager mon retour d'expérience, j'utilise une caméra hikvision branchée sur un NVR hikvision. Dans les paramètre du plugin j'utilise l'IP du NVR le port 80 et login/mdp de la camera.
Le plugin me générait des erreurs dans le fichier hikvision_node de ce type là :
internal/modules/cjs/loader.js:800 throw err : Error: Cannot find module 'request'
throw err;
^
Error: Cannot find module 'request'
Require stack:
- /var/www/html/plugins/hikvision/resources/hikvision.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
at Function.Module._load (internal/modules/cjs/loader.js:690:27)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/var/www/html/plugins/hikvision/resources/hikvision.js:1:15)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/var/www/html/plugins/hikvision/resources/hikvision.js' ]
}
/var/www/html/plugins/hikvision/resources/node_modules/cameraeventhandler/dist/cameraEventHandler.js:63
var index = parseInt(result.EventNotificationAlert["channelID"][0]);
Analyse :
la ligne 63 : var index = parseInt(result.EventNotificationAlert["channelID"][0]); ne fonctionne pas toujours dans mon cas, en effet, j'ai une alarme de type VMD qui ne contient pas de balise "channelID", en revanche elle contient une balise "dynChannelID".
Correction ;
J'ai donc réalisé la modification suivante :
try{
var index = parseInt(result.EventNotificationAlert["channelID"][0]);
}catch(err){
var index = parseInt(result.EventNotificationAlert["dynChannelID"][0]);
}
et plus d'erreur.
je viens partager mon retour d'expérience, j'utilise une caméra hikvision branchée sur un NVR hikvision. Dans les paramètre du plugin j'utilise l'IP du NVR le port 80 et login/mdp de la camera.
Le plugin me générait des erreurs dans le fichier hikvision_node de ce type là :
internal/modules/cjs/loader.js:800 throw err : Error: Cannot find module 'request'
throw err;
^
Error: Cannot find module 'request'
Require stack:
- /var/www/html/plugins/hikvision/resources/hikvision.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
at Function.Module._load (internal/modules/cjs/loader.js:690:27)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/var/www/html/plugins/hikvision/resources/hikvision.js:1:15)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/var/www/html/plugins/hikvision/resources/hikvision.js' ]
}
/var/www/html/plugins/hikvision/resources/node_modules/cameraeventhandler/dist/cameraEventHandler.js:63
var index = parseInt(result.EventNotificationAlert["channelID"][0]);
Analyse :
la ligne 63 : var index = parseInt(result.EventNotificationAlert["channelID"][0]); ne fonctionne pas toujours dans mon cas, en effet, j'ai une alarme de type VMD qui ne contient pas de balise "channelID", en revanche elle contient une balise "dynChannelID".
Correction ;
J'ai donc réalisé la modification suivante :
try{
var index = parseInt(result.EventNotificationAlert["channelID"][0]);
}catch(err){
var index = parseInt(result.EventNotificationAlert["dynChannelID"][0]);
}
et plus d'erreur.