[TUTO] Récupérer l’Etat de la Détection de Mouvement sur les Caméras WANSCAM.

[TUTO] Récupérer l’Etat de la Détection de Mouvement sur les Caméras WANSCAM.
5 - 2 votes

Bonjour,

Je vous propose un excellent tuto fait par @Anakin qui va vous permettre de récupérer l’état de la détection de mouvement avec les caméras WANSCAM (Série HW00XX).

Vous allez enfin pouvoir déclencher des scénario via la détection de mouvement de la caméra !

Merci à lui pour le partage de cette trouvaille 🙂

Bonne lecture.


1

1. Préambule :

Je cherchais pour une utilisation dans la famille à récupérer l’information qu’un mouvement était détecté dans Jeedom. Sous forme d’interaction pour lancer ensuite un scénario de mon choix.

Notamment pour faire flasher une sirène extérieur POPP en cas de présence dans l’allée de la maison. Je précise que c’est une installation qui n’est pas chez moi.

L’avantage des caméras Wanscam étant leur prix. C’est la fonction qui manquait dans Jeedom.

Je me suis donc atteler à la tâche et j’ai lu tout ce que le net pouvait avoir sur les API des wanscam et fait des tests pendant des heures (si si).

Je me suis aperçu que la fonction existait mais n’était pas paramétrable par l’interface. Il faut l’activer par requête HTTP.

Le deuxième souci qui s’est présenté c’est qu’on ne peut paramétrer que l’adresse IP, le port, l’user et le password pour la requête.

Le chemin de la page est fixe et est :

api/alarm.asp?username=&userpwd=&rea=1&io=0

L’astuce consiste donc à créer un script php très simple sur une page alarm.asp sur le serveur web qui héberge jeedom. Depuis Debian Jessie c’est apache 2.

Donc dans le cheminement, la caméra détecte un mouvement, envoi une requête sur le serveur jeedom du style :

http://ip_serveur_jeedom/api/alarm.asp?username=&userpwd=&rea=1&io=0

Sauf que dans la page alarm.asp on va mettre un script php qui nous redirige vers une requête jeedom traditionnelle pour lancer une interaction.

L’astuce consiste à paramétrer apache pour qu’il lise un fichier .asp et qu’il l’interprète comme il ferait avec un fichier .php.

 

2. Création du fichier alarm.asp :

Créer d’abord un dossier api (les minuscules sont importantes) à la racine du serveur web.

Chez moi cela fait donc :

/var/www/html/api

On créé (avec la commande nano par exemple) dans ce dossier un fichier alarm.asp avec à l’intérieur :

nano alarm.asp
<?php
$xmlData = file_get_contents(‘http://IP_SERVEUR_JEEDOM/core/api/jeeApi.php?apikey=VOTRE_CLEF_API&type=interact&query=Wanscam_Detection&utf8=1’);
?>

On enregistre

On a donc notre fichier /var/www/html/api/alarm.asp

On créer un fichier .htaccess (toujours dans le dossier api) :

nano .htaccess

On y insère la ligne :

AddType application/x-httpd-php .asp

Ainsi on autorise la lecture des fichiers asp uniquement sur ce dossier (c’est plus propre).

On applique les droits de lecture pour le serveur web sur ces fichiers :

chown -R www-data:www-data /var/www/html/api

4.Configuration de apache :

Cette partie consiste à configurer apache pour qu’il puisse lire les fichiers .asp comme si c’était un fichier .php

Editer le fichier mime.types

nano /etc/mime.types

Chercher la ligne qui correspond aux fichiers php et rajouter asp à la fin :

#application/x-httpd-php phtml pht php asp

On enregistre.

On redémarre apache :

service apache2 restart

5. Paramétrage de la requête WEB dans la caméra :

J’ai mis 12345678 comme mot de passe, à vous de le remplacer par le mot de passe admin de la caméra. Et les identifiants vous seront peut-être demandés.

La variable nécessaire pour envoyer une requête http en cas de détection de mouvement est : var md_server_switch qui doit être sur OFF de base.

Chez moi j’ai activé le ftp également.

Récupération des différentes alarmes activées :

http://adresse_ip_camera/cgi-bin/hi3510/param.cgi?cmd=getmdalarm&-aname=email&cmd=getmdalarm&-aname=emailsnap&cmd=getmdalarm&-aname=ftpsnap&cmd=getmdalarm&-aname=snap&cmd=getmdalarm&-aname=emailrec&cmd=getmdalarm&-aname=record&cmd=getmdalarm&-aname=ftprec&cmd=getmdalarm&-aname=relay&-aname=server&user=admin&pwd=12345678

On obtient :

var md_email_switch= »off »; var md_emailsnap_switch= »off »; var md_ftpsnap_switch= »on »; var md_snap_switch= »off »; var md_emailrec_switch= »off »; var md_record_switch= »off »; var md_ftprec_switch= »on »; var md_server_switch= »off »;

On l’active :

http://adresse_ip_camera/cgi-bin/hi3510/param.cgi?cmd=setmdalarm&-aname=server&-switch=on&user=admin&pwd=12345678

On obtient :

[Succeed]set ok.

Si l’on retape la commande précédente on doit désormais voir la valeur sur ON :

http://adresse_ip_camera/cgi-bin/hi3510/param.cgi?cmd=getmdalarm&-aname=email&cmd=getmdalarm&-aname=emailsnap&cmd=getmdalarm&-aname=ftpsnap&cmd=getmdalarm&-aname=snap&cmd=getmdalarm&-aname=emailrec&cmd=getmdalarm&-aname=record&cmd=getmdalarm&-aname=ftprec&cmd=getmdalarm&-aname=relay&-aname=server&user=admin&pwd=12345678

On obtient :

var md_email_switch= »off »; var md_emailsnap_switch= »off »; var md_ftpsnap_switch= »on »; var md_snap_switch= »off »; var md_emailrec_switch= »off »; var md_record_switch= »off »; var md_ftprec_switch= »on »; var md_server_switch= »on »;

Ensuite on entre l’ip et le port du serveur à contacter en cas de détection de mouvement :

http://adresse_ip_camera/cgi-bin/hi3510/param.cgi?cmd=setalarmserverattr&-as_server=IP_SERVEUR_JEEDOM&-as_port=PORT_SERVEUR_JEEDOM&user=admin&pwd=12345678

[Succeed]set ok.

Puis on vérifie que les paramètres sont bien enregistrés :

http://adresse_ip_camera/cgi-bin/hi3510/param.cgi?cmd=getalarmserverattr&user=admin&pwd=12345678

On obtient :

var as_server= »IP_SERVEUR_JEEDOM »; var as_port= »PORT_SERVEUR_JEEDOM »; var as_username= » »; var as_password= » »;

Voilà pour la caméra :lol:

6. Dans Jeedom :

Il suffit de créer une interaction qui se nomme Wanscam_Detection et qui lance un scénario.

Et voilà le tour est joué.

A noter que la caméra se déclenche en moyenne toutes les 5 min. Vous pouvez gérer le planning en dur via Internet Explorer (mode compatibilité).

Et n’oubliez pas :

  • Le nouveau Forum, accessible ICI et la nouvelle section Flash Deal accessible ICI.
    • Sans oublier les Bons Plans du Forum ICI.

Pensez également à suivre le blog pour ne rien rater :

  • Visit Us On TwitterVisit Us On FacebookVisit Us On GooglePlusVisit Us On PinterestVisit Us On YoutubeCheck Our Feed

N'hésitez pas à aller faire un tour ICI pour voir la liste de mes partenaires !

Pensez à visitez ICI le nouveau Forum

Pensez aussi à visiter ICI la section "Flash Deal".

(Les bons plans de cette section ne s'affichent pas sur la page d'accueil)

11 commentaires pour “[TUTO] Récupérer l’Etat de la Détection de Mouvement sur les Caméras WANSCAM.”

  1. Bonjour

    Merci pour cet excellent tuto qui me manquait !!! Petite question, ayant plusieurs caméra, est-il possible d’indiquer à Jeedom la provenance afin de savoir laquelle a eu la détection de mouvement ?

  2. Hello,

    Je viens de configurer la détection sur jeedom d’une HW0043 en 5 min.
    Donc je confirme que ce modèle est également fonctionnel avec le tuto.

    ++

Laisser un commentaire