Avec cet article, nous allons finaliser l’implémentation du cas d’utilisation commencé dans le précédent article « 03 - Tableau de bord 1 ».
Rappel du cas d’utilisation : Vous êtes chez vous, il y a eu beaucoup d’allées et venues en cette fin de journée, une des portes du garage est restée ouverte. Est-ce votre femme, votre fils, à moins que ce soit vous ; toujours est-il que vous vous apprêtez à passer la nuit avec une porte du garage restée ouverte. Mais, tout à coup, à 21H00 une voix retentie : « Attention : la porte de droite du garage est restée ouverte ». Plutôt que dire à votre habitude « qui a encore laissé une porte de garage ouverte », vous dites à votre femme, le sourire au coin aux lèvres : « Finalement, tu ne trouves pas que c’est plutôt sympa la domotique ». Vous venez de marquer un point.
Let’s go (c’est parti)
NOUVEAU : Retrouvez nos articles en Vidéos sur YouTube
Sommaire (Partie 2)
- Attribution d’une adresse fixe à une tablette (box Internet)
- Ajout de l’application Vera : ImperiHome (box Vera)
- Configuration d’une page de tableau de bord sous ImperiHome (tablette)
- Premiers pas vers la programmation Lua (box Vera)
- Ecriture d’une scène permettant de faire vocaliser un message (box Vera)
Attribution d’une adresse fixe à une tablette (box Internet)
Afin de pouvoir bénéficier des fonctionnalités évoquées dans l’introduction de cet article, vous devez définir une adresse fixe pour votre smartphone et/ou votre tablette.. Wikipedia définit le DHCP (Dynamic Host Configuration Protocol) comme est un protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’un équipement et l’attribution automatique d’une adresse IP et d’un masque de sous-réseau.
Voici à ce que cela peut ressembler pour la LiveBox 3 d’Orange
Sélectionnez le menu « configuration avancée » (1)
Sélectionnez le sous-menu « DHCP » (2)
L’écran suivant doit s’afficher
Faites défiler l’écran vers le bas
Dans le champ 1, Sélectionnez l’équipement correspondant à la tablette
Dans le champ 2, indiquez l’adresse IP fixe, dans notre exemple 162.168.1.101
Dans le champ 3, indiquez l’adresse MAC (adresse physique identifiant un appareil), cette information est disponible dans les Paramètres de la tablette, menu « A propos de la tablette », sous menu « Etat de la tablette, état du réseau et autres informations »
Cliquez sur le bouton « Ajouter »
Déconnectez et reconnectez la tablette au réseau Wifi, rendez-vous dans les Paramètres de la tablette, menu « A propos de la tablette », sous menu « Etat de la tablette, état du réseau et autres informations » et vérifiez que l’adresse IP fixe attribuée correspond bien à celle définie dans la box Internet, (dans notre exemple, 192.168.1.101).
Ajout de l’application ImperiHome (box Vera)
Retrouvons nous dans le menu : Apps / Install Apps
Installez l’application autant de fois que vous avez de tablettes / smartphones que vous souhaitez utiliser pour faire vocaliser des messages (commencer par une tablette). L’installation et la configuration de l’application prend environ 2 minutes (soyez patient).
Voici les informations concernant cette application.
Avant d’aller plus loin, assurez-vous que votre tablette est en marche et que l’application ImperiHome est lancée et qu’elle fonctionne normalement.
Rendez-vous sur l’écran « Devices », l’application ImperiHome a ajouté un device « ImperiHome Device / Device unknown » (une fois appairé, c’est le modèle de votre tablette qui apparaitra), ce device comporte un message d’erreur « Lua Startup Failure ». Pas de panique, c’est « normal » !
Cliquez sur « > » pour vous rendre les informations détaillées dudit device
Renseignez le nom, (dans notre exemple, « Tablette Guy »)
Sélectionnez le nom de la pièce, (dans notre exemple, « OO-Commune »)
Cliquez sur « > » correspondant au « Advanced » pour continuer la configuration
Rendez-vous dans la partie « Advanced », l’onglet « Variables »
Renseignez l’adresse IP fixe de votre tablette, (dans notre exemple, 192.168.1.101)
Restez dans la partie « Advanced », allez dans l’onglet « New service »
Cliquez sur le bouton « Reload Engine »
Retrouvons nous dans le menu : Devices
Si vous avez encore un message d’erreur, recharger la page de votre browser, cela a pour conséquence de ré exécuter les fichiers startup.
Le modèle de votre tablette et la version de l’ImperiHome installée sur votre tablette a remplacé l’information « Device unknown » et le message d’erreur a disparu. Sympa !
Configuration d’une page de tableau de bord sous ImperiHome (Tablette)
Une fois l’application ImperiHome lancée sur votre tablette, cliquez sur l’icône entourée pour passer en mode tableau de bord.
Cliquez sur l’icône entourée pour passer en mode édition.
Cliquez sur l’icône « + » pour ajouter une page au tableau de bord
Sélectionnez le modèle « Format paysage avec 9 emplacements ».
Cliquez sur l’icône « crayon » pour renommer la page.
Validez la modification en appuyant sur le bouton « OK »
Ensuite, appuyez un petit instant sur la plus grande zone rectangulaire pour ajouter une caméra IP (rappel : celle-ci doit avoir été configurée dans la box Vera).
Sélectionnez l’appareil, ici la caméra
Sélectionnez un widget
L’image de la caméra apparait alors sur la page du tableau de bord.
Restez appuyé un petit instant pour ajouter un interrupteur virtuel.
Sélectionnez l’appareil, ici Garage Gauche
Sélectionnez un widget
Vous devriez voir apparaître le nouveau device ajouté
Restez appuyé un petit instant pour changer le widget (icône).
Sélectionnez « Configuration »
Sélectionnez « Changer l’icône »
Sélectionnez l’icône de votre choix
Vous devriez voir apparaître la nouvelle icône
Restez appuyé un petit instant pour ajouter un détecteur d’ouverture.
Sélectionnez l’appareil, ici « Garage Gauche (DO) »
Sélectionnez un widget (certes, dans ce cas, il n’en existe qu’un seul modèle)
Vous devriez voir apparaître le nouveau device ajouté
Restez appuyé un petit instant pour changer le widget (icône).
Sélectionnez l’icône de votre choix
Vous devriez voir apparaître la nouvelle icône
Réitérez l’opération pour les interrupteurs virtuels du garage de droite et du portail, le détecteur d’ouverture du garage de droite et le lancement scénario (décrit juste après). Votre page de tableau de bord devrait ressembler à quelque chose de ce genre.
Premiers pas vers la programmation Lua (box Vera)
Références du langage lua :
- français : Lua le tutoriel
- anglais : Lua 5.1 Reference Manual
Dans un premier temps, je vous recommande la lecture des 4 premiers chapitres du tutoriel Lua le tutoriel : préambule, les bases du langage, les variables, les structures de contrôle.
wxLua : est un éditeur qui est associé à compilateur Lua, il vous permettra de découvrir les bases du langage Lua et de tester des parties de codes.
wxLua ne gère pas les instructions spécifiques (commandes et fonctions, exemple « luup.variable_get("urn:micasaverde-com:serviceId:SecuritySensor1", "Tripped", 43)) ni les bibliothèques intégrées (exemple : « require("socket.http") ») à la box Vera. Si vous tentez de les utiliser le compilateur vous indiquera un message d’erreur.
Notepad++ : est un éditeur qui offre l’auto complétion et la coloration syntaxique.
Instruction « print » : je vous recommande de ne pas utiliser cette instruction « print » dans les scripts destinés à la box Vera même si celle-ci est très utilisée dans le tutoriel. A la différence de wxLua, le résultat ne s’affichera pas à l’écran, mais sera écrit dans le fichier de log.
Fichier Log de la Vera : le chemin d’accès est http://adress-ip-de-votre-box/cgi-bin/cmh/log.sh?Device=LuaUPnP (exemple : http://192.168.1.242/cgi-bin/cmh/log.sh?Device=LuaUPnP). Si vous avez attribué une adresse IP fixe à votre box, je vous recommande de mettre un raccourci dans votre éditeur favori. Pour les plus téméraires, je vous indique la page qui fournit des explications (très insuffisantes à mon goût) http://wiki.micasaverde.com/index.php/Luup_Debugging.
La commande « print ("Hello the world") » dans la fenêtre de test de la box Vera (Apps / Develop Apps / Test Luup code (Lua)) donnera la ligne suivante dans le fichier de log « 03/20/16 7:25:19.681 JobHandler_LuaUPnP::HandleActionRequest argument Code=print ("Hello the world") ). Dans le prochain article consacré à la documentation, je vous proposerai une méthode plus simple pour constituer une trace.
Recommandation pour le nommage des variables :
- première lettre : portée ou visibilité des variable, « l » pour local et « g » pour global
- deuxième lettre : Type de variable, « s » pour string (chaine), « i » pour integer (entier), « f » pour float (réel), « a » pour array (table), …
- troisième et quatrième lettres : type de device (facultatif), VS pour Virtual Switch, MS pour Motion Sensor (détecteur de mouvement), …
- 1 ou plusieurs noms significatifs
Voici un exemple qui illustre la nécessite de bien connaître le type des variables en présence :
local lsA = « 7 »
local lsB = « 11 »
if lsA > lsB then le résultat est vrai, car l’expression compare 2 chaines de caractères
local liA = 7
local liB = 11
if liA > liB then le résultat est faux, car l’expression compare 2 entiers
Au fil des articles, nous commenterons certaines instructions utilisées et nous découvrirons les principales commandes et fonctions Lua spécifiques à la box Vera.
Ecriture d’une scène permettant de faire vocaliser un message (box Vera)
Retrouvons nous dans le menu : Scenes / + Add Scene
Sélectionnez « Schedule », « Daily », « 21H00 », puis « Validate » ; enfin cliquez sur « > » pour passer à l’étape suivante.
Cliquez sur « > » pour passer à l’étape suivante.
Cliquez sur « > » pour passer à l’étape suivante, nous ne voulons pas ajouter une action différée (délai).
Effectuez les différentes actions dans l’ordre suivant :
1) Cliquez sur « > », un nouvel écran va s’ouvrir dans lequel vous allez devoir recopier et adapter le code (le code est téléchargeable lorsque vous cliquez dessus).
2) Sélectionnez la pièce concernée, (dans notre exemple, le garage)
3) renseignez le nom du scénario, (dans notre exemple, « Statut des portes du garage (SC) »).
Voici le code, à adapter en tenant compte des numéros de vos devices : détecteur(s) d’ouverture, tablette(s)
(ou cliquez ici pour télécharger le code lua)
Recopiez le code dans cette fenêtre et cliquez sur « Save lua »
Voici quelques rapides explications concernant les fonctions et procédures Lua utilisées.
Il ne vous reste plus qu’à tester le bon fonctionnement de l’ensemble. Enjoy it !
Documentation
Article |
Menu Vera |
Module / Apps |
Scénario / Script |
Settings / Setup Wizard |
Fibaro Wall Plug |
Fibaro Wall Plug |
|
Dashboard Scenes / + Add Scene |
Fibaro Wall Plug |
Scénario de mise hors tension quotidienne à heure fixe Feuille Excel |
|
Settings / Net & Wifi Apps/Install apps Apps / Develop Apps / Test Lupp Code (LUA) Scenes / + Add Scene |
Mobile Apps « ImperiHome » Caméra FOSCAM FI8918W Capteur EverSpring SM103 Apps « Virtual ON/OFF Switches » |
Scénario+ script d’ouverture / fermeture d’ouvrants |
|
Apps/Install apps |
Apps « ImperiHome » Mobile Apps « ImperiHome », création d’une page de tableau de bord |
Scénario + script de vérification de l’état des portes de garage et permettant la vocalisation d’un message |
|
Apps / Develop Apps / Test Lupp Code (LUA) |
Script de collecte d’information des devices utilisés Feuille Excel |
||
Scenes / + Add Scene |
|
Scénario + script enrichis de vérification de l’état des portes de garage et permettant la vocalisation d’un message |
|
07 – Tout savoir ou presque sur les notifications |
Apps / Develop Apps |
|
|
Conclusion
Avec ce quatrième article, nous avons finalisé l’implémentation du cas d’utilisation. J’espère que ce cas d’utilisation vous aura intéressé. Comme annoncé dans le premier article, l’objectif est de dépasser le cadre des articles de tests de nouveaux produits; et de vous fournir des exemples concrets d’utilisation et de valeur ajoutée. Si vous avez des idées de cas d’utilisation, n’hésitez pas à nous les indiquer.
Rappel : ces articles s’adressent à un public de débutants avertis ; n’hésitez pas à faire part de votre ressenti (intérêt du sujet, complexité, niveau de détail, …).
NOUVEAU : Retrouvez nos articles en Vidéos sur YouTube
![]() |
Cet article vous est proposé par GuyT : Guy possède une expérience des Systèmes d'Information (SI) à l'international chez un opérateur telco où l’intégration est vitale entre les différents quartiers du SI (par analogie avec l’urbanisation des villes). Il s'est lancé dans la domotique en 2012, après une pause rédactionnelle, il est de retour pour vous proposer des cas concrets d'utilisation et d'intégration qui tiennent compte de l'expérience utilisateur. |