- #321
Une solution parmis d'autres:
Problème
IF première détection
THEN allumer lampe pendant 60 secondes
ELSE
le détecteur de présence est le device detecteur
la lampe du garage est le device KNX_0101015
Une variable watched (dummy) eest définie celle-ci determine si on est dans le cas première détection ou deuxième detection, cela se fait en mettant la valeur ON pendant 30 seconde après première détection
Ensuite dans le notify du détecteur (détection) on teste watched pour voir dans que état on est et ce qu'on doit faire avec la lampe.
Enfin un notifier est placé sur l'extinction de la lampe pour forcer le retour a première détection.
En language FHEM
define watched dummy
attr watched room garage
attr watched setList on off
attr watched useSetExtensions 1
define detection notify detecteur { if(Value("watched") eq "off") {fhem("set KNX_0101015 on-for-timer 60") ;; fhem("set watched on-for-timer 30")} else {fhem("set KNX_0101015 on") ;; fhem("set watched on")} }
attr detection room garage
define resetwatched notify KNX_0101015
ff set watched off
attr resetwatched room garage
j'ai utilisé une variable detecteur pour simuler le détecteur de présence
define detecteur dummy
attr detecteur room garage
attr detecteur setList on off
A mon avis il doit y avoir d'autre moyen de réaliser la même chose par exemple avec DOIF, mais bon l'essentiel c'est que ça fonctionne.
Problème
IF première détection
THEN allumer lampe pendant 60 secondes
ELSE
IF (la deuxième détection arrive moins de 30 secondes après la première) allumer la lampe en continu
ELSE allumer lampe pendant 60 secondes
DEVICESELSE allumer lampe pendant 60 secondes
le détecteur de présence est le device detecteur
la lampe du garage est le device KNX_0101015
Une variable watched (dummy) eest définie celle-ci determine si on est dans le cas première détection ou deuxième detection, cela se fait en mettant la valeur ON pendant 30 seconde après première détection
Ensuite dans le notify du détecteur (détection) on teste watched pour voir dans que état on est et ce qu'on doit faire avec la lampe.
Enfin un notifier est placé sur l'extinction de la lampe pour forcer le retour a première détection.
En language FHEM
define watched dummy
attr watched room garage
attr watched setList on off
attr watched useSetExtensions 1
define detection notify detecteur { if(Value("watched") eq "off") {fhem("set KNX_0101015 on-for-timer 60") ;; fhem("set watched on-for-timer 30")} else {fhem("set KNX_0101015 on") ;; fhem("set watched on")} }
attr detection room garage
define resetwatched notify KNX_0101015
attr resetwatched room garage
j'ai utilisé une variable detecteur pour simuler le détecteur de présence
define detecteur dummy
attr detecteur room garage
attr detecteur setList on off
A mon avis il doit y avoir d'autre moyen de réaliser la même chose par exemple avec DOIF, mais bon l'essentiel c'est que ça fonctionne.