Ayant depuis peu une box domotique Fibaro HC2 .. je me suis demandé comment je pouvais contrôler le PTZ (les mouvements motorisés) de mes caméras Axis. Il se trouve que c’est tout à fait faisable puisque la HC2 peut faire des requêtes HTTP sur des équipements (et pourrait au passage récupérer des infos durant ces requêtes).
Alors la procédure est assez simple :
Définir les zones PTZ sur l’administration de votre caméra
Vous déplacez la caméra sur vos différentes zones, puis à chaque fois donnez leur un nom et ajoutez les à la Axis. Idéalement des noms en un mot ça sera plus facile. Il est aussi possible de programmer le « Return to home when inactive » qui fait revenir la caméra à une position « Home’ (que vous définissez aussi) au bout de quelques temps. Très pratique pour être sur que la caméra se remet à filmer une zone en particulier. Dans le cas de mon bureau c’est la zone « Porte » qui sert de « Home ».
Donc pour mon exemple on a donc deux zones nommées Porte et Cour. L’IP de ma caméra Axis 215 PTZ est 192.168.69.10 pour l’exemple.
Créer un virtual device dans la Fibaro HC2
Dans la box Fibaro la notion de Virtual Device permet de faire pas mal de chose notamment des appels HTTP (en POST/GET).
Puis choisir « Ajouter un périphérique virtuel » puis « Ajouter ». Basculez directement sur l’onglet « Avancé ». Là tapez le nom de votre Virtual Device (c’est vous qui le choisissez). Par exemple « PTZ Cam Bureau ». Puis la pièce auquel le rattacher :
Puis dans la partie « Choose set of buttons » , choisissez le nombre de boutons qu’il vous faut. Pour moi, deux zones, deux boutons.. ce qui va vous ajouter deux champs .. qu’on va remplir :
Comme vous pouvez le voir sur mon résultat finalisé, j’ai deux boutons, un nommé cour, un nommé porte et pour chacun un code adapté.
Dans le champ lié au code, choisir « Code lua » puis pour le bouton Cour par exemple :
--On définit le périphérique qu'on va attaquer et on s'authentifie dessus
FHTE = Net.FHttp("192.168.69.10")
FHTE:setBasicAuthentication("root","root")
-- Et là notre requête
response = FHTE:GET("/axis-cgi/com/ptz.cgi?gotoserverpresetname=Cour")
Et pour mon bouton Porte:
--On définit le périphérique qu'on va attaquer et on s'authentifie dessus
FHTE = Net.FHttp("192.168.69.10")
FHTE:setBasicAuthentication("root","root")
-- Et là notre requête
response = FHTE:GET("/axis-cgi/com/ptz.cgi?gotoserverpresetname=Porte")
Puis pensez à enregistrer avec la petite disquette à droite de l’écran/
Et hop :
Si vous cliquez sur le bouton juste à côté du titre vous aurez votre appareil avec ses deux boutons, sinon le bouton « On » est utilisé pour le bouton que vous aurez défini comme « Main » précédemment.
Et maintenant que vous avez le bon code pour faire bouger votre caméra, vous pourriez faire une caméra qui .. peut regarder vers le portail sur détection de mouvement ou revenir sur une autre zone .. etc ;-)
Mise à jour :
voici la scène qu’il faut pour faire tourner la caméra vers la porte quand celle-ci est ouverte :
Elements utilisés :
– Une caméra Axis 215 PTZ
– une Fibaro HC2
– un module FGK101