Jusqu'ici, je régulais ma clim avec un petit blockly qui prenait en compte la température de la pièce (la chambre) et qui maintenant la température entre 20 et 21 degrès par exemple.
Maintenant, j'aimerai avoir un thermostat sur Domoticz qui me permet de définir la température de consigne de la chambre et calculer l'hysteresis associé, chose impossible à faire avec Blockly.
Jusqu'ici, je sais que la température de consigne est bien prise en compte (dans le log, j'obtiens la valeur que j'ai défini en thermostat). Par contre, impossible d'allumer ou d'éteindre la clim !
Je pense que c'est une histoire de if ou elseif ou encore d'imbrication avec "and" ....
Help !
Code : Tout sélectionner
-- Wospi 2017 d'après Alexandre DUBOIS 2014
-- Maintien d'une température de consigne pour le climatiseur
--------------
-- VARIABLES--
--------------
local sonde = 'Chambre' -- Définition de la sonde de température
local hysteresis = 0.5 -- Définition de la valeur d'hystéresis
local climatiseur = 'Climatiseur' -- Définition du switch contrôlant la clim
local consigne = tonumber(otherdevices_svalues['Thermostat chambre']) -- Récupérer la valeur de consigne du thermostat
--------------
--- SCRIPT ---
--------------
commandArray = {}
print('Initialisation Climatiseur')
print('Valeur consigne :')
print(consigne)
if (devicechanged[sonde]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans la chambre
if (temperature > (consigne + hysteresis) and climatiseur=='Off') then
print('Allumage du climatiseur dans la chambre')
commandArray[climatiseur]='On'
end
if (temperature < (consigne - hysteresis) and climatiseur=='On') then
print('Extinction du climatiseur dans la chambre')
commandArray[climatiseur]='Off'
end
end
return commandArray