La solution « Domotique/Videosurveillance » ( 3 controlleurs domotique VERA ) s’appuie sur l’application Android « Imperihome » installée sur un smartphone , pour la gestion à distance de ces systèmes VERA .
Il y a un certain nombre de limitations du produit Vera qui peuvent etre résolues par l’installation de plugins Vera ou par la création de scène éxecutant du code Luup , mais pouvoir centraliser certaines informations sur un site PHP serait un plus comme :
- Tableau de bord de l’utilisation des ressources système ( cahrge UC , occupation mémoire …)
- Graphe température , humidité …
- Etc
Etape 1 : Mise en place de l’infrastructure PHP et interface VERA
1) Un serveur local PHP est à installer sur un PC pour le développement et le test en local avant d’installer le programme PHP sur un site WEb PHP :
- Vampserver 2.5 avec Apache , PHP , MySQL
- Serveur FTP Filezilla 0.9.54 et Client FTP Filezilla 3.14.1
La chaine (site web PHP <->API Vera) a été testée d’abord localement en envoyant un script simple par FTP dans un répertoire de test du serveur (Vamp/www/test/test.php) et en l’éxecutant à partir de l’interface Web du serveur ( http://localhost/test/test.php)
<?php
echo « Debut test 1 : dialogue site web -> controleur Vera » . »<br> »;
$url= « http://192.168.1.100:3480/data_request?id=invoke&output_format=xml »;
echo « List of devices » . « <br> » . $url . »<br> »;
$xml=file_get_contents($url);
echo $xml;
echo « Fin test dialogue site web -> controleur Vera » . »<br> »;
?>
2) Pour éxécuter le script de test sur le site Web distant PHP , il faut d’abord ouvrir un compte et ensuite y transférer le script de test par FTP et l’éxecuter.
L’envoi des fichiers php vers le site web distant par FTP nécessite une configuration au niveau du serveur Filezilla et du routeur ADSL .
Le test de transfert FTP distant à partir du site https://ftptest.net échoue à cause d’un problème de connexion en mode passif ( imposé par le serveur de test) , le serveur Filezilla ne renvoyant pas une IP externe au serveur de test :
Reply: 227 Entering Passive Mode (192,168,1,4,55,69)
Error: Server returned unroutable private IP address in PASV reply
Test 2 Envoi de données de test à l’initiative du controleur Vera vers le site PHP
local c,s = luup.inet.wget("http://192.168.0.1/maison/N0/vera/vera-x10.php?cmu=e1%20off",5)
return true
<?php
echo ("Page web : http://192.168.0.1/maison/N0/vera/vera-x10.php");
$CMU = $_GET['cmu'];
echo "$CMU </br>";
$results = shell_exec('nc -c "echo pl '.$CMU.'" localhost 1099');
echo "$result </br>";
?>
ETAT au 31/12/2015 :
Point 1 = OK
Point 2 = en test , pb mode passif
Point 3 à venir