Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Exemple de script LUA : boucle entre plusieurs luminosités
#3
Ok ça a son charme car côté interrupteurs on ne fait qu'un incrément, mais je trouve ça relativement complexe tout de même...

Si j'ai bien tout compris, ça oblige à créer une variable, un timer et 9 règles pour une simple lumière. Alors que de mon côté j'ai un simple script pour faire l'équivalent...

[ Petit bug dans ton truc, tu as mis "Si etat > 4" au lieu de "Si etat >= 4", rien de bien grave Smile ]

Ensuite, ce qui ne correspond pas au besoin exprimé :

1/ rien de grave, ça simplifie juste le problème

Là tu parles d'un timer 2/3 secondes qui passe à l'état 4, du coup le prochain clic est un "off" quel qu'ait été l'état précédent.

Mais l'idée est de faire une boucle réelle qui ne soit jamais court-circuitée en usage normal. Si on passe 1 heure avec la lumière à 25% puis qu'on clique une fois sur l'interrupteur, ça passe à 1% pour regarder un film.
Dans ce que je décris, ça veut dire que si on veut éteindre la lumière alors qu'elle est à 25%, il faut cliquer deux fois, oui. Je n'ai pas encore réussi à imaginer une approche qui pourrait concilier les deux idées (sauf éventuellement un clic long, ce que j'ai déjà mis en place d'ailleurs).

2/ mais du coup, comportement non attendu

Si on enlève le timer, alors l'intensité d'éclairage est supposée calquée sur l'état de la machine à état. Mais si on change manuellement la luminosité, alors l'état ne change pas : le clic suivant sera alors basé sur l'intensité supposée et non sur l'intensité réelle de la lumière.

Bien sûr, si on garde le timer, alors le "prochain clic" est toujours une extinction (tant qu'il est plus de 2-3 secondes après le précédent), mais le comportement habituel n'est pas celui qui est attendu.


Enfin, ce que j'ai fait n'est-il pas également un automate fini (meilleur nom pour ce qu'on appelle maladroitement "machine à états finis") ? Sauf que l'état, plutôt que de le stocker dans une variable, c'est l'intensité réelle de la lumière...
Sébastien Maccagnoni-Munch - Maison en autorénovation, on ne garde que les murs
Automate Wago 750-849 (mais pas de KNX), centrale Beaglebone Black, Calaos 2.0, détecteurs de mouvement HC-SR501, éclairage LED, gradation DALI
Sonorisation Squeezebox avec Raspberry Pi (piCorePlayer), Kia Soul EV en charge toutes les nuits...
Reply


Messages In This Thread
RE: Exemple de script LUA : boucle entre plusieurs luminosités - by tiramiseb - 09-25-2014, 05:17 PM

Forum Jump:


Users browsing this thread: 2 Guest(s)