You are currently viewing Générer une action Aléatoire – La love machine !

Générer une action Aléatoire – La love machine !

.Cœur icônes créées par Freepik – Flaticon

0.Contexte

Aujourd’hui on va parler d’amour, de domotique et de fonction aléatoire

Comme beaucoup de passionné(e)s l’implémentation de la domotique à été une catastrophe a la maison avec beaucoup de ça sert à quoi ? Mouais bof tout ça pour ça ?

Et que dire des ratés ? Car si une chose est sur c’est qu’on apprend beaucoup dans les erreurs , les échecs et parfois les black-out…

Alors oui parfois nos femmes ne sont pas patientes, voir reconnaissante de cet outil merveilleux qu’est la domotique mais dans la plupart du temps elle supporte quand même nos joujoux et le temps que l’on y consacre

Pour cela et car on ne le dit jamais assez j’ai créé un scénario qui dit je t’aime dans toutes les langues à celle qui partage ma vie et mes folies.

1.Creation du virtuel

Pour cela on commence par créer un virtuel

Un classique virtuel avec une action au click

2. Creation du scénario

On crée le scénario en mettant notre virtuel en déclencheur

et enfin on crée notre scénario

Bien sur on peux personnaliser le widget qui va bien sur son design… je vous laisse allez consulter le géniallissime tuto de domotech sur sa chaine youtube.

3. La fonction Randomiser ou aléatoire

Mais voila je sais pas vous ? mais si c’est sympa d’exécuter cette action quand on as envie moi je préférerais que ce soit automatique et hors de question que ce soit ni à heure ni a jour fixe !!!

Pour ceux qui voudrait aller plus vite vous pouvez déjà dupliquer le scénario love et l’appeler love2

( pour dupliquer on oublie pas on clique en haut a droite sur cette icone)

alors pour cela j’ai créé ce petit scénario

Ne vous inquiétez pas on vas détailler

Tout d’abord on va créer une routine de création de variable dans notre chef d’orchestre tous les lundi a 8h30 . Nous l’appellerons random… Quézac c’était déjà pris :).

Dans valeur on met rand(0,7) si vous voulez que celui ci s’exécute aléatoirement toute la semaine. Moi je veux qu’il s’exécute tous les jours sauf le dimanche mais peut importe

(Si tu n’as pas de chef d’orchestre c’est le moment d’en faire un avec le tuto du maitre jeedomien Stephane)

On en profite pour insérer à 9h tous les jours le lancement du scénario love2

on sauvegarde et on retourne à love 2

Dans déclencheur on met provoqué et c’est tout ! il sera executé par votre chef d’orchestre !

On crée un bloc si alors sinon

dans si on met variable(random) == #njour#

On détaille:

– chaque lundi avec la fonction rand(0,7) un chiffre aléatoire entre 0 et 7 est attribué à la variable random

– #njour# permet de nous donner le jour d’aujourd’hui en numérique (dimanche =0, samedi =7)

puis je rajoute un bloc si dans ma case alors :

variable(horaireelodie)== »M7B » ou variable(horaireelodie)== »M6A »

Cela aura peut d’importance pour vous pour moi il determine l’horaire de travaille de ma femme par exemple dans ces horaire la elle fini a 15h, (mais vous pouvez mettre une présence, votre agenda … etc …)

cela signifie donc que mon action doit se dérouler après 16h.

sachant que l’action est exécutée à 9h il faudra au minimum que l’action s’exécute dans 16-9 soit 7 h soit 25200 minutes et que celle ci ne s’exécute pas plus tard que 20h soit 20-9 donc 11 heures soit 39600 secondes. Et vu que je ne veux pas que ce soit a heure fixe j’utilise la fonction sleep. Pour la durée j’utilise la fonction rand, dans notre cas rand 25200,39600). donc la valeur aléatoire du sleep sera comprise entre 25200 et 39600 secondes.

Je n’utilise pas la fonction wait moins gourmande en ressource car n’est valable que dans une durée de 2h. mais si dans votre cas c’est possible votre jeedom consommera bien moins de ressource

Quand mon sleep est terminé mes actions s’exécute.

Ma première action est un gros coeur rouge qui s’affiche sur mon divoom pixoo

Ma deuxième est alexa qui dit je t’aime dans une langue aléatoire via la fonction randText(blabla;blublu;blibli).

Cette fonction permet d’envoyer un texte aléatoire compris entre les parenthèse. En oubliant pas de séparer chaque texte par ;

Ma troisième fonction est un joli cœur envoyé sur le téléphone de ma femme, j’utilise telegram pour cette fonction car il permet de cibler la personne uniquement, vous pouvez utiliser un canal spécifique sur discord link. Malheureusement ma femme est moins sensible a discord et y prête beaucoup moins attention… Donc on reste sur telegram

Pour ma part j’ai détaillé cette action en fonction de chacun de ces horaires et quand elle est en repos. Donc j’ai adapter les temps dans chaque durée de sleep pour exécuter l’action quand madame est a la maison. On pourrait aussi rajouter une verification de présence et un wait de x temps si absente avant d’exécuter les actions ou verification de conditions comme dans l’exemple ci dessous

Dans la conditions j’attends que le virtuel de ma femme indique qu’elle est présente

Pour éviter de retaper tous les block penser a utiliser le copier coller en haut a droite de chaque block !!!

Enfin pour ceux qui se poserait la question… Pourquoi pas le dimanche ? Ben parce que le dimanche je préfère lui dire que je l’aime avec des croissants !!!

Bien sur vous pouvez utiliser ces fonctions random dans d’autres scénarios! Votre limite c’est votre imagination

Amusez vous bien !

Loïc

Loïc phoenix castillo

Passionné par informatique dès mon plus jeune âge, j'ai arrêté à mes 21 ans pour me consacrer à mes études d'infirmier et faire la fête. Maintenant père de famille, je me réinvestis dans la domotique ! Bref le kif ! Rédacteur en chef de Youdom