Commande pour IPCAM

En gros, les étapes :

  • Définir une zone de détection sur la caméra :
    Soit par l’interface web de la caméra
    Soit par la commande :
    http://IP_CAMERA/web/cgi-bin/hi3510/param.cgi?cmd=setmdattr&-enable=1&-s=75&-name=1&-x=0&-y=0&-w=1280&-h=960
    (par exemple)

  • Activer la détection de mouvement sur la caméra :

http://IP_CAMERA/web/cgi-bin/hi3510/param.cgi?cmd=setmdalarm&-aname=server&-switch=on
http://IP_CAMERA/web/cgi-bin/hi3510/param.cgi?cmd=setalarmserverattr&-as_server=IP_JEEDOM&-as_port=80

(Vérifiez et adaptez la structure de l’URL avec ce que vous avez dans les commandes de votre caméra sous Jeedom)

  • Sur Jeedom : il faut créer un fichier alarm.asp dans le répertoire html/api
    dont le contenu est :
<?php
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=CLE_API_VIRTUEL&type=virtual&id=ID_COMMANDE&value=1');
sleep(5);
$xmlData = file_get_contents('http://IP_JEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=CLE_API_VIRTUEL&type=virtual&id=ID_COMMANDE&value=0');
?>

Ce fichier sera appelé lors d’un mouvement détecté par la caméra. Pour mon cas de figure j’ai créé un virtuel Camera avec une commande de type info binaire. Si un mouvement est détecté cette commande passe donc à 1, j’attends 5 secondes puis je le repasse à 0. Derrière j’ai un scénario qui est lancé sur le passage de cette commande à 1.

Petite adaptation possible du fichier alarm.asp si vous avez plusieurs caméras, vous pouvez conditionner selon le déclencheur avec :

if ($_SERVER["REMOTE_ADDR"]=='IP_CAMERA')
{
*code ci-dessus*
}

Dans ce cas j’ai autant de commandes dans mon virtuel que de caméras.

C’est un peu rapide mais je vous laisse tester et revenir vers moi si vous bloquez :wink: