Thermostat tout simple

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 <\>.
vad
Messages : 10
Inscription : 21 janv. 2018, 19:09

Thermostat tout simple

Message 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é 4425 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Thermostat tout simple

Message par vil1driver »

Salut,

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

Jète un œil aux paramètres (rubrique autre)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
vad
Messages : 10
Inscription : 21 janv. 2018, 19:09

Re: Thermostat tout simple

Message 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é 4417 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
vad
Messages : 10
Inscription : 21 janv. 2018, 19:09

Re: Thermostat tout simple

Message par vad »

Bon, problème trouvé, les commandes On et Off étaient inversées :lol:
Répondre