[RÉSOLU]Erreur dans mon script
Publié : 10 oct. 2017, 16:16
Bonjour,
Afin d'améliorer la gestion de mon chauffage, je repris 2 ou 3 scripts d'ici et j'ai rajouté la gestion de l'ouverture des portes.
Le script marche, mais une erreur apparait, ce qui ralenti l'exécution.
Dans le log, voici l'erreur qui apparait :
Merci pour votre aide
Afin d'améliorer la gestion de mon chauffage, je repris 2 ou 3 scripts d'ici et j'ai rajouté la gestion de l'ouverture des portes.
Le script marche, mais une erreur apparait, ce qui ralenti l'exécution.
Code : Tout sélectionner
--------------------------------
------ Start of edit section ------
--------------------------------
local consigne = 'Consigne-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 = 'SDB' --Nom de la sonde de température
local thermostat = 'Saison' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'Rad-SDB' --Nom du radiateur à allumer/éteindre
local fenetre = 'Porte_Entree' -- Nom du detecteur de la fenetre
--------------------------------
-- End of edit section --
--------------------------------
commandArray = {}
--Oregon sensor 'Salon' send temperature every 40s. This will be the execution frequency of this script.
if (devicechanged[sonde]) or (devicechanged[fenetre]) or (devicechanged[consigne]) then
local temperature = devicechanged[string.format('%s_Temperature', sonde)] --Temperature relevée dans la SDB
local consigne = tonumber(otherdevices_svalues[consigne])
local fenetre = tonumber(otherdevices_svalues[fenetre]) -- Récupération de la valeur de la fenetre
-- print('recup temp')
if (otherdevices[thermostat]=='On') and (fenetre == 0) then
print('-- Gestion du thermostat pour le SDB --')
if (otherdevices[thermostat]=='On') then
if (temperature < (consigne - hysteresis) ) then
print('Allumage du chauffage dans le SDB')
commandArray[radiateur]='Off'
elseif (temperature > (consigne + hysteresis)) then
print('Extinction du chauffage dans le SDB')
commandArray[radiateur]='On'
end
end
elseif (fenetre == 15) or (otherdevices[thermostat]=='Off') then
commandArray[radiateur]='On'
end
end
return commandArrayMalgré cela, le script marche. Mais a chaque changement d'état (ouverture de la porte ou changement de consigne) l'erreur apparaît et l’exécution est longue a venir.2017-10-10 16:06:25.413 Error: EventSystem: in Chauffage SDB2: [string " --------------------------------..."]:28: attempt to compare nil with number
Merci pour votre aide