Script chauffage
Publié : 07 janv. 2016, 15:51
Je découvre les scripts lua et toutes les possibilités de Domoticz.
J'essaie de mettre en place un script pour la gestion des radiateurs électriques dans mon appartement.
Je vais pour cela utiliser le module z-wave fil pilote.
Voici l'idée génrale du script.
Un Switch virtuel me permettant de gérer les différents modes de chauffage :
- Off => Tous les radiateurs sont à l'arrèt
- Mode présence => Chauffage en fonction de semaine de travail ou week-end avec des conditions horraires
- Mode abscence => Radiateurs en mode Eco
- Mode forcée => Radiateurs en mode Confort sur l'ensmble de l'appartement pendant x minutes
Si j'ai bien saisi les différentes possibilités de script, le script_time s'exécute toutes les minutes, celui-ci serait le plus intéressant à utiliser à mon avis.
Déroulement du script :
Il se lance toute les minutes, regarde si le switch mode chauffage et dans un état différent => Non fin script
Oui script continu
Il exécute le mode en fonction de l'état du switch, par exemple en mode présence.
- Test de la journée
- Test de l'heure et envoie l'élément correspondant au module fil pilote
Liste des questions en tête et points ou je bloque :
L'idée du script_time est elle intelligente?
Je pense que le scrip_device s'exécutera uniquement si modification de l'état du switch mode chauffage
Si utilisation du script_time l'envoie de la commande d'ordre fil pilote sera à chaque exécution du scripte ?
Ou faut il faire un test si la valeur du device est changé aussi?
D'avance merci pour vos réponse
J'ajoute mon script pour votre jugement, il reste beaucoup de travail dessus
Ce script est réalisé dans l'éditeur de script de Domoticz
Après des modifications (bricolage dessus), il faut que je relance les services de Domoticz, est-ce normal?
J'essaie de mettre en place un script pour la gestion des radiateurs électriques dans mon appartement.
Je vais pour cela utiliser le module z-wave fil pilote.
Voici l'idée génrale du script.
Un Switch virtuel me permettant de gérer les différents modes de chauffage :
- Off => Tous les radiateurs sont à l'arrèt
- Mode présence => Chauffage en fonction de semaine de travail ou week-end avec des conditions horraires
- Mode abscence => Radiateurs en mode Eco
- Mode forcée => Radiateurs en mode Confort sur l'ensmble de l'appartement pendant x minutes
Si j'ai bien saisi les différentes possibilités de script, le script_time s'exécute toutes les minutes, celui-ci serait le plus intéressant à utiliser à mon avis.
Déroulement du script :
Il se lance toute les minutes, regarde si le switch mode chauffage et dans un état différent => Non fin script
Oui script continu
Il exécute le mode en fonction de l'état du switch, par exemple en mode présence.
- Test de la journée
- Test de l'heure et envoie l'élément correspondant au module fil pilote
Liste des questions en tête et points ou je bloque :
L'idée du script_time est elle intelligente?
Je pense que le scrip_device s'exécutera uniquement si modification de l'état du switch mode chauffage
Si utilisation du script_time l'envoie de la commande d'ordre fil pilote sera à chaque exécution du scripte ?
Ou faut il faire un test si la valeur du device est changé aussi?
D'avance merci pour vos réponse
J'ajoute mon script pour votre jugement, il reste beaucoup de travail dessus
Code : Tout sélectionner
-- Récupération du jour,
local jour = os.date("%A")
-- Récupération de l'heure
time = os.date("*t")
local heures = time.hour
local minutes = time.min
-- Déclaration variables du module Z-Wave
local Off = 0
local HGel = 15
local Eco = 25
local Confort2 = 35
local Confort1 = 45
local Confort = 99
local Conf = 50
-- Déclaration des interrupteurs
local mode_chauffage = 'Mode Chauffage'
--local porte = 'Porte SdB'
-- Déclaration des Devices iD
local idx = 16
commandArray = {}
--if devicechanged['Mode Chauffage'] then
-- if (devicechanged['Mode Chauffage'] == 'Off') then
-- commandArray['Radiateur SdB'] = idx..'|0|'..Off
--
-- end
--else
--Du Lundi au Vendredi inclus
if (jour == 'Monday' or jour == 'Tuesday' or jour == 'Wednesday' or jour == 'Thursday' or jour == 'Friday' ) then
-- Mode Eco -3.5°
if ( ( heures >=22 and heures < 5 ) and (heures == 7 and minutes ==30) ) then
-- passer le radiateur SdB en mode eco fil pilote
commandArray['OpenURL'] = 'http://14.6.212.72:8080/json.htm?type=command¶m=switchlight&idx=20&switchcmd=Set%20Level&level=25'
end
-- Mode Eco -2°
if (( heures >= 5 and heures == 5 and minutes == 30 ) and ( heures >= 18 and heures == 18 and minutes == 45 ) ) then
-- passer le radiateur SdB en mode confort -2° fil pilote
commandArray['OpenURL'] = 'http://14.6.212.72:8080/json.htm?type=command¶m=switchlight&idx=20&switchcmd=Set%20Level&level=35'
end
-- Mode Eco -1°
if (( heures == 5 and minutes == 31 and heures <6 ) and ( heures >= 8 and heures < 9 ) and ( heures >=21 and heures < 22 ) ) then
-- passer le radiateur SdB en mode confort -1° fil pilote
commandArray['OpenURL'] = 'http://14.6.212.72:8080/json.htm?type=command¶m=switchlight&idx=20&switchcmd=Set%20Level&level=45'
end
-- Mode Eco Confort
if (( heures >= 6 and heures == 7 and minutes == 30 ) and ( heures == 19 and minutes ==30 and heures < 21 ) ) then
-- passer le radiateur SdB en mode confort -1° fil pilote
commandArray['OpenURL'] = 'http://14.6.212.72:8080/json.htm?type=command¶m=switchlight&idx=20&switchcmd=Set%20Level&level=99'
end
end
--end
return commandArray
Après des modifications (bricolage dessus), il faut que je relance les services de Domoticz, est-ce normal?