Page 1 sur 1

Vérifier l'état d'un groupe pour déclencher un device

Publié : 26 janv. 2019, 17:39
par Matthias
Bonjour,

Je début dans la création de script LUA.

J'ai le rdc de ma maison avec du volets roulant SOMFY.
J'ai domotisé chaque volet roulant indépendamment avec le RFXCOM et j'ai créé des groupes (volet nord, volet sud et tous les volets).

J'ai ensuite domotisé les volets de l'étage en bubendorff par le biais d'un relais 433Mhz sur la télécommande centrale.
J'ai donc créé 2 push button ON : 1 pour la montée et 1 pour la descente.
J'ai ensuite créé un interrupteur virtuel type blind pour gérer les 2 push button sur le même interrupteur grâce à 2 scripts LUA.

Jusqu'ici tout fonctionne. C'est peut être simple pour vous mais j'ai l'impression d'être le roi du pétrole ! :D

Maintenant je souhaite ajouter à mon groupe "tous les volets" l'interrupteur virtuel blind créé pour l'étage.
Je pensais utiliser la même technique en utilisant un script LUA.

Quand "Tous les volets" sont On alors actionner le Push button "Ouvrir les volets de l étage" et vis et versa.
Mais là ça coince. Surement dans la syntaxe de mon script. Pouvez-vous m'aiguiller ?

Scénario type Group : 'Tous les volets'
Interrupteur virtuel Blind : 'Volets de l étage'
Push On Button : 'Fermer les volets de l étage'
Push On Button : 'Ouvrir les volets de l étage'

Voici ce qui j'ai écrit qui ne fonctionne pas :

Code : Tout sélectionner

commandArray = {}
	if (devicechanged['Tous les volets'] == 'On' ) then
	print('Ouverture')
	commandArray['Ouvrir les volets de l étage']='On'

end
return commandArray
Merci d'avance.

Re: Vérifier l'état d'un groupe pour déclencher un device

Publié : 27 janv. 2019, 00:09
par Chrominator
Les scenarii ne sont pas des devices.
Il faut utiliser une autre fonction pour tester leur état, vil1driver m'avait indiqué son nom après que j'ai écrit un script pour le faire :mrgreen:.
Va voir là-bas, il y a la solution : https://easydomoticz.com/forum/viewtopi ... 710#p29368

Re: Vérifier l'état d'un groupe pour déclencher un device

Publié : 27 janv. 2019, 09:45
par Matthias
Merci pour l'info !
Me voilà confronté à une nouvelle problématique.

Code : Tout sélectionner

commandArray = {}
	if (otherdevices_scenesgroups['Tous les volets'] == 'On' ) then
	print('Fermeture')
	commandArray['Fermer les volets de l étage']='On'

end
return commandArray
Mon code déclenche autant de fois l'action 'Fermer les volets de l étage' qu'il y a de devices dans mon groupe or je souhaiterai qu'il ne se déclenche qu'une seule fois.
Comment faire dans ce cas ?