Aller au contenu
Ez3kiel

Smart Lights - Gestion Auto De Votre Eclairage

Recommended Posts

Bon j'ai reçus mes modules, sauf que perso je ne suis pas en mesure de modifier le scripts lol.

J'ai beau essayer de comprendre pourquoi l'auteur du script permet plusieurs détecteurs de mouvements et de LUX sur les même groupes d'éclairages....

 

Là  je ne pige pas.

 

Ok, ce week end j'ai pu tester un truc :

 

Dans le séjour j'ai un détecteur, qui allume plusieurs lampes au séjour, mais aussi au salon (car le salon est ouvert type open space).

Sauf que, nous étions au salon à  prendre un super apéro, et comme nous n'étions pas dans le champ de l'unique détecteur, pafff lumière éteinte dans le salon.

Heureusement que ce Sauron est bien fichu, je l'ai dirigé sur nous et le probleme était réglé.

 

Mais il se retrouverais inversé pour ceux qui serait au séjour, ils ne sont plus dans le champ lol

Donc toute l'utilité d'avoir plusieurs capteur de "mouvement"

 

Après concernant les LUX je suis un peut plus mitigé....

Car d'une pièce a l'autre, en fonctionne de grande baie vitré bien lumineuse, alors que l'autre coté le serait moins, ça devient ingérable pour que chacun réagisse bien.

 

Mais ce script reste une merveille dans le genre quand meme !

 

Une évolution permettant de découper plus en profondeur les groupes de lampes serait un must.

Partager ce message


Lien à poster
Partager sur d’autres sites

@moky,  Je pensais au fait de modifier le script pour gérer plusieurs zones. Cela risque de bloquer avec la limitation du nombre d'instances pour une même scène. J'ai d'ailleurs passé le Max running instances à  3 pour ne pas avoir d'alerte quand la scene tourne 2 fois (avant que le script tue la 2eme instance). Avec plusieurs zones , je suppose qu'il y aurait plus de déclenchement et donc des cas pour lesquels ta scene serait annuler par le nouveau systeme alors que tu en aurais besoin, non ?

 

@Domodial, 

 

La pièce principale de la maison est aussi ouverte ( sejour/salon/cuisine ouverte ) et effectivement plusieurs detecteurs seraient utiles pour exploiter la zone séjour/ Pour les lux , si tu es sur la meme exposition ça devrait le faire, sinon une scene par zone et c'est réglé. C'est pas comme si la HC2 était pas assez puissante en terme de proc ou de ram.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que je vais installer un Oeil au Salon, avec celui du séjour (cuisine aussi ouverte) ça fera le job.

Puis si au niveau des lux je ne m'en sort pas, je ferais effectivement tourner deux smart Lights.

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour,

 

j'ai quelques questions :

 

1- si j'ai bien compris il faut 1 script par pièce ou on veut gérer l’éclairage ?

 

2- dans mon installe j'ai un vd qui change 2 variables, 1 variable mode_homestatus et une variable saison

    suivant la valeur de la variable mode_homestatus cela exécute un scripts qui lui même suivant la saison exécute une liste de fibaro:call() 

 

