i-magin Posté(e) le 27 décembre 2013 Signaler Posté(e) le 27 décembre 2013 Checker l'éclairage chez soi Exécution automatique d'un script qui vérifie si toutes les lumières sont éteintes au départ de chez soi. NB : Je ne suis pas un spécialiste de LUA et mes connaissances en programmation datent de plus de 20 ans (inutile de m'appeler papy ) L'exemple ci-dessous est une adaptation d'un script de contrôle de fenêtres écrit par @quikdav...j'espère qu'il rejoindra ce forum Cette scène est exécutée automatiquement au départ de chez moi Quelques précisions : - "wallplug" et "interrupteur" sont des variables locales de type "table" - les valeurs entre parenthèses bouclées, sont les ID des modules Fibaro (Wall plug FGP111 / Dimmer FGD111). Elles sont séparées par des virgules - Le script va lire les valeurs d'une table dans une boucle : "for i = 1, #wallplug do" par exemple - Ces valeurs sont utilisées dans les commandes : "fibaro:getValue" - "tonumber" permet de changer le type de variable de "caractères à "nombre" - la variable "request" recueille le message à envoyer : une concaténation de textes et de variable - les deux lignes suivantes permettent d'envoyer le message par l'outil "Prowl" que j'expliquerai dans un futur post fibaro:setGlobal('pushnotification', request);fibaro:call(46, "pressButton", "3"); -- Message Prowl Voilà donc un premier post à propos de LUA Et n'hésitez pas dans vos remarques ! --[[ %% properties %% globals --]] wallplug = {6, 67, 68, 69} -- id des wallplugs interrupteur = {22, 50, 51, 87} -- id des interrupteurs local startSource = fibaro:getSourceTrigger(); local bconso = 0 -- contrôle wall plug for i = 1, #wallplug do local wallplugname = fibaro:getName(wallplug[i]); local request -- contrôle si conso supérieure à 1W (halogène consomme 0.5 à l'arrêt) if (tonumber(fibaro:getValue(wallplug[i], "valueSensor")) > 1) then -- remplace les espaces par des %20 pour que cela puisse être interprété dans une URL wallplugname = string.gsub(wallplugname, " ", "%%20") request = 'La%20lampe%20'..wallplugname..'%20est%20allumée'; fibaro:debug(request); fibaro:setGlobal('pushnotification', request); fibaro:call(46, "pressButton", "3"); -- Message Prowl bconso = 1 fibaro:sleep(2000); end end -- contrôle interrupteurs for i = 1, #interrupteur do local interrupteurname = fibaro:getName(interrupteur[i]); local request if (tonumber(fibaro:getValue(interrupteur[i], "value")) > 0) then -- remplace les espaces par des %20 pour que cela puisse être interprété dans une URL interrupteurname = string.gsub(interrupteurname, " ", "%%20") request = 'La%20lampe%20'..interrupteurname..'%20est%20allumée'; fibaro:debug(request); fibaro:setGlobal('pushnotification', request); fibaro:call(46, "pressButton", "3"); -- Message Prowl bconso = 1 fibaro:sleep(2000); end end if (bconso == 0) then request = "Aucune%20lampe%20n'est%20allumée"; fibaro:debug(request); fibaro:setGlobal('pushnotification', request); fibaro:call(46, "pressButton", "3"); -- Message Prowl end 2
Moicphil Posté(e) le 27 décembre 2013 Signaler Posté(e) le 27 décembre 2013 Merci, je vais le mettre en place tien ! Couplé à une scène "départ maison" utilisant ma position Gps
Krikroff Posté(e) le 29 décembre 2013 Signaler Posté(e) le 29 décembre 2013 Pour ceux qui n'utilisent que des modules Fibaro, il est possible de programmer les modules pour réagir ou non àla commande All On/ All Off. L'envoi d'une trame "All Off" éteint tous les modules . Par contre il faut être certain de son affaire sous peine d'éteindre la pompe de son aquarium, son frigo ou pire sa cave àvin
i-magin Posté(e) le 30 décembre 2013 Auteur Signaler Posté(e) le 30 décembre 2013 Ce serait donc le cas du dimmer FGD211 (paramètre 1) que j'utilise Je n'ai par contre pas trouvé ce paramètre sur les wallplug Sinon, pour sécuriser mon installation, j'ai prévu un onduleur/batteries dédié à l'alimentation de secours de ma cave à vin
Domodial Posté(e) le 20 mars 2014 Signaler Posté(e) le 20 mars 2014 Et le script doit éteindre les lumières en cas de simulation de présence nan ?
i-magin Posté(e) le 20 mars 2014 Auteur Signaler Posté(e) le 20 mars 2014 Euh... là j'ai pas trop compris ? Pour ce qui concerne le script qui date de décembre 2013, il s'agissait d'un tuto et non d'une mise en oeuvre réelle. En effet, on peut ajouter l'extinction automatique des lumières, plutôt qu'un message en quittant la maison... sauf que l'on peut oublier quelqu'un dans une pièce Pour les wallplug, l'extinction automatique doit être réfléchie avant, comme le souligne @Krikroff
Messages recommandés