Besoin d'aide sur erreur script LUA
Publié : 14 janv. 2022, 22:58
Bonsoir tout le monde
j'ai un script LUA qui fonctionnait correctement et qui s'est mis à générer une erreur sans que je sache pourquoi.
Je l'ai installé il y a quelques années et tellement de vodka est passé depuis dans mon gosier que je n'ai plus un très grand souvenir de sont écriture... Bref, j'ai peut être merdé lorsque j'ai cherché à le désactiver en utilisant mon iPhone et j'ai peut être fait une modification involontaire à cette occasion à cause de l'affichage pas très reponsive...
Si une bonne âme pouvait me guider donc pour résoudre mon petit problème.
l'erreur est :
le script que j'utilise (honteusement inspiré)
j'ai un script LUA qui fonctionnait correctement et qui s'est mis à générer une erreur sans que je sache pourquoi.
Je l'ai installé il y a quelques années et tellement de vodka est passé depuis dans mon gosier que je n'ai plus un très grand souvenir de sont écriture... Bref, j'ai peut être merdé lorsque j'ai cherché à le désactiver en utilisant mon iPhone et j'ai peut être fait une modification involontaire à cette occasion à cause de l'affichage pas très reponsive...
Si une bonne âme pouvait me guider donc pour résoudre mon petit problème.
l'erreur est :
Code : Tout sélectionner
Error: EventSystem: in ThermostatSdBFinal: [string "TempVariable = 'TempSDB'..."]:8: attempt to index a nil value (global 'devicechanged')Code : Tout sélectionner
TempVariable = 'TempSDB'
Sonde = 'Température Salle de bain'
selectorheatzy = 'Chauffage Salle de bain'
local TempConsign = tonumber(otherdevices_svalues['Thermostat Salle de bain'])
local hysteresis = 0.5
commandArray = {}
if (devicechanged[Sonde]) then
sSDBTemp, sSDBHumidity = otherdevices_svalues[Sonde]:match("([^;]+);([^;]+)")
sSDBTemp = tonumber(sSDBTemp)
sSDBHumidity = tonumber(sSDBHumidity)
print("Mode actuel : " .. otherdevices[selectorheatzy])
print("SDB Temperature " .. sSDBTemp)
print("SDB Humidite " .. sSDBHumidity)
print("Temperature consigne du Thermostat " .. TempConsign)
commandArray['Variable:'..TempVariable..''] = tostring(sSDBTemp)
if sSDBTemp < (TempConsign - hysteresis) then
print("Ecart avec la température de consigne " .. sSDBTemp-TempConsign)
if otherdevices[selectorheatzy] ~= "Confort" then
print("Je passe en mode confort")
commandArray[selectorheatzy] = 'Set Level: 10'
--print("Le radiateur est maintenant en mode " .. otherdevices[selectorheatzy])
elseif otherdevices[selectorheatzy] == "Confort" then
print("Je suis déjà en mode confort")
end
elseif sSDBTemp > (TempConsign + hysteresis) then
print("Temperature actuelle supérieure à la température de consigne")
if otherdevices[selectorheatzy] == "Hors Gel" then
print("Le radiateur est en mode " .. otherdevices[selectorheatzy])
print("Je ne fais rien")
elseif otherdevices[selectorheatzy] ~= "Hors Gel" then
print("Le radiateur est en mode " .. otherdevices[selectorheatzy])
print("Je passe le radiateur en mode Eco")
commandArray[selectorheatzy] = 'Set Level: 30'
print("Le radiateur est maintenant en mode " .. otherdevices[selectorheatzy])
end
end
end
return commandArray