(tout ça c'est pour planter le décor :-) )

 

   la variable global mode_homestatus contient 8 mode différents, j'aimerai que le script s'execute lors des mode suivant : Maison, soirée, nuit, ne pas deranger, manuel

  et ne s’exécute pas pour les modes : sortie courte, sortie longue, vacances

 

 
 
 

  mais suivant une luminosité min pour 4 pieces et sans rapport de luminosité pour 1 piece(ou je n'ai pas de capteur de lux)

 

 je ne vois pas comment utiliser ce script du coup je vois bien que cela ce passe dans cette partie mais suis un peu perdu

motionSensorID    = {477};  -- change id for your motion sensor.
LuxSensorID       = {480};  -- change id for your light sensor.

--Enter the name of your Global variable. WITHOUT IT, THE SCENE DOES NOT WORK. Capital sensitive!
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"
sleepStateMapping   = {Sleeping="Sleeping", Awake="Awake"};
timeOfDayMapping    = {Morning="Morning", Day="Day", Evening="Evening", Night="Night"};
presentStateMapping = {Home="Home", Away="Away", Holiday="Holiday"};

-- Set the lux value for which the lights have to be turned on.
-- If you don't want to use the MinLux then just set it to: 65535
minLuxMorning  = 100;
minLuxDay      = 60;
minLuxEvening  = 40;
minLuxNight    = 30;

--If the current lux value is above the maxlux, the lights will turn off after their set onTime.
maxLuxMorning = 300;
maxLuxDay = 300;

--[[
 Now the most important part:
   Here you can enter what light, for how long and at what value has to be turned on.
   Leave empty brackets for no lights.
   To set the light value without timer use 2 parameters: {id=LightID, setValue="VALUE"}
   To set the light value with timer    use 3 parameters: {id=LightID, setValue="VALUE", onTime=timeInSeconds }
   To set the light value for RGBW:  use the above, where setValue is: setValue={R="255",G="255",B="255",W="255"}
   --                                           RGBW set: {id=LightID, setValue={R="255",G="255",B="255",W="255"}, onTime=timeInSeconds }
   --]]
   
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  = 90;
dimmDownTime = 10;

et un cas particulier (évidement)

la monté d'escalier a 2 détecteurs de mouvement 1 en bas et 1 en haut sur le palier avec un angle entre les 2

 

je voudrais qu'en mode nuit la lumière de l'escalier ne s'allume uniquement si le détecteur du haut détecte un mouvement alors que dans les autre mode quelque soit le détecteur cela allume la montée 

 

 

ai-je vraiment besoin de la variable : timeOfDayMapping

 

voila j’espère que j'ai été assez clair et que vous pourrais m'aider 

 

merci d'avance 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut angelz, 

 

Alors : 

1 - Oui, un script par pièce , en tout cas c'est la compréhension que j'en ai et je pense que les réglages seraient bien plus simples et bien plus fins ainsi.

2 - Les différents états de ton VD doivent donc etre des conditions pour les extra features (voir le 1er post avec la traduction)

 

 

mais suivant une luminosité min pour 4 pieces et sans rapport de luminosité pour 1 piece(ou je n'ai pas de capteur de lux)

un script par pièce va te permettre de mettre 4 valeurs (differentes entre les pièces si tu veux ) pour les minLux de chaque pièce et un minLux = 65535 pour ne pas tenir compte de la luminosité dans la pièce sans capteur de lum.

 

Pour ton cas particulier avec 2 detecteurs dans l'escalier : 

on aurait donc une scène pour l'escalier avec les IDs de tes 2 detecteurs de mouv et de lum en entête et tu gères ton cas particulier ( nuit et mouvement en haut uniquement) dans les extrafunctions.

 

Pour les variables , oui, le script en a besoin pour marcher.

 

Je te conseille de tenter le coup pour 1 pièce "simple" et une fois que le cas classique marche en suivant le 1er post ( creation des variables nécessaires au script,regler les seuils de déclenchements... ) voir pour jouer  avec les extra functions pour gerer les absences et les cas spéciaux

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est les varaibles global que je ne comprends pas trop

 

si je fait par ex :

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"};

donc variable sleepState correspond a sleepStateMapping et dois contenir 2 valeur sleeping et awake ?

sleeping veut dire script en sommeil ou alors que les gens dorme  ou sont pas la ? et inversement awake?

 

presentState correspond  a presentStateMapping et contient les valeur home, away, holliday (qui corrensponde au mode de la maison ?

 

 

est-ce que ces ligne sont correcte pour allumer une lampe pendant 360 sec :

lightsSleeping = {}; --lights that are triggered when Sleepstate is sleeping. 
lightsMorning  = {{id=73, setValue="turnOn", onTime=360}};
lightsDay      = {{id=73, setValue="turnOn", onTime=360}};
lightsEvening  = {{id=73, setValue="turnOn", onTime=360}};
lightsNight    = {{id=73, setValue="turnOn", onTime=360}}; 

j'ai ça dans les log donc je suppose que c'est plutôt bon mais cela ne s'allume pas :(

[DEBUG] 00:41:50: Home status: Home
[DEBUG] 00:41:50: Motion status: movement
[DEBUG] 00:41:50: Triggered by: 42 Motion sensor
[DEBUG] 00:41:50: Sensor lux: 500 is lower then minValue: 2500
[DEBUG] 00:41:50: Lights turned: on for Night
[DEBUG] 00:41:50: © Smart Lights V1.6.7 | by Control Living, Finished
[DEBUG] 00:41:50: -------------------------------------------------------

désolé des question un peu bete :-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Sleeping c'est une variable Dodo/Padodo par exemple utilisé dans la ligne ou il n'y a rien = {};

En fait les variables tu les mets àta sauce par rapport àcelles déjàexistante chez toi. (variable Maison par exemple ou Absence)

Partager ce message


Lien à poster
Partager sur d’autres sites

Regarde mon code :


--Entrez les valeurs de vos Variables Globales qui correspondent aux variables ci dessous
sleepStateMapping   = {Sleeping="Dodo", Awake="PasDodo"};
timeOfDayMapping    = {Morning="Matin", Day="Jour", Evening="Soir", Night="Nuit"};
presentStateMapping = {Home="Present", Away="Absent", Holiday="Conge"};

-- Réglez la valeur en lux minimum à  laquelle la lumière doit s'allumer.
-- Si vous ne voulez pas utiliser de minLux alors mettez : 65535
minLuxMorning  = 5;
minLuxDay      = 5;
minLuxEvening  = 5;
minLuxNight    = 2;

--Si la luminosité est supérieur à  maxlux, la lumière s'éteint après le délai onTime (voir plus bas).
maxLuxMorning = 200;
maxLuxDay = 200;

--[[
 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 = {}; --Lumière commandés lorsque Sleepstate est Dodo
lightsMorning  = {{id=305, onTime=300}};
lightsDay      = {{id=415, setValue={R="255",G="0",B="0",W="255"}, onTime=300}};
lightsEvening  = {{id=204, setValue="60", onTime=300}, {id=415, setValue={R="104",G="172",B="255",W="255"}, onTime=300}, {id=305, onTime=300}};
lightsNight    = {{id=204, setValue="20", onTime=60}};

Et donc en fonction des variables que tu utilises chez toi (certainement pas toutes) tu utiliseras les lignes ci dessus en fonction.

Les autres tu peux les mettres en = {}; comme la première si non utilisés.

 

Les réglages d'origine pour les lux c'est vraiment bizarre, pour moi j'ai du adapter.

 

minLuxMorning  = 5;
minLuxDay      = 5;
minLuxEvening  = 5;
minLuxNight    = 2;

Le minimum de lux qui permettra l'allumage, au dessus de 5 par ex ça ne s'allume pas, en dessous oui.

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour

 

 

juste pour etre sur, les lignes de log indique :

 

que detecteur mvt a detecter un mouvement 

les lux sont bien inférieur au lux min

commande pour allumer les lumière ?

[DEBUG] 10:11:01: Home status: Home
[DEBUG] 10:11:01: Motion status: movement
[DEBUG] 10:11:01: Triggered by: 42 Motion sensor
[DEBUG] 10:11:01: Sensor lux: 500 is lower then minValue: 2500
[DEBUG] 10:11:01: Lights turned: on for Night

mais rien ne s'allume...

 

pour être sur de la commande :

 

{{id=73, onTime=300}};  ---> turnOn de l'id 73 pendant 300 seconde puis turnOff ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu allume une lampe On/Off cette commande n'est pas nécessaire

setValue="turnOn"

Je pense que ton blème vient de là.

Partager ce message


Lien à poster
Partager sur d’autres sites

justement j'essaye comme cela : 

{{id=73, onTime=300}};

le onTime veut dire on allume pendant 300 sec OU on allume aprés 300sec ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Si ça ne fonctionne pas dans le cas ou tout est bien déclaré, c'est que la variable qui commande la ligne qui devrait s'allumer, n'est pas sur le bon état.

Partager ce message


Lien à poster
Partager sur d’autres sites

alors voici la config des variables :

--Enter the name of your Global variable. WITHOUT IT, THE SCENE DOES NOT WORK. Capital sensitive!
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"
sleepStateMapping   = {Sleeping="Sleeping", Awake="Awake"};
timeOfDayMapping    = {Morning="Morning", Day="Day", Evening="Evening", Night="Night"};
presentStateMapping = {Home="Home", Away="Away", Holiday="Holiday"};

les paramètres lux :

-- Set the lux value for which the lights have to be turned on.
-- If you don't want to use the MinLux then just set it to: 65535
minLuxMorning  = 2500;
minLuxDay      = 2500;
minLuxEvening  = 2500;
minLuxNight    = 2500;

--If the current lux value is above the maxlux, the lights will turn off after their set onTime.
maxLuxMorning = 3000;
maxLuxDay = 3000;

les commandes (toutes les même)

lightsSleeping = {}; --lights that are triggered when Sleepstate is sleeping. 
lightsMorning  = {{id=73, onTime=300}};
lightsDay      = {{id=73, onTime=300}};
lightsEvening  = {{id=73, onTime=300}};
lightsNight    = {{id=73, onTime=300}};


--Manual Override, the time that lights will not be turned ON again after manually turning them off.
OverrideFor  = 90;
dimmDownTime = 10;

je ne comprends pas trop a quoi correspond ceci :

 

OverrideFor  = 90;
dimmDownTime = 10;
 
mais j'ai laisser par défaut
 
l'etat des variable global
 
PresentState = Home
TimeOfDay = Day
SleepState = Awake

et encore une fois cette ligne dans les log qui me pousse a croire qu'il envoie la commande d'allumage

 Lights turned: on for Day 

qui est je crois : 

lightsDay = {{id=73, onTime=300}}; 
 

ou ai-je fait une erreur :-) ?

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
OverrideFor  = 90; --- Lorsque tu éteint une lumière manuellement, c'est le temps qu'il te laisser tranquille avant de rallumer la lumière automatiquement

dimmDownTime = 10; --- Sur les dimmer, il va graduer pendant 10 secondes avant d'éteindre

 

 

Tes paramètres qui ne vont pas sont : 2500 lux

Par défaut c'est n'importe quoi.

 

Regarde les lux de ta sonde, si la variable est sur jour, et que ta sonde t'indique 15 lux alors ici tu met minLuxDay = 14;

et ça s'allumera. En gros il faut mettre les paramètres plus BAS que ta sonde.

Mais pour cela, il faut que tu "repères" sur une journée, les lux qui correspondent a tes attentes en terme d'allumage.

 

EDIT : dsl je ne sais pas super bien expliquer :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que "Lights turned: on for Day" veut juste dire qu'il est sur la variable "Day" et qu'il est prêt àallumer si tout le reste va bien :D

Partager ce message


Lien à poster
Partager sur d’autres sites

@Angelz, je pense qu'il te manque ceci : tu n'as pas mis de setValue dans tes lignes

lightsMorning = {{id=471, setValue="99", onTime=300},{id=491, setValue="99", onTime=300},{id=902, setValue="turnOn", onTime=360}};

Partager ce message


Lien à poster
Partager sur d’autres sites

ça dépends...

Si On/Off pas besoin

Si Dimmer Ok

Si RGB Ok

 

Mais en aucun cas turnOn !

C'est le script qui gère tout seul.

 

Je suis certain que le probleme vient des lux (ce que j'explique plus haut).

Partager ce message


Lien à poster
Partager sur d’autres sites

donc angelz, le type d'eclairage alors ? ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi c'est les Extra codes que je ne pige pas bien (sauf pour la TV).

Après il y a pleins de choses possible mais c'est un peut vague pour moi...mais je vais m'y remettre.

Partager ce message


Lien à poster
Partager sur d’autres sites

oui je sais les valeur de mes sondes lux sont bizarre 

 

en pleine journée quand beaucoup de lumière dehors mes pièces sont entre 2000 et 3500 lux sur mes sondes (valeur afficher sur la hc2)

 

donc min 2500 lux c'est pour mes test ainsi je suis sur que les lux n’interfère pas dans le script 

quand cela marchera je baisserai cette valeur 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok, pour les lux ce n'est pas normal que tu as autant.

 

En ce moment j'ai 53 Lux avec un puit de lumière et 5 baies vitrés.

Bon aujourd'hui c'est couvert....

 

Dans l'exemple que je t'ai donné sur mon code.

A 53lux la lumière ne s'allume pas.

Arrivé à  5 lux elles vont s'allumer.

 

Regarde ta sonde pour voir si en présence du lumière forte elle change rapidement.

J'ai galéré 2 semaines avec l'oeil de sauron.

Partager ce message


Lien à poster
Partager sur d’autres sites

les sondes réagisse bien lumière éteinte 500lux (un peu sombre mais on vois un peu) lumière allumé 5196 lux 

 

je suis d'accord sur le fait que les valeur soit bizarre mais bon au lieu de me basé sur min 5 max 15, je me base sur min 500 max 2500 en prod ça ne devrait pas interférer avec le scripts 

 

 

post-1614-0-16097500-1454583083_thumb.png

post-1614-0-98877600-1454583086_thumb.png

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avoue ne plus rien comprendre :D

 

Mais par exemple j'ai réglé le déclenchement à  partir de 5 lux

Si luminosité de la sonde en dessous de 5lux ça allume.

Si au dessus, ça n'allume rien.

Partager ce message


Lien à poster
Partager sur d’autres sites

×