Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
bonsoir
j'ai ce script je tente de le modifier mais je ne trouve pas.
le script fonctionne très bien mais quand mon chauffage s'allume dans les logs de l'interrupteur du radiateur il passe à on à chaque émission de le sonde de température.
comment faire pour que si le radiateur est déjà à on il ne fait rien??
-- Alexandre DUBOIS - 2014
-- Ce script permet de maintenir la température de SDB entre 19°C et 21°C quand l'interrupteur
-- virtuel 'Thermostat SDB' est activé.
--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne = tonumber(otherdevices_svalues['thermostat sdb']) --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 = 'salle de bains' --Nom de la sonde de température
local thermostat = 'Planning chauffage SdB' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'Chauffage SdB' --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 salle de bains --')
if (temperature < (consigne - hysteresis) ) then
print('Allumage du chauffage salle de bains')
commandArray[radiateur]='On'
elseif (temperature > (consigne + hysteresis)) then
print('Extinction du chauffage salle de bains')
commandArray[radiateur]='Off'
end
end
end
if (devicechanged[thermostat]=='Off') then
commandArray[radiateur]='Off'
end
return commandArray
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy
tu peux modifier if (temperature < (consigne - hysteresis) ) then
par
if (temperature < (consigne - hysteresis) and otherdevices[Chauffage SdB]=='Off' ) then
Et à mon avis la même modif (mais avec =='On') pour elseif (temperature > (consigne + hysteresis)) then car il va te dire qu'il éteint ton radiateur à chaque cycle du programme.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
-- Ce script permet de maintenir la température de salon entre 19°C et 21°C quand l'interrupteur
-- virtuel 'Thermostat SDB' est activé.
--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne = tonumber(otherdevices_svalues['thermostat sdb']) --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 = 'salle de bains' --Nom de la sonde de température
local thermostat = 'Planning chauffage SdB' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'Chauffage SdB' --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 salle de bains --')
if (temperature < (consigne - hysteresis) and otherdevices[radiateur]=='Off') then
print('Allumage du chauffage salle de bains')
commandArray[radiateur]='On'
elseif (temperature > (consigne + hysteresis) and otherdevices[radiateur]=='On') then
print('Extinction du chauffage salle de bains')
commandArray[radiateur]='Off'
end
end
end
if (devicechanged[thermostat]=='Off') then
commandArray[radiateur]='Off'
end
return commandArray
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy