Aller au contenu

bencol

Membres confirmés
  • Compteur de contenus

    106
  • Inscription

  • Dernière visite

Tout ce qui a été posté par bencol

  1. bencol

    Allumage/extinction Automatique Des Lumières

    Voilà ma solution (je suis un peu ému, c'est la première fois que je publie, j'ai reçu ma HC2 il y a une semaine ) Je n'utilise pas de scènes mais un module virtuel uniquement. L'objectif est de piloter un éclairage (via wallplug) soit par un détecteur soit par un bouton sur l'interface avec un timer d'extinction qui se prolonge aussi longtemps qu'il y a une détection (ou bien que l'on éteigne par le bouton). J'ai 2 variables globales : - LampeSalonTV_Duree - LampeSalonTV_Timer J'ajoute un bouton à ce module qui contient le code suivant : -- Wallplug : id6 local selfId = fibaro:getSelfId(); if (fibaro:getValue(6, "value")=='0') -- lampe éteinte then -- modif icone allumé fibaro:call(selfId, "setProperty", "currentIcon", 1011); -- allumage lampe fibaro:call(6, "turnOn"); -- initialisation du timer fibaro:setGlobal("LampeSalonTV_Timer", fibaro:getGlobalValue("LampeSalonTV_Duree") * 60); else -- modif icone éteint fibaro:call(selfId, "setProperty", "currentIcon", 1012); -- extinction lampe fibaro:call(6, "turnOff"); -- affichage message fibaro:log("Lampe éteinte."); end puis dans le main loop je mets : -- Wallplug : id6 -- Détecteur : id15 -- déclaration des variables local selfId = fibaro:getSelfId(); local Seuil = 10; -- seuil de luminosité en lux local Maintenant = os.date("*t"); -- Gestion de l'extinction if (fibaro:getValue(6, "value") == '1' ) -- lampe allumée then -- décrémentation du compteur (par pas de 3s car mainloop toutes les 3s) fibaro:setGlobal("LampeSalonTV_Timer", tonumber(fibaro:getGlobalValue("LampeSalonTV_Timer")) - 3); -- affichage du temps restant fibaro:log("Extinction dans " ..fibaro:getGlobalValue("LampeSalonTV_Timer") .." s"); -- si timer vidé => extinction de la lampe if (tonumber(fibaro:getGlobalValue("LampeSalonTV_Timer")) <= 0) then fibaro:call(selfId, "setProperty", "currentIcon", 1012); -- modif icone éteint fibaro:call(6, "turnOff"); -- extinction lampe fibaro:log("Lampe éteinte."); -- affichage message end end -- Gestion d'une détection de mouvement if (fibaro:getValue(15, "value") == '1' -- mouvement détecté and tonumber(fibaro:getValue(17, "value")) <= Seuil -- luminosité faible and (Maintenant['hour'] >= 16 or Maintenant['hour'] <= 1)) -- heure > 19 h et heure < 1 h du matin then -- initialisation du timer fibaro:setGlobal("LampeSalonTV_Timer", fibaro:getGlobalValue("LampeSalonTV_Duree") * 60); -- modif icone allumé fibaro:call(selfId, "setProperty", "currentIcon", 1011); -- allumage lampe fibaro:call(6, "turnOn"); end Bon, je laisse aux experts le soin de me dire si cette solution est nickel ou pas. En attendant elle fonctionne parfaitement.
  2. bencol

    Comprendre Le Lua Sur Hc2

    Super ! merci
  3. bencol

    Comprendre Le Lua Sur Hc2

    Et comment tu fais ça ? Aurais tu un exemple de code ?
  4. bencol

    Allumage/extinction Automatique Des Lumières

    Merci pour la réponse. J'aurais bien présenté ma méthode mais comment présente t'on du code dans une réponse ? désolé je débute sur le forum.
  5. bencol

    Allumage/extinction Automatique Des Lumières

    Bonjour Je ne comprends pas d'où sort la fonction setimeout. C'est du javascript pas du LUA ?
×