Page 1 sur 2
Gestion de l'automatique vs action humaine
Publié : 06 mars 2016, 19:52
par Gloumi
Bonjour à tous,
En ce moment j'essaie d'automatiser plusieurs scénarios tels que :
- Allumage de la lumière lorsque je rentre chez moi
- Régler automatiquement ma lumière en fonction de la luminosité extérieur (dimmer + halogène)
- Éteindre le radiateur de la salle de bain quand la température dépasse les 22°C
Mais mon soucis avec tout ça c'est que je contrôle plus domoticz, c'est domoticz qui me contrôle...

Par exemple si je souhaite allumer le chauffage de la salle de bain alors que la température dépasse les 22°C DZ l’éteins automatiquement, pareil, si je veux ajuster la luminosité de ma pièce manuellement je ne peux plus...
Je voulais donc avoir votre avis / retour d’expérience sur ce genre de situation, je cherche une solution pour faire ça simplement. Pour le moment la seule idée qui me vient serait de créer une variable par périphérique. Cette variable passerait à 1 si je décide d'allumer le radiateur alors qu'il fait plus de 22 ou si je contrôle ma lumière manuellement alors qu'elle est en mode auto. Mais ça la gestion est assez laborieuse et j'aimerai quelque chose de plus global... Donc si quelqu'un a une meilleure idée je suis preneur !

Re: Gestion de l'automatique vs action humaine
Publié : 07 mars 2016, 20:59
par georges.attali
Bonjour,
je répond tardivement, mais je viens seulement de voir ton post, j'espère qu'il n'est pas trop tard ...
1) pour ce qui est du radiateur, est il piloté par fil pilote (avec montage diode zener, etc) - dans ce cas, c'est normal : le fil pilote marche "à l'envers" : allumer le fil pilote éteint le radiateur, éteindre le fil pilote allume le radiateur
2) pour les autres actions, je te recommande de mettre des print("je fais ceci, je fais cela") dans test scripts lua. Ensuite tu peux voir ce qu'il fait dans Setup/Log
pas mieux pour l'instant. je t'invite à poser d'autres questions si le cœur t'en dit.
bye, Geo
Re: Gestion de l'automatique vs action humaine
Publié : 07 mars 2016, 23:46
par oula85
Le plus simple tu intercales un inter virtuel de forcage dans tes conditions si tu veux prendre la main tu n'as qu'a l'activer
Re: RE: Re: Gestion de l'automatique vs action humaine
Publié : 08 mars 2016, 07:21
par deennoo
oula85 a écrit :Le plus simple tu intercales un inter virtuel de forcage dans tes conditions si tu veux prendre la main tu n'as qu'a l'activer
Pareil !
Mon la gestion de mon store a banne, j'ai d'abord mis un bouton auto ou manuel.
Si auto On le script continue et vérifie les éléments nécessaire a la gestion du store (température, vent, heure).
Si auto Off : le script s'arrête, me laisse la main pour l'actionner a ma guise.
Re: Gestion de l'automatique vs action humaine
Publié : 08 mars 2016, 08:50
par rimram31
Effectivement, il te faut introduire une logique de dérogation (a la consigne appliquée par les scripts "habituellement") et ça peut se faire en introduisant un switch virtuel additionnel qui va indiquer si tu es en mode auto ou manuel. Cet etat est ensuite utilisé dans tes scripts.
Re: Gestion de l'automatique vs action humaine
Publié : 08 mars 2016, 17:42
par ganq
J'ai un bouton Auto pour mes volets que je peux allumer /éteindre depuis domoticz mais aussi depuis la télécommande
Cela permet de rester autonome
Ensuite, tu peux programmer Domoticz lorsque tu mets manuellement le radiateur en marche, tu lui mets auto off pendant un certain temps.
Re: Gestion de l'automatique vs action humaine
Publié : 23 mars 2016, 22:55
par Gloumi
Merci pour vos réponses ! Et désolé de ne pas avoir repris le sujet plus tôt, je n'ai pas eu beaucoup de temps pour me remettre sur le sujet ces deux dernières semaines...
Effectivement il semble que la meilleure solution soit de créer un interrupteur qui permet de passer en mode automatique, c'est donc ce que j'ai fait ce soir, et ça fonctionne parfaitement.
Je l'utilise pour ajuster la luminosité de ma pièce en fonction de la luminosité extérieure, donc à partir du moment ou la luminosité atteint un certain seuil, mon halogène s'ajuste toutes les minutes. Si je veux reprendre la main dessus je dois désactiver le mode auto. Mais j'ai voulu faire mieux, en disant, si je modifie moi même la valeur de ma lumière, le script doit passer automatiquement en mode manuel et me laisser la main. Facile je me suis dit, je crée un script device qui s'active au changement de statut de mon switch, et hop le tour est joué, mais non ! Evidemment ce changement de statut intervient aussi quand ma luminosité est gérée automatiquement. Ce qui a pour effet passer directement en mode manuel dés le premier déclenchement auto ! Donc maintenant je dois trouver un moyen de différencier une action automatique d'une action manuelle...
Re: Gestion de l'automatique vs action humaine
Publié : 24 mars 2016, 00:19
par vil1driver
et si ton script regardait depuis combien de temps ton allogène à été piloté.(cf. script_time_demo.lua)
ton script ajuste l'intensité de ton allogène toutes les minutes.. s'il y a action manuelle c'est entre 2 actions de ce script..
du coups à sa prochaine exécution le script peut voir que ton allogène à été commandé il y à bien moins d'une minute,
en déduit donc une action humaine et désactive le mode auto pour les 6 prochaines heures..
j'ai quelque chose de similaire pour mon simulateur d'aube et cela fonctionne très bien
Re: Gestion de l'automatique vs action humaine
Publié : 24 mars 2016, 21:48
par Gloumi
Effectivement ça me semble être une bonne solution ! Je vais tester ça, merci

Re: Gestion de l'automatique vs action humaine
Publié : 29 mars 2016, 23:32
par Gloumi
Ca fonctionne nickel ! Je remet le mode auto à 'On' automatiquement tous les matins via le planificateur, c'est plus pratique dans mon cas. Par contre ça m'intéresse de savoir comment faire un timer de 6h, je ne vois pas comment gérer ça ? J'aimerai faire ça pour mon script qui allume la lumière quand je rentre chez moi, si je rentre tard je voudrai que la lumière s'allume puis s'éteigne automatiquement au bout de 5 minutes par exemple.
Voici le script pour ceux que ça intéresserait :
Code : Tout sélectionner
-- Variables to customize ------------------------------------------------
local luxMax = 1000
local lightLevelMax = 50
local device = 'Halogene Salon'
--
-- Variables
local currentLux = tonumber(otherdevices_svalues['Luminosite exterieure'])
t1 = os.time()
s = otherdevices_lastupdate[device] -- returns a date time like 2013-07-11 17:23:12
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
commandArray = {}
if(otherdevices['Lumière Salon Auto'] == 'On') then
if (otherdevices['Presence']=='On' and (currentLux < luxMax) and difference >= 59) then
local lightLevel = currentLux * 100 / luxMax;
lightLevel = 100 - lightLevel;
lightLevel = lightLevel * lightLevelMax / 100;
lightLevel = math.floor(lightLevel);
-- print('Light : ' .. lightLevel);
commandArray[device] = tostring('Set Level '..lightLevel);
elseif (otherdevices['Presence']=='On' and (currentLux < luxMax) and difference < 59) then
commandArray['Lumière Salon Auto'] = 'Off'
end
end
return commandArray