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 :D

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

Code : Tout sélectionner

 s'il te plaît pour poster du code..