Mon script lua ne se lance pas

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 <\>.
justman1010
Messages : 3
Inscription : 05 janv. 2018, 08:44

Mon script lua ne se lance pas

Message par justman1010 »

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

Re: Mon script lua ne se lance pas

Message par vil1driver »

Salut,

Change le nom,

Thermostat correspond à un device.
Donc le script ne s'exécute que sur maj de ce dernier.

Choisir un nom porté par aucun dispositif
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
justman1010
Messages : 3
Inscription : 05 janv. 2018, 08:44

Re: Mon script lua ne se lance pas

Message par justman1010 »

Merci beaucoup effectivement c'était bien ça !
Répondre