Page 1 sur 2
commande de volets avec module chacon
Publié : 03 mai 2017, 12:11
par AWP
Bonjour,
J'ai réalisé un programme en LUA pour commander mes volets roulants ( ouverture et fermeture suivant le lever du soleil). J'utilise des modules chacon pour cela et le tout capté par un RFXcom.
Cela fonctionne bien sauf .. que les volets se ferment ou s'ouvrent de façon saccadées. Je ne comprends pas pourquoi ? j'envoi qu'un 'On' ou 'Off' pourtant.
Quelqu'un aurait une explication ?
Merci
Re: commande de volets avec module chacon
Publié : 03 mai 2017, 12:15
par vil1driver
Salut,
Ça sent un mauvais type de script..
Mais tu dois le voir dans les logs..
Essai de debugger un peu.
Et détails d'avantage !
Sinon passe simplement par un planning
Re: commande de volets avec module chacon
Publié : 03 mai 2017, 18:09
par AWP
Bonjour,
Voilà mon script :
commandArray = {}
timenow = os.date("*t")
minutesnow = timenow.min + timenow.hour * 60
heureF= math.floor((timeofday['SunsetInMinutes'] + 20)/60)
heureO= math.floor((timeofday['SunriseInMinutes'] - 10)/60)
minuteF=(timeofday['SunsetInMinutes'] + 20) - heureF*60
minuteO=(timeofday['SunriseInMinutes'] - 10) - heureO*60
commandArray[12] = { ['UpdateDevice'] = 12 ..'|0|'..tostring(string.format("%02d",heureF) .. ':' .. string.format("%02d",minuteF)) }
commandArray[13] = { ['UpdateDevice'] = 13 ..'|0|'..tostring(string.format("%02d",heureO) ..':' .. string.format("%02d",minuteO)) }
-- coucher du soleil
if (minutesnow == timeofday['SunsetInMinutes'] + 20) then
commandArray['Volet 1'] = "Off"
commandArray['Volet 2'] = "Off"
commandArray['Volet 3'] = "Off"
commandArray['Volet 4'] = "Off"
end
-- lever du soleil
if (minutesnow == timeofday['SunriseInMinutes'] - 10) then
commandArray['Volet 1'] = "On"
commandArray['Volet 2'] = "On"
commandArray['Volet 3'] = "On"
commandArray['Volet 4'] = "On"
end
return commandArray
Y a pas plus simple ..
Re: commande de volets avec module chacon
Publié : 03 mai 2017, 18:11
par vil1driver
Le type ?
Ou le nom du script (si dans dossier lua)
Re: commande de volets avec module chacon
Publié : 03 mai 2017, 18:14
par AWP
il est dans "All"
Re: commande de volets avec module chacon
Publié : 03 mai 2017, 18:15
par vil1driver
Je me doute bien
Ce choix est hyper important !
Choisi Time
Je te conseille d'aller lire sur le sujet..
Re: commande de volets avec module chacon
Publié : 03 mai 2017, 18:17
par AWP
ok merci pour ta réponse. Faut-il changer quelque chose dans le script sinon ?
Re: commande de volets avec module chacon
Publié : 03 mai 2017, 22:45
par AWP
alors j'ai mis le script en time mais les volets se sont arrêtés en cours ... ??? vraiment étrange ce comportement
Re: commande de volets avec module chacon
Publié : 24 mai 2017, 10:41
par AWP
Bonjour,
Depuis quelques jours tout fonctionne très bien et sans saccades . J'ai réinitialisé complètement domoticz ( RAZ et réinstallation complète) . J'ai mis mon script LUA dans "Devices" et , et bien ça marche !
voici mon script
commandArray = {}
timenow = os.date("*t")
minutesnow = timenow.min + timenow.hour * 60
heureF= math.floor((timeofday['SunsetInMinutes'] + 20)/60)
heureO= math.floor((timeofday['SunriseInMinutes'] - 10)/60)
minuteF=(timeofday['SunsetInMinutes'] + 20) - heureF*60
minuteO=(timeofday['SunriseInMinutes'] - 10) - heureO*60
if (timeofday['SunriseInMinutes']) < 365 then
minutesOuverture =365
else
minutesOuverture=timeofday['SunriseInMinutes']
end
print(minutesOuverture)
heureouverture = math.floor(minutesOuverture/60)
commandArray[12] = { ['UpdateDevice'] = 12 ..'|0|'..tostring(string.format("%02d",heureF) .. ':' .. string.format("%02d",minuteF)) }
commandArray[13] = { ['UpdateDevice'] = 13 ..'|0|'..tostring(string.format("%02d",heureouverture) ..':' .. string.format("%02d",minutesOuverture -heureouverture*60 )) }
-- coucher du soleil
if (minutesnow >= timeofday['SunsetInMinutes'] + 20) and (minutesnow <= timeofday['SunsetInMinutes'] + 25) then
commandArray['Volet 1'] = "Off"
commandArray['Volet 2'] = "Off"
commandArray['Volet 3'] = "Off"
commandArray['Volet 4'] = "Off"
print("Fermeture volets à : " .. string.format("%02d",timenow.hour) ..':' .. string.format("%02d",timenow.min))
end
-- lever du soleil ( à partir de 6h)
if (minutesnow >=minutesOuverture - 10) and (minutesnow <= minutesOuverture - 5) then
commandArray['Volet 1'] = "On"
commandArray['Volet 2'] = "On"
commandArray['Volet 3'] = "On"
commandArray['Volet 4'] = "On"
print("Ouverture volets à : " .. string.format("%02d",timenow.hour) ..':' .. string.format("%02d",timenow.min))
end
return commandArray
Re: commande de volets avec module chacon
Publié : 24 mai 2017, 15:12
par vil1driver
Utiliser un type device sur ce script montre bien que tu n'as pas compris le principe et donc certainement pas lut sur le sujet..
Sinon utilise les balises