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

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Matthias
Messages : 264
Inscription : 18 nov. 2018, 09:53

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

Message 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.
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

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

Message 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
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Matthias
Messages : 264
Inscription : 18 nov. 2018, 09:53

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

Message 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 ?
Cozytouch_v3
Roborock S6
H801 LED
Onkyo AV
RFXCOM (Somfy)
ESPeasy (SonOff)
Zigbee2mqtt (Aqara, Mija, Xiaomi, IKEA, Honeywell)
Broadlink
Foscam - Reolink
Répondre