[TUTO] Armer/Désarmer un NVR Dahua (TIOC) depuis Jeedom via API HTTP

Matériel utilisé

  • NVR Dahua DHI-NVR5232-8P-EI
  • Caméras TIOC Dahua (à tester sur d’autre modèle compatible SMD/IVS)
  • Jeedom sur réseau séparé du NVR (Non indispensable)
  • Routeur Unifi UDM Pro (Non indispensable)
  • Plugin Script Jeedom

Objectif

Contrôler le mode Armé/Désarmé global du NVR Dahua depuis Jeedom, équivalent au bouton Armé/Désarmé dans DMSS. Avec retour d’état synchronisé — si vous armez/désarmez depuis DMSS ou le NVR, Jeedom se resynchronise automatiquement.


Étape 1 — Prérequis réseau (dépend de votre config)

Si Jeedom et le NVR sont sur des VLANs différents, il faut une route inter-VLAN. Sur Unifi, ajoutez une règle firewall :

Source : réseau Principal (ex: 192.168.5.0/24)
Destination : réseau CCTV (ex: 192.168.15.0/24)
Action : Allow

  1. Poussez la route aux clients via DHCP Option 121 sur le réseau Principal :

Code : 121
Value : 192.168.15.0/24:192.168.5.1

  1. Vérifiez la connectivité depuis Jeedom (Réglages → Configuration → OS/DB → >_Administration Système) :
curl --digest -u "admin:MOTDEPASSE" -s "http://IP_NVR/cgi-bin/magicBox.cgi?action=getSystemInfo"

Étape 2 — Commandes API HTTP Dahua : Toujours depuis (Réglages → Configuration → OS/DB → >_Administration Système)

:warning: Le NVR Dahua exige une authentification Digest Auth (pas Basic).

  1. Lire l’état actuel
curl --digest -u "admin:MOTDEPASSE" -s \
"http://IP_NVR/cgi-bin/configManager.cgi?action=getConfig&name=DisableLinkage"

Retourne : table.DisableLinkage.Enable=true (désarmé) ou false (armé)

  1. Armer le NVR
curl --digest -u "admin:MOTDEPASSE" -s \
"http://IP_NVR/cgi-bin/configManager.cgi?action=setConfig&DisableLinkage.Enable=false"
  1. Désarmer le NVR
curl --digest -u "admin:MOTDEPASSE" -s \
"http://IP_NVR/cgi-bin/configManager.cgi?action=setConfig&DisableLinkage.Enable=true"

:warning: Syntaxe importante : utiliser DisableLinkage.Enable (sans [0]). La variante DisableLinkage[0].Enable ne fonctionne pas sur ce modèle.


Étape 3 — Créer les fichiers .sh dans Jeedom

Le plugin Script en mode HTTP utilise Basic Auth — incompatible avec Dahua. Il faut créer des fichiers .sh via l’éditeur de fichiers (Réglages → Configuration → OS/DB → Éditeur de fichiers), dans le dossier /html/plugins/script/data/.

Nouveau Fichier → TXT: Texte non formaté → remplir les fichiers avec les lignes ci dessous et une fois enregistré, renommer avec la bonne extension.

  1. tioc_armer.sh
#!/bin/bash
curl --digest -u "admin:MOTDEPASSE" -s \
"http://IP_NVR/cgi-bin/configManager.cgi?action=setConfig&DisableLinkage.Enable=false"
  1. tioc_desarmer.sh
#!/bin/bash
curl --digest -u "admin:MOTDEPASSE" -s \
"http://IP_NVR/cgi-bin/configManager.cgi?action=setConfig&DisableLinkage.Enable=true"
  1. tioc_etat.sh
#!/bin/bash
result=$(curl --digest -u "admin:MOTDEPASSE" -s \
"http://IP_NVR/cgi-bin/configManager.cgi?action=getConfig&name=DisableLinkage")
if echo "$result" | grep -q "Enable=true"; then
echo "Désarmée"
else
echo "Armée"
fi
  1. Rendez les fichiers exécutables depuis Administration Système :
chmod +x /var/www/html/plugins/script/data/tioc_armer.sh
chmod +x /var/www/html/plugins/script/data/tioc_desarmer.sh
chmod +x /var/www/html/plugins/script/data/tioc_etat.sh

Étape 4 — Configurer le Plugin Script dans Jeedom

Créez un équipement avec trois commandes :
Rafraîchissement auto : toutes les 5 minutes

Commande Armer
Type script : Script | Type : Action | Sous-type : Défaut
Requête : /var/www/html/plugins/script/data/tioc_armer.sh

Commande Désarmer
Type script : Script | Type : Action | Sous-type : Défaut
Requête : /var/www/html/plugins/script/data/tioc_desarmer.sh

Commande État
Type script : Script | Type : Info | Sous-type : String
Requête : /var/www/html/plugins/script/data/tioc_etat.sh

:bulb: Le rafraîchissement automatique de la commande État permet à Jeedom de se resynchroniser si vous armez/désarmez depuis DMSS ou depuis la programmation du NVR.


Résultat final

Deux boutons Armer/Désarmer et un retour d’état texte synchronisé dans Jeedom. Compatible avec la programmation depuis DMSS.

Testé sur : DHI-NVR5232-8P-EI — Jeedom 4.5.2 — Plugin Script

5 « J'aime »