Merci de vos réponse,
Ci dessous mon script complet :
Code : Tout sélectionner
local consigne_j = tonumber(otherdevices_svalues['Thermostat_confort'])
local consigne_n = tonumber(otherdevices_svalues['Thermostat_nuit'])
local hysteresis = 0.3
local sonde = 'Salle de bain'
local thermostat_j = 'Thermostat jour'
local radiateur = 'Radiateur Salle de bain'
commandArray = {}
--local temperature = tonumber(string.sub(otherdevices_svalues['sonde'],1,4))
local temperature = otherdevices_temperature[sonde]
if (otherdevices[thermostat_j]=='On') then
print('-- Gestion du thermostat confort pour la salle de bain --')
if (temperature < (con[code]
signe_j - hysteresis) ) then
print('Allumage du chauffage dans la salle de bain')
commandArray[radiateur]='Off'
elseif (temperature > (consigne_j + hysteresis)) then
print('Extinction du chauffage dans la salle de bain')
commandArray[radiateur]='On'
end
elseif (otherdevices[thermostat_j]=='Off') then
print('-- Gestion du thermostat absent pour la salle de bain --')
if (temperature < (consigne_n - hysteresis) ) then
print('Allumage du chauffage dans la salle de bain')
commandArray[radiateur]='Off'
elseif (temperature > (consigne_n + hysteresis)) then
print('Extinction du chauffage dans la salle de bain')
commandArray[radiateur]='On'
end
end
return commandArray[sonde][/code]
J'ai essayé les 2 commandes de récupération de température que vous me proposez :
Avec celle ci, il ne se passe rien.... plus d'erreur mais pas de retour de changement d'état non plus (print)
Avec celle ci
Code : Tout sélectionner
--local temperature = tonumber(string.sub(otherdevices_svalues['sonde'],1,4))
je récupère l'erreur suivante
Error: EventSystem: ...pi/domoticz/scripts/lua/script_time_gestion_temp_SdB.lua:10: bad argument #1 to 'sub' (string expected, got nil)
Pour info ma sonde de température de Salle de bain est une DS18b20, possédant une sonde Oregon j'ai fait l'essai de la remplacer dans le script pour récupérer sa consigne, le résultat est le même.