Script allumage TV WIP
Publié : 14 nov. 2017, 16:41
Hello à tous, j'ai démarrer de convertir tous mes blocky en Lua pour plus de fonctions et parcequ'il faut bien apprendre !
J'ai un script pour démarrer la TV en fonction de la luminosité du salon. Le script doit d'abord comparer la luminosité d'un capteur avec celle d'un seuil (fixé aléatoirement pour l'instant) et allumer la freebox et fermer les volets si la luminosité est au dessu du seuil. Mon problème est que j'ai un message d'erreur lorsque je compare luminosité et seuil. Voici mon script
J'obtiens bien avec des print les valeurs seuil et luminosité mais lors de la comparaison des 2 valeurs j'ai un message d'erreur :
Merci à tous
J'ai un script pour démarrer la TV en fonction de la luminosité du salon. Le script doit d'abord comparer la luminosité d'un capteur avec celle d'un seuil (fixé aléatoirement pour l'instant) et allumer la freebox et fermer les volets si la luminosité est au dessu du seuil. Mon problème est que j'ai un message d'erreur lorsque je compare luminosité et seuil. Voici mon script
Code : Tout sélectionner
-- Script Freebox et luminosité --
--si jour allume freebox et ferme les volets, si sombre, allume freebox seule.
--seuil luminosité au delà de laquelle la condition est remplie
--
time = tonumber(os.date('%H'))
Seuil_Lux=999
Seuil_Lux=tonumber(Seuil_Lux)
valeur_lux = tonumber(otherdevices_svalues['Luminosite-salon'])
commandArray = {}
if (devicechanged['Inter TV'] == 'Double Click') and (otherdevices['TV'] == 'Off') then
print ("luminosité :") print (valeur_lux) print (Seuil_Lux) print (time)
if (valeur_lux >= Seuil_Lux) and (time >= 9 and time < 19 ) and (otherdevices['Etat-Freebox'] == 'Off') then
-- Fermeture des volets entre 9H et 19H Luminosité forte - allumage Box
print("Condition remplie luminosité forte")
commandArray ['Freebox_Player']='On'
commandArray ['SalonSud'] = 'On'
commandArray ['SalonNord'] = 'On'
print ("allumage box + fermeture volets")
commandArray['Group:Vert']='On'
commandArray['Group:Vert']='Off AFTER 10'
commandArray ['SalonSud'] = "Stop AFTER 14"
commandArray ['SalonNord'] = "Stop AFTER 14"
print("stop envoyé volets roulants")
elseif (valeur_lux > Seuil_Lux) and (time >= 9 and time < 19 ) and (otherdevices['Etat-Freebox'] == 'On') then
-- Fermeture des volets entre 9H et 19H Luminosité forte - Box allumée
print("box déjà allumée donc fermeture volet")
commandArray['SalonSud'] = 'On'
commandArray['SalonNord'] = 'On'
commandArray['SalonSud'] = "Stop AFTER 14"
commandArray['SalonNord'] = "Stop AFTER 14"
elseif (valeur_lux < Seuil_Lux) and (otherdevices['Etat-Freebox'] == 'Off') then
-- Pas de fermeture - Luminosité faible - allumage Box
print("pas assez de lumière pour fermer les volets")
commandArray ['Freebox_Player']='On'
elseif (valeur_lux < Seuil_Lux) and (otherdevices['Etat-Freebox'] == 'On') then
-- Luminosité faible - extinction Box
print("Freebox déjà allumée , pas de soleil, on eteind ")
commandArray ['Freebox_Player']='Off'
commandArray['SalonSud'] = 'Off'
commandArray['SalonNord'] = 'Off'
end
if (devicechanged['Inter TV'] == 'Double Click') and (otherdevices['TV'] == 'On') then
-- Extinction Box
commandArray ['TV']='Off'
commandArray['SalonSud'] = 'Off'
commandArray['SalonNord'] = 'Off'
commandArray['Group:Vert']='On'
commandArray['Group:Vert']='Off AFTER 10'
end
end
return commandArray
Quelq'un pourrait m'aider et me dire ou je fais une erreur ???2017-11-14 17:17:13.430 LUA: luminosité :
2017-11-14 17:17:13.430 LUA: 1292
2017-11-14 17:17:13.430 LUA: 999
2017-11-14 17:17:13.430 LUA: 17
2017-11-14 17:17:13.431 Error: EventSystem: in script volet soleil 1: [string "-- Script mesure de la luminosité, si jour a..."]:18: attempt to compare number with string
Merci à tous