
Sommaire
L’idée :
Un capteur de mouvement judicieusement placé dans le salon détecte si il y a du mouvement devant la télévision :- Si il fait nuit,
- Si il n’y a pas eu de mouvement depuis plus de 10 minutes,
- Si le meuble TV est allumée
- Si l’éclairage du coin Tv est également allumé
- éteint le meuble TV
- Passe l’éclairage en mode veilleuse de nuit
- Allume l’éclairage d’ambiance de la chambre parentale
- Fait parler la domotique pour conseiller d’aller ce coucher.
Les outils
Il vous faut :- Un capteur de mouvement assez sensible, ici c’est un capteur de mouvement Xiaomi qui travail en Zigbee
- Un éclairage a intensité Variable dans le coin TV , Ici des ampoules Milights
- Un éclairage domotisé dans la Chambre parentale, Ici la lampe de chevet Bluetooth Xiaomi
- Un moyen d’allumer ou éteindre votre TV via la Domotique prise commandée ou un Broadlink RM PRO2 ou Mini
- Une façon de faire « parler » notre domotique : ici le TTS d’imperihome
Le Script
Je vous propose un script Lua, il est de type Devices car il dépend de la dernière fois que votre capteur de mouvement a détecter quelques choses, mais au lieu de vous le donner tout cuit, je vais le découper et vous l’expliquer, a vous de l’assembler et de le compléter avec les éléments de base d’un script LUA pour DomoticzLes différentes conditions
La temporisation
Dans un premier temps il faut que l’on définissent dans le script une différence de temps :time = os.date("*t") t1 = os.time() s = otherdevices_lastupdate['Mouvement Salon'] --ici je place le nom de mon detecteur de mouvement dans le salon year = string.sub(s, 1, 4) month = string.sub(s, 6, 7) day = string.sub(s, 9, 10) hour = string.sub(s, 12, 13) minutes = string.sub(s, 15, 16) seconds = string.sub(s, 18, 19) t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds} absence = (os.difftime (t1, t2)) --aprés avoir initialisée les variables necessaire a l'ananlyse du temps, une simple soustraction defini la variable "absence"Nous checkerons cette absence par :
if absence > 600 --ici 600 = 600 secondes = 10 minutesCette fonction de temporisation est aussi utilisé dans un événement d’éclairage temporisé (Comme ici pour Jeedom), il suffit de définir une absence plus longue que le retour en OFF de votre capteur
Jour/Nuit

if (timeofday['Nighttime']) then
Le meuble Tv est il allumé ?
Dans les scripts LUA de Domoticz on vérifie l’état d’un appareil ainsi :if otherdevices['Meuble TV']=='On' --le nom de l'appareil a verifier et son etat au choix On ou Off
L’éclairage est il allumé ?
Un éclairage comme les ampoules Milight n’apparaissent pas en ON quand elles sont allumées mais avec leurs niveau d’intensité, nous allons vérifier qu’elles ne sont pas éteintesif otherdevices['Cote TV']~='Off'Le sigle ~ signifie : différent Et voila nous avons nos différentes conditions à respecter pour que l’événement s’exécute
Les actions
Faire parler Imperihome
Dans un script Lua pour Domoticz nous avons la possibilité d’exécuter une commande système, c’est a dire que Domoticz fait comme vous pourriez le faire si vous étiez connecté sur votre serveur de Domotique Nous l’avons vu plutôt, il est possible de faire parler Imperihome depuis un navigateur internet, dans le script nous allons faire pareil : D’abord définir la commande a exécuter :runcommand = "curl http://ipdelappareilouestimperihome:8888/?tts=votre%20texte%20a%20dire%20sur%20l%20appareil";et ensuite nous exécutons cette commande :
os.execute(runcommand);
Eteindre le meuble TV
Nous utilisons une commande que j’affectionne beaucoup : Toggle, qui signifie : Inverse, il faut donc la comprendre comme : Inverse l’état de l’appareil à commanderCommandArray['Meuble TV']='Toggle'
Passer l’éclairage en mode veilleuse :
Ici j’utilise le selector Switch que j’ai créé pour avoir un accès facile aux commandes cachées des MilightsCommandArray['Cde Cote TV']='Set Level : 10' -- dans mon installation le level 10 du selector 'Cde Cote TV' correspond au mode veilleuse
Allumer la lampe de chevet :
Grace au tuto de la lampe de chevet Yeelight dans Domoticz, vous avez créé une ambiance correspondante a vos besoins dans un Selector, nous allons l’utiliserCommandArray['Lampe de Chevet']='Set Level : 30' -- dans mon installation le level 30 correspond a un blanc chaud et une luminosité de 10%Et voici nos actions, on finit le script par les habituels
end return commandArrayReste plus qu’à faire la surprise…en variante si vous êtes équipé de la Gateway Xiaomi Mihome, vous pouvez remplacer Imperihome par la fonction lecteur de son de la passerelle et faire jouer la phrase de votre choix : https://www.domoticz.com/wiki/Xiaomi_Gateway_(Aqara)#Playing_Gateway_Sound Encore une fois je n’ai rien inventé, juste pris le temps de lire et relire le wiki de Domoticz sur les événements : https://www.domoticz.com/wiki/Events, j’ai également éplucher le forum Easydomoticz qui reste la reference pour la communauté française de Domoticz. Cette idée de scénario/événement me vient du livre de Cedric Locqueneux : Le Guide de la maison et des objets connectés
