Page 1 sur 1

Thermostat tout simple

Publié : 28 oct. 2018, 12:02
par vad
Bonjour,
je suppose que mon interrogation a été traitée des centaines de fois, mais impossible de trouver une réponse
Capture d’écran_2018-10-28_11-29-54.png
Capture d’écran_2018-10-28_11-29-54.png (11.51 Kio) Consulté 4426 fois
C'est assez vexant de constater que ce que je n'arrive pas a faire est tellement simple que je me fais jeter par la recherche du forum:/

A la base, je voulais piloter un seul radiateur électrique, dans une seule pièce, avec une température différente entre le jour et la nuit. J'ai du me contenter d'un script qui en gère qu'une seule température, c'est ce que j'ai réussi a trouver de plus proche.

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 = 21  --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 = 'Temp Bureau' --Nom de la sonde de température
local thermostat = 'Thermostat Bureau' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'Radiateur Bureau' --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
Et bien, je n'arrive pas a le faire fonctionner, il ne se passe rien. Le script 'script_device_thermostat_bureau.lua' se trouve bien dans /domoticz/scripts/lua
Je peux allumer ou éteindre 'Radiateur Bureau' manuellement via domoticz. La sonde de température 'temp Bureau' remonte bien ses infos dans domoticz, 'Thermostat Bureau' est bien activé, mais il ne se passe rien, j'ai même redémarré le raspberry mais rien de plus...

Si quelqu'un peut me consacrer un quart de seconde pour me dire ce que j'ai loupé ce serait sympa

Re: Thermostat tout simple

Publié : 28 oct. 2018, 12:08
par vil1driver
Salut,

Par défaut les évènements et scripts ne sont pas actifs

Jète un œil aux paramètres (rubrique autre)

Re: Thermostat tout simple

Publié : 28 oct. 2018, 12:17
par vad
Les scripts sont bien activés
Capture d’écran_2018-10-28_12-14-47.png
Capture d’écran_2018-10-28_12-14-47.png (10.54 Kio) Consulté 4418 fois
J'ai essayé de renommer 'script_device_thermostat_bureau.lua' en 'script_device_thermostat-bureau.lua' au cas ou le problème vienne de l'underscore dans le nom, mais rien de plus

Re: Thermostat tout simple

Publié : 28 oct. 2018, 13:18
par vad
Bon, problème trouvé, les commandes On et Off étaient inversées :lol: