J’ai mis un peu de temps à me décider mais j’ai fini par mettre en place une caméra de surveillance, principalement pour la piscine mais aussi en cas d’absence.
Je dois dire que ce choix s’est basé sur le prix mais également sur sa compatibilité avec Jeedom pour laquelle je n’étais pas sûr à 100% lors de l’achat.
Et bien, après avoir suivi les instructions d’installation du fabriquant, la caméra est intégrée sur le réseau et le flux fonctionne.
L’étape suivante est donc l’intégration dans Jeedom. Cela passe donc d’abord par l’achat du plugin Caméra et son activation. Ensuite, l’ajout de la caméra, en suivant les informations trouvées sur le forum, est fait comme ci-dessous:

Et comme par magie, les images sont bien visibles dans Jeedom ainsi que dans le design.
Voulant avoir un contrôle complet via Jeedom, j’ai donc aussi fait quelques petites recherches afin de me passer de l’application Wansview afin de:
- Faire l’activation ou désactivation de la vision de nuit
- Prendre une photo et me l’envoyer quand un mouvement est détecté par un autre équipement z-wave.
Les différentes commandes
J’ai récupéré des informations également trouvées sur le forum Jeedom où un membre a créé un script (disponible ci-dessous) permettant d’exécuter les requêtes nécessaires.
<?php
$ip_cam = $argv[1];
$act_cam = $argv[2];
$username = 'username';
$password = 'password';
switch ($act_cam) {
case "up":
case "down":
case "left":
case "right":
case "hscan":
case "vscan":
case "stop":
$url = 'http://'.$ip_cam.'/hy-cgi/ptz.cgi?cmd=ptzctrl&act='.$act_cam;
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
$url = 'http://'.$ip_cam.'/hy-cgi/ptz.cgi?cmd=preset&act=goto&number='.$act_cam;
break;
case "tour":
$url = 'http://'.$ip_cam.'/hy-cgi/ptz.cgi?cmd=preset&act='.$act_cam;
break;
case "zoomin":
case "zoomout":
$url = 'http://'.$ip_cam.'/hy-cgi/ptz.cgi?cmd=zoomctrl&act='.$act_cam;
break;
case "alarmon":
$url = 'http://'.$ip_cam.'/hy-cgi/alarm.cgi?cmd=setmdattr&enable=1&sensitivity=30&left=0&top=0&right=1920&bottom=1080&index=0&name=MD0';
break;
case "alarmoff":
$url = 'http://'.$ip_cam.'/hy-cgi/alarm.cgi?cmd=setmdattr&enable=0&sensitivity=30&left=0&top=0&right=1920&bottom=1080&index=0&name=MD0';
break;
case "iron":
$url = 'http://'.$ip_cam.'/hy-cgi/irctrl.cgi?cmd=setinfrared&infraredstatus=open';
break;
case "iroff":
$url = 'http://'.$ip_cam.'/hy-cgi/irctrl.cgi?cmd=setinfrared&infraredstatus=close';
break;
case "irauto":
$url = 'http://'.$ip_cam.'/hy-cgi/irctrl.cgi?cmd=setinfrared&infraredstatus=auto';
break;
case "ioflag":
$url = 'http://'.$ip_cam.'/hy-cgi/alarm.cgi?cmd=setioattr&io_enable=1&io_flag=0';
break;
}
exec(" curl --digest -u $username:$password -X GET '$url' > /dev/null");
switch ($act_cam) {
case "up":
case "down":
case "left":
case "right":
usleep(1000000);
$url = 'http://'.$ip_cam.'/hy-cgi/ptz.cgi?cmd=ptzctrl&act=stop';
exec(" curl --digest -u $username:$password -X GET '$url' > /dev/null");
break;
case "alarmon":
$url = 'http://'.$ip_cam.'/hy-cgi/alarm.cgi?cmd=setaudioalarmattr&aa_enable=1&aa_value=3';
exec(" curl --digest -u $username:$password -X GET '$url' > /dev/null");
break;
case "alarmoff":
$url = 'http://'.$ip_cam.'/hy-cgi/alarm.cgi?cmd=setaudioalarmattr&aa_enable=0&aa_value=3';
exec(" curl --digest -u $username:$password -X GET '$url' > /dev/null");
break;
case "ioflag":
sleep(10);
$url = 'http://'.$ip_cam.'/hy-cgi/alarm.cgi?cmd=setioattr&io_enable=0&io_flag=1';
exec(" curl --digest -u $username:$password -X GET '$url' > /dev/null");
break;
}
?>
Il suffit donc d’utiliser le plugin script, créer le script php avec le nom que vous désirez, copier le code récupéré et modifier les lignes username et password avec le login et mot de passe défini lors de l’installation de la caméra.
Ensuite, dans la commande créée, il faut appeler le script avec deux arguments, l’IP de la caméra ainsi que la commande voulue
/var/www/html/core/php/../../plugins/script/core/ressources/Controle_Camera.php XXX.XXX.XXX.XXX commande
Voici ce que cela donne:

J’ai caché l’adresse IP dans mon exemple. Il suffira de la remplacer par la votre.
Capture d’une image en cas de mouvements
Ce point est assez simple car il suffit de créer un scénario provoqué par la détection de mouvement d’un équipement et dans le scenario, tester la status du détecteur et exécuter l’action prendre une photo de l’équipement.
Pour ma part, j’utilise Surveillance Station de Synology qui envoi une requête pour informer qu’un mouvement a été détecté.