Demande d'aide Aeotec zw130 wallmote quad
#11
merci de ton retour,
je ne comprends pas ta reponse, mais actuellement ca fonctionne, bp court comme bp long
Répondre
#12
(04-08-2020, 12:13 PM)yann29 a écrit : merci de ton retour,
je ne comprends pas ta reponse, mais actuellement ca fonctionne, bp court comme bp long

dans les 2 écrans des if BT court et BP long tu testes la même chose (si dernière scène lancée = 1 & evènement touch salon = key_event)

donc je ne comprend pas comment ça peut fonctionner ?
si le BP court est OK ==> passe pas sur le if du BP long
si le If du BP court est false ==> (comme c'est le même IF) le if devarit est false aussi

d'ou ma remarque
Répondre
#13
ok, mais si tu regarde bien tu as dans le key event bp1 court= appui, et dans le key event bp1= appui long, donc on ne teste pas la meme condition, tu es ok avec moi?
Répondre
#14
oui j'avais pas vu la partie key-event différente , donc oui ça doit fonctionner comme prévu à la condition que les valeurs testées soient de la bonne nature (chaine , num, .....)
Répondre
#15
mon souci c'est de pouvoir par un appui (différents de ceux déjà utilisé du coup) d’arrêter les volets Neutral-161e
Répondre
#16
la solution que je vois serais de mettre un indicateur avec 1 timer dans un autre automate qui sera activé lorsque tu es dans ton automate actuel et désactivé après le temps de descente ou montée de tes volets

grosso merdo :

- tu crées un booléen  VOLET_EN_MARCHE ==> par défaut false
-  dans ton automate actuel tu ajoutes en début une branche if qui va tester la variable VOLET_EN_MARCHE
-  puis toujours dans ton automate actuel  tu ajoutes une étape au début de la branche false qui consiste à mettre VOLET_EN_MARCHE à true puisque tu as déclenché l'appui long ou court donc dès que ta condition de déclenchement de l'automate est activée. 
- il faut mettre l'automate en réentrant
si le if test de VOLET_EN_MARCHE est false tu fais ce qui ce est programmé actuellement, si true tu vas faire la séquence
                               - arrêter et le désactiver l'automate arrêt_volet (l'autre, pour permettre de rappuyer sur le bouton afin de reprendre la descente sur nouvel appui)
                               - actionner volet arrêt (comme cela si appui long ou court pendant que en marche alors arrêt)
 
                              - attendre 1s puis positionner la variable VOLET_EN_MARCHE à false (ça va éviter les double ou triples appui intempestifs)
                              - activer l'automate arrêt_volet (pour se remettre en situation d'écoute si appui de nouveau)
- tu crées un autre automate : arrêt_volet qui va être déclenché à chaque fois que VOLET_EN_MARCHE = true
- tu mets une boucle while qui s'arrête sur timer et le timer tu le règles sur le temps d'action de ton volet (si le volet met 15s à descendre ou monter) mets ton timer sur 15s
- à la fin du timer donc après le while tu remets la variable VOLET_EN_MARCHE à false 
 
j'ai pas testé mais ça devrait foctionner
Répondre
#17
bonjour,
merci pour ta réponse, pourrais tu (si tu peux) faire un automate (même si les termes ne correspondront pas), car je ne vois pas trop ce que tu veux dire.
Merci d'avance
Répondre
#18
c'est justement ce que je t'ai décrit ?  comment modifier ton automate et en créer un 2ème.
c'est juste les copies d'écrans qui ne sont pas là , mais le reste c'est quasi du tuto
Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)