WansView W3,Q3S et Jeedom

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:

L’attribut alt de cette image est vide, son nom de fichier est q3swansview-1024x438.png.

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é.

La source de cet article se trouve ici.

Publié le 12 août 2018
Mis à jour le 24 août 2023

8 réflexions sur “WansView W3,Q3S et Jeedom”

  1. Ping : Caméra, acte 2 – La Geek Attitude

  2. bonjour
    j’essaye d’installer une camera W3 sur un Jeedom V4
    je n’arrive pas a récupérer l’image avec le plugin camera
    y a t’il quelque chose de particulier à configurer
    j’ai essayé avec l’url que vous utilisez mais cela ne marche pas

    merci de votre aide

      1. bonsoir

        merci d’avoir répondu
        en fait j’ai trouvé la solution;-)
        j’ai mis le même url que vous et ça marche

        je ne comprends pas pourquoi mais le rsulatat est la

        bonne soirée

    1. Voilà, j’ai corrigé l’article et j’ai testé sur ma q3s.
      Cela fonctionne très bien.
      Il faut utiliser le script car le login et le mot de passe doivent être transmis en plus de la requête http.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *