J ai effectivement modifié mon script lua, pour en faire deux en fait
script_device_Synchro_VR_Part1.lua qui gère les Telis et met a jour la Variable utilisateur
Code : Tout sélectionner
-- Fred & Rick - 2017
-- script_device_Synchro_VR_Part1.lua
commandArray = {}
------------------------------------------------------------------
------- Synchro VR 01 ------------------------------------------
------------------------------------------------------------------
local TC = 'Telis 01'
local IT = 'Volet 01 Terrasse'
local VarMan = 'Volet Manuel 01'
local VarMan2 = 'Variable:Volet Manuel 01'
if devicechanged[TC]=='On' then
print (TC..' passe à On ------------- Fermeture du volet via Telis')
commandArray[#commandArray + 1] = {[IT] = 'On'}
commandArray[#commandArray + 1] = {[VarMan2] = '1'}
end
if devicechanged[TC]=='Off' then
print (TC..' passe à Off ------------- Ouverture du volet via Telis')
commandArray[#commandArray + 1] = {[IT] = 'Off'}
commandArray[#commandArray + 1] = {[VarMan2] = '1'}
end
if devicechanged[TC]=='Stop' then
print (TC..' passe à Stop ------------- Arret du volet via Telis')
commandArray[#commandArray + 1] = {[IT] = 'Stop'}
commandArray[#commandArray + 1] = {[VarMan2] = '1'}
end
------------------------------------------------------------------
------- Synchro VR 02 ------------------------------------------
------------------------------------------------------------------
local TC = 'Telis 02'
local IT = 'Volet 02 Salon TV'
local VarMan = 'Volet Manuel 02'
local VarMan2 = 'Variable:Volet Manuel 02'
if devicechanged[TC]=='On' then
print (TC..' passe à On ------------- Fermeture du volet via Telis')
commandArray[#commandArray + 1] = {[IT] = 'On'}
commandArray[#commandArray + 1] = {[VarMan2] = '1'}
end
if devicechanged[TC]=='Off' then
print (TC..' passe à Off ------------- Ouverture du volet via Telis')
commandArray[#commandArray + 1] = {[IT] = 'Off'}
commandArray[#commandArray + 1] = {[VarMan2] = '1'}
end
if devicechanged[TC]=='Stop' then
print (TC..' passe à Stop ------------- Arret du volet via Telis')
commandArray[#commandArray + 1] = {[IT] = 'Stop'}
commandArray[#commandArray + 1] = {[VarMan2] = '1'}
end
-- etc...................
return commandArray
script_device_Synchro_VR_Part2.lua qui gère les Volets eux même et remet a Zéro la Variable utilisateur
Code : Tout sélectionner
-- Fred & Rick - 2017
-- script_device_Synchro_VR_Part2.lua
commandArray = {}
------------------------------------------------------------------
------- Synchro VR 01 ------------------------------------------
------------------------------------------------------------------
local IT = 'Volet 01 Terrasse'
local VR = 'RTS Volet 01 Terrasse'
local VarMan = 'Volet Manuel 01'
local VarMan2 = 'Variable:Volet Manuel 01'
if devicechanged[IT]=='On' and uservariables[VarMan] == '0' then
print (IT..' passe à On ----- Fermeture du volet via Domoticz')
commandArray[#commandArray + 1] = {[VR] = 'On'}
end
if devicechanged[IT]=='Off' and uservariables[VarMan] == '0' then
print (IT..' passe à Off ----- Ouverture du volet via Domoticz')
commandArray[#commandArray + 1] = {[VR] = 'Off'}
end
if devicechanged[IT]=='Stop' and uservariables[VarMan] == '0' then
print (IT..' passe à Stop ----- Arret du volet via Domoticz')
commandArray[#commandArray + 1] = {[VR] = 'Stop'}
end
if devicechanged[IT]=='On' or devicechanged[IT]=='Off' or devicechanged[IT]=='Stop' then
commandArray[#commandArray + 1] = {[VarMan2] = '0'}
end
------------------------------------------------------------------
------- Synchro VR 02 ------------------------------------------
------------------------------------------------------------------
local IT = 'Volet 02 Salon TV'
local VR = 'RTS Volet 02 Salon TV'
local VarMan = 'Volet Manuel 02'
local VarMan2 = 'Variable:Volet Manuel 02'
if devicechanged[IT]=='On' and uservariables[VarMan] == '0' then
print (IT..' passe à On ----- Fermeture du volet via Domoticz')
commandArray[#commandArray + 1] = {[VR] = 'On'}
end
if devicechanged[IT]=='Off' and uservariables[VarMan] == '0' then
print (IT..' passe à Off ----- Ouverture du volet via Domoticz')
commandArray[#commandArray + 1] = {[VR] = 'Off'}
end
if devicechanged[IT]=='Stop' and uservariables[VarMan] == '0' then
print (IT..' passe à Stop ----- Arret du volet via Domoticz')
commandArray[#commandArray + 1] = {[VR] = 'Stop'}
end
if devicechanged[IT]=='On' or devicechanged[IT]=='Off' or devicechanged[IT]=='Stop' then
commandArray[#commandArray + 1] = {[VarMan2] = '0'}
end
--etc...
return commandArray
IMPRTANT: Les variables utilisateur doivent être de type chaine pour mes deux script.
J ai scinder en deux le script, car sinon (a ce que j'ai compris) la variable utilisateur n est mis a jour que a la fin de l'exécution du script et cela ne fonctionne donc pas correctement.
Il doit y avoir plus simple mais cela fonctionne.
merci a Cyberbob
Domoticz V3.8153 sur Synology DS3615xs DSM 5.2-5967 Update 3
RFLink_v1.1_r46 (433.92 & 433.42 Mhz)
Sonde Oregon THGR810-Prise Everspring-OWL CM180
Humidité du sol Opus XT300-Sondes Oregon pour les nuls V2
Les non-dit font les pires malentendus !
