je m'arrache les cheveux sur ce script depuis un moment car je n'arrive pas à le faire fonctionner.
J'ai bien mis mon script dans domoticz/scripts/lua et je l'ai bien nommé script_device_thermostat.lua.
J'ai repris le nom exact des dispositifs dans les variables avec les majuscules ...
Merci d'avance pour votre aide !
Voici le code que j'ai repris du site https://www.latelierdugeek.fr/2014/03/2 ... at-simple/
Code : Tout sélectionner
-- Alexandre DUBOIS - 2014
-- Ce script permet de maintenir la température de salon entre 19°C et 21°C quand l'interrupteur
-- virtuel 'Thermostat salon' est activé.
--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne = 23 --Température de consigne
local hysteresis = 0.5 --Valeur seuil pour éviter que le relai ne cesse de commuter dans les 2 sens
local sonde = 'Sonde' --Nom de la sonde de température
local thermostat = 'Thermostat' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'Chauffage_cuisine' --Nom du radiateur à allumer/éteindre
--------------------------------
-- Fin des variables à éditer --
--------------------------------
commandArray = {}
--La sonde Oregon 'Salon' emet toutes les 40 secondes. Ce sera approximativement la fréquence
-- d'exécution de ce script.
if (devicechanged[sonde]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans le salon
--On n'agit que si le "Thermostat" est actif
if (otherdevices[thermostat]=='On') then
print('-- Gestion du thermostat pour le salon --')
if (temperature < (consigne - hysteresis) ) then
print('Allumage du chauffage dans le salon')
commandArray[radiateur]='Off'
elseif (temperature > (consigne + hysteresis)) then
print('Extinction du chauffage dans le salon')
commandArray[radiateur]='On'
end
end
end
return commandArray