Bonjour,

Je vois pas mal de personne qui s’intéresse à  la gestion auto de leur éclairage en fonction de la détection de mouvement et de la mesure de luminosité.
J'utilise depuis plusieurs mois un script de Stevenvd du forum officiel.
Etant étonné de ne pas voir ces infos présente sur notre forum, je vous en fait une petite présentation.

Ce script a pour but de gérer de manière autonome la ou les lumières de votre pièce en fonction de la lumière ambiante, de la présence dans la pièce, de vos variables Dodo/Debout, Présence/Abscence, Jour/nuit.
Le principe est le suivant :
La journée est divisée en plusieurs périodes(Matin, jour, soir, nuit)
Si on détecte un mouvement et que la lumière est trop basse pour la période de la journée alors on allume la/les lumière(s) pour X temps.
Mais là  ou le script est bien pensé, c'est qu'il intègre la possibilité d'allumer une ou plusieurs lampe en fonction de la journée et de la lumière ambiante  mais aussi de gérer des exceptions ( Lecture d'un film sur kodi, absence de la maison, ou ce que vous voulez)

Le post sur le forum officiel se trouve ICI et le script complet est dispo sur le site de l'auteur .

Pré-requis :
Vous devez avoir des variables globales pour les états suivants:
sleepState = "Dodo"
timeOfDay = " Periode de la journée"
presentState = "Présence"
Ces variables changent de valeur via un autre script ( GEA ou scheduler ou toute autre scene de votre cru !)

Ci-dessous les 1eres ligne du script où l'on a besoin d'intervenir.
(j'ai traduit les commentaires en français pour les anglophobes ou les Lorrains    )
  --[[ %% properties 477 value 480 value 491 value %% globals TimeOfDay PresentState --]] --[[ Changez - XXX value - au dessus. Une par détecteur de mouvement, une par détecteur de lux. La variable globale TimeOfDay et les lux s'assurent que la scene soit déclenchée quand vous etes déja dans la pièce et que quelquechose change. faites vos régalges en dessous, lumières et ajouter des " extra functions" Feel free to suggest changes or contact when having problems. It is not allowed to sell or distribute this software and earlier versions without the approval of Control Living © 2014 - 2015 Smart lights by Control Living Version 1.6.7 --]] -------------------------------------------------------------------- -----------------------YOUR LIGHT SETTINGS-------------------------- motionSensorID = {477}; -- changez les id du ou des détecteurs de mouvement {477} ou {477,478,479} si vous en avez plusieurs. LuxSensorID = {480}; -- changez les id du ou des détecteurs de luminosité {480} ou {480,481,482} si vous en avez plusieurs. --Pour eviter de devoir modifier tout le script, on définit ici les equivalences entre vos variables et celles du script --Entrez le nom de vos Variables Globales qui correspondent aux variables ci dessous.Il faut les créer au préalable. SANS CELA , LA SCENE NE FONCTIONNERA PAS. Attention aux majuscules ! sleepState = "SleepState"; --Sleep globalstate variable. timeOfDay = "TimeOfDay"; --Time of Day Global variable. presentState = "PresentState"; --Present state Global variable. --Enter the values of your global variables stated above. If not using, copy the name in front of the "YourValueName" --Entrez les valeurs de vos Variables Globales qui correspondent aux variables ci dessous sleepStateMapping = {Sleeping="Sleeping", Awake="Awake"}; timeOfDayMapping = {Morning="Morning", Day="Day", Evening="Evening", Night="Night"}; presentStateMapping = {Home="Home", Away="Away", Holiday="Holiday"}; -- Réglez la valeur en lux à  laquelle la lumière doit s'allumer. -- Si vous ne voulez pas utiliser de minLux alors mettez : 65535 minLuxMorning = 100; minLuxDay = 60; minLuxEvening = 40; minLuxNight = 30; --Si la luminosité est supérieur à  maxlux, la lumière s'éteint après le délai onTime (voir plus bas). maxLuxMorning = 300; maxLuxDay = 300; --[[ Maintenant la partie la plus importante: Ici vous pouvez définir quelle lumière doit s'allumer,à  quelle valeur et pour combien de temps. Laissez les acollades vides pour pas de lumière. Pour régler la valeur d'une lampe sans timer on utilise 2 parametres: {id=ID_LAMPE, setValue="VALEUR"} Pour régler la valeur d'une lampe avec un timer on utilise 3 parametres: {id=ID_LAMPE, setValue="VALEUR", onTime=TEMPS_EN_SECONDES } Pour régler la valeur d'un RGBW, on défini les 4 canaux dans le SetValue : setValue={R="255",G="255",B="255",W="255"} -- RGBW set: {id=ID_LAMPE, setValue={R="255",G="255",B="255",W="255"}, onTime=TEMPS_EN_SECONDES } --]] lightsSleeping = {}; --lights that are triggered when Sleepstate is sleeping. lightsMorning = {{id=471, setValue="99", onTime=300},{id=491, setValue="99", onTime=300},{id=902, setValue="turnOn", onTime=360}}; lightsDay = {{id=471, setValue="80", onTime=90},{id=491, setValue="80", onTime=90}}; lightsEvening = {{id=471, setValue="60", onTime=300},{id=491, setValue="60", onTime=300},{id=902, setValue="turnOn", onTime=300}}; lightsNight = {{id=471, setValue="45", onTime=60}, {id=491, setValue="45", onTime=60}}; --Manual Override, the time that lights will not be turned ON again after manually turning them off. --OverrideFor, le temps en secondes pendant lequel la lumière ne se rallume pas apres une extinction manuelle --dimmDownTime, temps en seconde pour le dimmer à  l'extintion OverrideFor = 90; dimmDownTime = 10; -------------------------------------------------------------------- -------------------------EXTRA FEATURES----------------------------- --Ici le script integre des fonctions supplementaires. C'est ici que l'on peut ajouter des conditions supplémentaires pour eviter l'allumage des lumières pendans la lecture d'un film par exemple extraMorningFunc = function() -- Add your extra code here. If you want some checks or maybe run a virtual device button. --This code is always triggered if there is motion. -- movieLights = {{180, "10"},{181, "10"} }; --if (xbmc == "playing" ) then CallLightArray(movieLights); ExtraDebug("Extra morning function called"); end extraDayFunc = function() -- Add your extra code here. If you want some checks or maybe run a virtual device button. --This code is always triggered if there is motion. ExtraDebug("Extra day function called"); end extraEveningFunc = function() -- Add your extra code here. If you want some checks or maybe run a virtual device button. --This code is always triggered if there is motion. ExtraDebug("Extra evening function called"); end extraNightFunc = function() -- Add your extra code here. If you want some checks or maybe run a virtual device button. --This code is always triggered if there is motion. ExtraDebug("Extra night function called"); end extraLightTriggerChecks = function() --add extra checks here. and return the total true or false value. --if returning false the lights will not be triggered. -- for instance: return ( (pcTurnedOff == true ) and (xbmc ~= "Empty") ); -- return true to enable lights to turn on return true; end extraOffChecks = function() --return true to keep lights on. return false; end -------------------------------------------------------------------- ----------------------ADVANCES SETTINGS----------------------------- local showStandardDebugInfo = true; -- Debug shown in white local showExtraDebugInfo = false; -- Debug shown in orange