Merci
Blocky qui boucle
Re: Blocky qui boucle
YES ! C'était donc ça !
Merci
je vais un peu plus me documenter sur le lua et l'interraction avec Domoticz avant d'aller plus loin. D'ailleurs merci pour tes modules en signature, ça va m'aider 
Merci
Re: Blocky qui boucle
Et si je souhaite me baser sur l'état du volet comment dois-je procéder ?
J'ai pensé à ça mais ça ne fonctionne pas :
C'est sûrement cette ligne qui ne fonctionne pas :
mais je ne pense pas qu'il faille utiliser "devicechanged" non ? Car l'état du volet n'a pas changé, je souhaite juste connaître son état actuel.
J'ai pensé à ça mais ça ne fonctionne pas :
Code : Tout sélectionner
commandArray = {}
if devicechanged['Xiaomi Smart Switch 1'] == "On" then
if otherdevices['Volet séjour 1'] == "Closed" then
commandArray['Volet séjour 1'] = "On"
elseif otherdevices['Volet séjour 1'] == "Open" then
commandArray['Volet séjour 1'] = "Off"
end
end
return commandArrayCode : Tout sélectionner
if otherdevices['Volet séjour 1'] == "Closed"-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Blocky qui boucle
Avant le teste tu peux vérifier l'état (visible en log)
Les print sont une aide importante pour visualiser les choses
Code : Tout sélectionner
print(otherdevices['Volet séjour 1'])
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
-
fredandrick65
- Messages : 121
- Inscription : 23 avr. 2016, 20:45
Re: Blocky qui boucle
Je ferai plutôt ça.JuGuSm a écrit :Et si je souhaite me baser sur l'état du volet comment dois-je procéder ?
J'ai pensé à ça mais ça ne fonctionne pas :Code : Tout sélectionner
commandArray = {} if devicechanged['Xiaomi Smart Switch 1'] == "On" then if otherdevices['Volet séjour 1'] == "Closed" then commandArray['Volet séjour 1'] = "On" elseif otherdevices['Volet séjour 1'] == "Open" then commandArray['Volet séjour 1'] = "Off" end end return commandArray
dans ton code tu mets ['Volet séjour 1'] à On ou Off et apres tu teste Open ou Close, c'est pas logique
Code : Tout sélectionner
commandArray = {}
if devicechanged['Xiaomi Smart Switch 1'] == "On" then
if otherdevices['Volet séjour 1'] == "On" then -- On pour un volet = Fermé
commandArray['Volet séjour 1'] = "Off"
elseif otherdevices['Volet séjour 1'] == "Off" then -- Off pour un volet = Ouvert
commandArray['Volet séjour 1'] = "On"
end
end
return commandArrayDomoticz 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 !
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 !
Re: Blocky qui boucle
En effet, je bidoullait avec os.execute pour écrire dans un fichier avec un tail -f à côté ; c'est mieux comme çavil1driver a écrit :Avant le teste tu peux vérifier l'état (visible en log)Les print sont une aide importante pour visualiser les chosesCode : Tout sélectionner
print(otherdevices['Volet séjour 1'])
Bon par contre ça n'écrit rien dans la log... :-/
Dernière modification par JuGuSm le 16 sept. 2018, 20:12, modifié 1 fois.
Re: Blocky qui boucle
Non je teste l'état du volet avant de l'ouvrir ou de le fermer.fredandrick65 a écrit :dans ton code tu mets ['Volet séjour 1'] à On ou Off et apres tu teste Open ou Close, c'est pas logique
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Blocky qui boucle
Rien ou une ligne vide ?JuGuSm a écrit : ça n'écrit rien dans la log... :-/
Code : Tout sélectionner
print("etat volet: ".. otherdevices['Volet séjour 1'])
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Blocky qui boucle
Une ligne vide mais je viens de comprendre que c'est parce que j'ai appeler les différents dispositifs de mon volet avec le même nom...vil1driver a écrit :Rien ou une ligne vide ?JuGuSm a écrit : ça n'écrit rien dans la log... :-/
Code : Tout sélectionner
print("etat volet: ".. otherdevices['Volet séjour 1'])
Re: Blocky qui boucle
Merci à tous, voici mon script final :
Code : Tout sélectionner
commandArray = {}
if devicechanged['Xiaomi Smart Switch 1'] == "On" then
print('--- OpenOrCloseAllBlinds - BEGIN ---')
-- Create a variable to count how many blinds are opened
local OpenedBlinds = 0
-- Count opened blinds (not closed because they can be not fully opened)
if otherdevices['Volet séjour 1'] ~= "Closed" then OpenedBlinds = OpenedBlinds + 1 end
if otherdevices['Volet séjour 2'] ~= "Closed" then OpenedBlinds = OpenedBlinds + 1 end
if otherdevices['Volet séjour 3'] ~= "Closed" then OpenedBlinds = OpenedBlinds + 1 end
if otherdevices['Volet cuisine'] ~= "Closed" then OpenedBlinds = OpenedBlinds + 1 end
print(OpenedBlinds..' opened blinds:')
print('Volet séjour 1: '..otherdevices['Volet séjour 1'])
print('Volet séjour 2: '..otherdevices['Volet séjour 2'])
print('Volet séjour 3: '..otherdevices['Volet séjour 3'])
print('Volet cuisine: '..otherdevices['Volet cuisine'])
-- If at least 1 blind is opened, close all of them
if OpenedBlinds > 0 then
print('Closing all blinds')
commandArray['Scene:Fermer les stores']='On'
-- else, open all of them
else
print('Opening all blinds')
commandArray['Scene:Ouvrir les stores']='On'
end
print('--- OpenOrCloseAllBlinds - END ---')
end
return commandArray-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Blocky qui boucle
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien