Forum Lifedomus
Simulation de présence - Fonction Random - Version imprimable

+- Forum Lifedomus (http://forum-lifedomus.com)
+-- Forum : Les outils de configuration et design (http://forum-lifedomus.com/forumdisplay.php?fid=7)
+--- Forum : Config Studio (CS) (http://forum-lifedomus.com/forumdisplay.php?fid=8)
+---- Forum : Automatismes (http://forum-lifedomus.com/forumdisplay.php?fid=42)
+----- Forum : Automates (Module logique avancé) (http://forum-lifedomus.com/forumdisplay.php?fid=144)
+----- Sujet : Simulation de présence - Fonction Random (/showthread.php?tid=777)

Pages : 1 2 3


Simulation de présence - Fonction Random - Domoconnect - 04-11-2014

Existe-t-il une fonction capable de renvoyer un nombre aléatoire? J'aimerai utiliser cette fonction pour simuler une présence dans la maison, en allumant et éteignant aléatoirement les lumières.


Simulation de présence - Fonction Random - tilleul - 04-11-2014

Tu peux facilement utiliser une des formules mathématiques de génération de nombres (pseudo)aléatoires telle que:

X = 16807 * old_X MOD 2147483647

Voir ici pour les explications
http://www.alrj.org/docs/algo/random.php (j'ai pris celle du point I.3.1)

Ou alors tu utilises la fonction Math.random() du Javascript avec un équipement universel.

Les deux fonctionnent, testé et approuvé :)[ATTACH=CONFIG]313[/ATTACH]


Simulation de présence - Fonction Random - Domoconnect - 04-14-2014

Merci tilleul, je vais regarder ça de plus près :D


Simulation de présence - Fonction Random - bizniouf - 07-06-2014

Bonjour,

Malgré la gentille aide de Tilleul j'ai été incapable de parvenir à déclencher la fonction Math.random() du JavaScript.
Il m'a fallu donc faire avec ma médiocrité et me contenter du générateur de nombres pseudo-aléatoires.
A présent que ce générateur fonctionne je me pose des questions sur l'implémentation du simulateur de présence. Pour l'instant je n'ai pas d'idée géniale qui permette d'éviter l'usine à gaz, et, plus embêtant, je ne sais même pas comment faire un wait sur une durée variable issue du générateur aléatoire.
Je suis preneur de toutes idées...
à vot' bon cœur Msieurs dames... ;-)

Thierry


Simulation de présence - Fonction Random - tilleul - 07-07-2014

Il va falloir utiliser le nombre aléatoire généré comme un compteur et pas comme un temps d'attente puisqu'il n'est pas (encore ?) possible d'utiliser une variable dans un WAIT ...

En imaginant que X contienne ton nombre aléatoire et qu'il représente des minutes tu peux (par ex) faire un WHILE qui ressemble à ceci
WHILE x > 0
WAIT 1 minute
x = x - 1
(fin du bloc WHILE)

si X représente un multiple de 15 secondes (si x = 4 alors attendre 1 min), tu feras un WAIT 15 sec dans le WHILE etc.

Ce n'est qu'une solution parmi d'autres car on peut aussi utiliser un déclencheur avec un WAIT, compter en positif, etc etc.


Simulation de présence - Fonction Random - bizniouf - 07-07-2014

Hum... c'est tellement évident... la fatigue, sans doute... :o
Je m'étais bêtement bloqué sur le Wait qui ne peut pas prendre de variable...
Merci de ta réponse, Tilleul !


Simulation de présence - Fonction Random - fredblabla - 12-22-2014

En effet une opération de type random(min,max) serait bien pratique dans le module logique avancé.

J'ai essayé de l'implémenter à partir du lien donné:
Pour info: X = (16807 * OLD_X ) MOD 2147483647
Et que x mob y = x - y * E(x/y) ou E(z)
est le plus grand entier inférieur ou égal à z, E(z) = la fonction FLOOR

Dans notre exemple cela donne : X =
[I](16807 * OLD_X ) - 2147483647 * FLOOR((16807 * OLD_X ) / 2147483647 )
[/I]Traduit en LD ça donne: (Sauf que j'ai pas trouvé la fonction FLOOR)
[ATTACH=CONFIG]396[/ATTACH]

Et en plus ça donne un chiffre entre 1 et 2147483647


Simulation de présence - Fonction Random - bizniouf - 12-22-2014

Salut Fred,

Comme il n'est malheureusement pas encore possible (sauf erreur de ma part) de faire d'import/export d'automates (siouplaît !!!),
Voici mon implémentation à moi, sachant que iAlea100 est le résultat sous la forme d'une variable publique qui vaut entre 0 et 100.

[ATTACH=CONFIG]398[/ATTACH]

... la formule en elle-même (3ème bloc) est la suivante :
[ATTACH=CONFIG]399[/ATTACH]

Désolé mais je ne vois plus comment augmenter la taille de l'image. Je suppose que tu pourras en lecture ?
@+

Thierry


Simulation de présence - Fonction Random - fredblabla - 12-22-2014

Il faut double cliquer sur l'image. Tu peux ré-éditer ton message, double cliquer sur l'image et choisir une nouvelle taille.


Simulation de présence - Fonction Random - bizniouf - 12-22-2014

Ah ok. Je l'ai fait mais ça reste insuffisant apparemment. Je recommence l'insertion...
[ATTACH=CONFIG]399[/ATTACH][ATTACH=CONFIG]398[/ATTACH]*
... cette fois ci quand je double clique ça clignote un coup mais ça ne m'ouvre plus la fenêtre de paramétrage.... :(