C’est bien beau d’avoir de beaux virtuels, mais il faut bien qu’il se passe quelque chose lorsqu’on sélectionne une heure d’événement, et bien, voilà la seconde et dernière partie du tutoriel sur la planification d’événements dans Jeedom, les scénarios.Info : N’hésitez pas à (re) lire le premier article Planification d’événements dans Jeedom [virtuel et widget], car j’ai fait quelques modifications. Merci à ceux qui ont pris la peine de laisser des commentaires .
Pour rappel, le tutoriel est en 2 parties :
- Dans la première partie, nous avons vu la marche à suivre pour créer les virtuels de saisie d’horaires et les widgets permettant de mettre tout ça en forme.
- Dans cette seconde partie, nous allons voir la mise en place des scénarios de planification d’événements quotidiens.
Je vous le redis, bien que cet article soit complet, ne vous inquiétez pas, les scénarios sont à la portée de tous, si vous suivez bien le tutoriel pas à pas.
Pour commencer, nous allons créer un scénario modèle, permettant le traitement et la planification d’événements d’une journée (Lundi).
Il suffira ensuite de le dupliquer pour les jours suivants.Info : Je vous conseille de dupliquer le scénario jour après jour, afin de pouvoir l’ajuster en fonction de vos besoins, jusqu’à ce qu’il soit satisfaisant.
Pour la bonne compréhension de la suite, il est vivement conseillé de lire la première partie : Planification d’événements dans Jeedom [virtuel et widget].
Pour le tutoriel, nous allons partir sur trois exemples :
- Mode matin : Ce scénario à la structure la plus simple. Le changement du mode nuit au mode matin est effectué automatiquement en fonction de l’heure configurée.
- Cela me permet par exemple de régler la luminosité des lumières ou le volume des TTS en fonction des moments de la journée. J’ai un mode nuit, soir, matin, journée, invités…
- L’événement Réveil : Ce scénario ajoute la fonction minuteur au scénario précédent. C’est un réveil matin qui lance un scénario d’allumage progressif des lumières dans la chambre définie par la commande minuterie du virtuel et enfin qui lance la musique à l’heure choisie.
- Le fait de lancer le scénario d’allumage progressif me permet de limiter le nombre de modifications, car j’ai seulement le scénario d’allumage progressif à modifier pour tous les jours et non un par jour.
- L’événement École : Ce scénario est plus complexe, car il ajoute des rappels au scénario précédent. C’est un rappel pour aller chercher mon fils à l’école, avec un premier rappel défini par la commande minuterie du virtuel, puis un second rappel 5 minutes avant l’heure choisie.
- Les 5 minutes sont égales au temps de trajet entre mon logement et l’école. On pourrait utiliser un temps dynamique avec la géolocalisation, mais cela ajouterait de la complexité au scénario, ce n’est pas le sujet aujourd’hui.
Info : Je ne vous propose que des exemples pour vous donner une base, afin de mieux comprendre le principe à mettre en place pour vos propres planifications d’événements. À vous de les adapter.
Après la théorie, la pratique :
- Allez dans Outils.
- Puis Scénarios.
- Cliquer sur Ajouter.
- Donnez un nom à votre scénario, exemple : « Programmation Lundi » si on est lundi. 🙂
- Cocher
- Sauvegarder.
Les déclencheurs du scénario
Le scénario utilise les 2 types de déclencheurs, programmation et événements. Donc, pour commencer, sélectionner « Les deux » dans la liste « Mode du scénario » en haut à droite.
Déclencheurs programmation
Les déclencheurs programmation vont nous permettre de programmer les événements de la journée et de réinitialiser les événements chaque matin, afin de ne pas avoir d’erreur de traitements. Le réveil qui se lance le dimanche matin non merci.
- Cliquer 2 fois sur le bouton + Programmation.
- Cliquer sur le ? en face de la première commande de programmation.
- Pour A exécuter choisir récurant.
- Pour Every choisir Week.
- Sélectionner le jour, dans notre exemple lundi .
- Choisir une heure d’exécution par exemple 00:30 :.
- Valider
Cette première commande va exécuter le scénario tous les lundis matin à 0:30, c’est à ce moment-là que les événements de la journée du lundi seront programmés. Vous pouvez changer l’horaire si besoin, il faut juste que ce soit avant le premier événement.
Nous allons maintenant ajouter une seconde commande Programmation, pour réinitialiser les événements.
- Cliquer sur le ? en face de la seconde commande de programmation.
- Pour A exécuter choisir récurant.
- Pour Every choisir Week.
- Sélectionner le jour suivant, dans notre exemple Mardi.
- Choisir une heure d’exécution par exemple 00:25 :.
- Valider
Cette seconde commande va exécuter le scénario tous les lendemains matins à 0:25 . Cela permet de supprimer les événements de la journée du lundi qui auraient pu être programmés par erreur, consécutivement au fonctionnement du système de programmation de Jeedom.
Rappel : Lorsqu’on programme dans un scénario un événement, on choisit l’heure, mais pas le jour et donc, si on exécute le scénario du lundi pour un événement à 15:00 et qu’il est 15:01 la programmation aura lieu pour le mardi à 15:00, d’où la commande qui supprime les événements programmés par erreur pour le lendemain.
Vous pouvez là aussi changer l’horaire de 00:25 si besoin. Il faut juste que ce soit avant le premier événement et avant le premier déclencheur.
- Les commandes programmation devraient ressembler à :
- 30 0 = 0:30.
- ** = jour et mois.
- 1 = Lundi.
Info : Dans Jeedom, les jours de la semaine commencent à 0 avec le dimanche
Déclencheurs événements
Les déclencheurs événements vont exécuter le scénario à chaque fois qu’on va activer ou désactiver un événement, ou modifier son horaire, ou encore, le cas échéant, changer le réglage de la minuterie afin de prendre en compte les nouveaux paramètres.
Il va donc falloir créer 2 commandes par événement et même 3 s’il y a une minuterie. Dans l’exemple du réveil que nous avons vu dans l’article précédent, il y a une minuterie. Nous allons donc faire 3 commandes.
- Cliquer 3 fois sur le bouton + Déclencheur.
- Cliquer sur l’icône Choisir une commande de la première commande.
- Rechercher votre Virtuel Réveil.
- Sélectionner la commande Etat.
- Valider
- Cliquer sur l’icône Choisir une commande de la seconde commande.
- Rechercher votre Virtuel Réveil.
- Sélectionner la commande Lundi.
- Cliquer sur l’icône Choisir une commande de la troisième commande.
- Rechercher votre Virtuel Réveil.
- Sélectionner la commande Minuteur.
Info : J’utilise le système de déclencheur de scénario pour pouvoir, par la suite, facilement dupliquer le scénario pour chaque jour. On pourrait exécuter le scénario depuis les commandes actions du virtuel, mais il faudrait le faire pour chaque événement, pour chaque jour et pour chaque commande. Trop long et trop de risques d’erreurs.
Le scénario planification d’événements
Voilà, nous avons préparé notre scénario pour qu’il se déclenche au bon moment. Maintenant, rentrons dans le vif du sujet, avec la partie scénario qui permet d’exécuter les événements.
- Cliquer sur l’onglet Scénario.
- Sauvegarder.
Info : J’ai supprimé les commandes Log des explications par souci de clarté, mais je vous conseille d’en ajouter pour vous aider à déboguer et faire évoluer vos scénarios.
Pour ajouter des blocs :
- Cliquer sur +Ajouter bloc en haut à droite.
- Ajouter un bloc Action.
- Ajouter un bloc Si/Alors/Sinon.
Pour ajouter des commandes :
- Cliquer sur +Ajouter à gauche.
- Ajouter une commande Action.
Pour déplier le Sinon :
- Cliquer sur la flèche bas pour afficher le Sinon.
Initialisation et variables
ACTION remove_inat
Cette action permet de supprimer les éventuels événements programmés, histoire de repartir à zéro lorsque cela s’avère nécessaire.
SI #[Appartement][Modes Maison][Mode]# == « Alarme » ou #[Appartement][Modes Maison][Mode]# == « Invités Soirée » ou #sjour# != « Lundi » ALORS
ACTION stop
Je vérifie les modes, car je ne veux pas de programmation lorsque l’alarme est activée, ou encore, si j’ai des invités à la maison.
Le test important ici c’est #sjour# != « Lundi » qui vérifie le jour et si on n’est pas lundi, alors on arrête le scénario, car il n’y a rien à programmer et grâce au remove_inat précédent, plus rien n’est programmé.
SINON
variable Nom Mode_Matin_Today Valeur #[Appartement][Virtuel Programmation Modes Matin][Lundi]#
variable Nom Réveil_Today Valeur #[Appartement][Virtuel Réveil][Lundi]#
variable Nom Ecole_Today Valeur #[Appartement][Virtuel Programmation Ecole][Lundi]#
ACTION #[Appartement][Virtuel Programmation][Rafraichir]#
Par contre, si on est bien Lundi, alors on affecte les valeurs à des variables, pour les afficher dans un virtuel récapitulatif que je rafraîchis ensuite. Si vous ne souhaitez pas ce type de virtuel, vous pouvez laisser le SINON vide.
Événement Réveil
Pour continuer notre exemple sur le réveil, je vais vous détailler le scénario. Mais pour un événement du genre Mode matin par exemple, c’est la même structure.
SI str_replace(‘:’, »,#[Appartement][Virtuel Réveil][Lundi]#) != » » ET #[Appartement][Virtuel Réveil][Etat]# == 1 ALORS
Pour commencer, on vérifie qu’un horaire est bien saisi pour l’événement réveil du lundi. Cela permet de ne pas exécuter l’événement s’il n’y a pas d’horaire. Il suffit de cliquer sur la croix dans le widget pour supprimer les horaires. On vérifie aussi que l’événement réveil soit activé, c’est le bouton On/Off du virtuel.
À (Hmm) « time_op(str_replace(‘:’, »,#[Appartement][Virtuel Réveil][Lundi]#),-#[Appartement][Virtuel Réveil][Minuteur]#) » FAIRE
Donc, si on a un horaire saisi et que l’événement est activé, alors on programme l’heure d’exécution à l’horaire saisi, en soustrayant le temps de la minuterie.
- time_op(time,value) : Permet de faire des opérations sur le temps, avec time=temps (ex : 1530) et value=valeur à ajouter, ou à soustraire, en minutes. Voir doc Jeedom.
- str_replace : Permets de remplacer toutes les occurrences dans une chaîne. Ici on remplace les ‘:’ par rien, car les heures saisies sont au format H:mm alors que Jeedom les veut au format Hmm.
SI #[Appartement][Modes Maison][Mode]# != « Alarme » ET #[Appartement][Modes Maison][Mode]# != « Invités Soirée » ET #[Membres][Virtuel Présence][Etat]# == 1 ET #[Appartement][Virtuel Réveil][Etat]# == 1 ALORS
Lors de l’exécution de l’événement, on vérifie à nouveau que :
- L’alarme et le mode invité ne sont pas activés.
- Que le membre pour qui le réveil est programmé soit bien présent.
- Que l’événement Réveil soit toujours activé.
Scénario #[Membres][Programmation][Réveil]# Action Start
Il ne reste plus qu’à exécuter la commande. Ici on lance le scénario Réveil qui permet d’allumer les lumières progressivement, puis de démarrer la musique. Vous pouvez utiliser l’article Fondu paramétrable des ampoules Yeelight et utiliser la commande minuteur pour le délai d’exécution. dureetotal=#[Appartement][Virtuel Réveil Guillaume][Minuteur]#
.
Ici, vous pouvez à la place du scénario, exécuter tout type de commande en fonction de l’événement programmé comme :
- Commande Mode Matin, soir, journée, nuit…
- Commande Heure du coucher, du repas…
Info : Si vous n’utilisez par de minuteur pour votre événement, il faudra le supprimer des conditions.
Par exemple pour la programmation du Mode Matin, vous pouvez modifier le premier À Hmm en supprimant le time_op :
"str_replace(':','',#[Appartement][Virtuel Programmation Modes Matin][Lundi]#)"
Événement École
Maintenant que nous avons une base pour les événements, on peut ajouter quelques conditions pour rendre la programmation plus complexe. Je vais pour cela reprendre l’exemple du rappel pour aller chercher mon fils à l’école le soir.
Il me faut donc :
- Un horaire saisi dans le virtuel correspondant à l’heure de sortie de mon fils.
- Un minuteur me permettant de préciser combien de temps avant de partir je commencerai à avoir des rappels.
- Il me faut 5 minutes pour aller de mon domicile à l’école. Il est possible d’utiliser un plugin comme Waze in Time pour rendre ce temps dynamique en fonction de votre distance avec l’école, mais nous n’en parlerons pas dans cet article pour ne pas trop le complexifier.
SI str_replace(‘:’, »,#[Appartement][Virtuel Programmation Ecole][Lundi]#) != » » ET #[Appartement][Virtuel Programmation Ecole][Etat]# == 1 ALORS
À (Hmm) « time_op(str_replace(‘:’, »,#[Appartement][Virtuel Programmation Ecole][Lundi]#),-#[Appartement][Virtuel Programmation Ecole][Minuteur]#) » FAIRE
Comme pour tous les événements :
- On vérifie qu’il y ait bien un horaire de saisi pour l’événement, ici École du lundi.
- On vérifie aussi que l’événement École soit activé, c’est le bouton On/Off du virtuel.
- On programme l’heure d’exécution à l’horaire saisi, en soustrayant le temps de la minuterie.
SI #[Appartement][Modes Maison][Mode]# != « Alarme » ET #[Appartement][Modes Maison][Mode]# != « Invités Soirée » ET #[Appartement][Virtuel Programmation Ecole][Etat]# == 1 ALORS
Lors de l’exécution de l’événement, on vérifie à nouveau que :
- L’alarme et le mode invité ne sont pas activés.
- Que l’événement Réveil soit toujours activé.
Scénario #[Appartement][Notifications][Notifications 2.0]# Action Start
Tags type=3 msg= »Il faut aller à l’école dans #[Appartement][Virtuel Programmation Ecole][Minuteur]# minutes. Il est formatTime(#time#). «
Si toutes les conditions sont validées, alors on exécute la commande TTS, pour le premier rappel à l’heure saisie, moins la durée du minuteur. Exemple 16:30 – 15 = 16:15.
- Ici, j’utilise mon système de notifications avancé présenté dans cet article : Gestion des Notifications avancées dans une nouvelle version utilisant les Tags de scénarios.
À (Hmm) « time_op(str_replace(‘:’, »,#[Appartement][Virtuel Programmation Ecole][Lundi]#),-5) » FAIRE
Dans la foulée, on programme le second rappel qui sera à l’heure saisie, moins 5 minutes. Exemple 16:30 – 5 = 16:25.
Scénario #[Appartement][Notifications][Notifications 2.0]# Action Start
Tags type=3 msg= » Il faut aller à l’école maintenant ! Il est formatTime(#time#). «
Même principe pour exécuter le second rappel, j’utilise les notifications avancées, mais on pourrait utiliser une simple commande TTS ou SMS ou Mail…
Info : Attention ! Le premier rappel est programmé à l’heure d’arrivé à l’école moins le minuteur, pas à l’heure de départ de la maison moins le minuteur.
Si c’est ce que vous voulez, il faudra ajouter un time_op dans le premier À Hmm :
time_op(time_op(str_replace(':','',#[Appartement][Virtuel Programmation Ecole][Lundi]#),-#[Appartement][Virtuel Programmation Ecole][Minuteur]#),-5)
Dupliquer le scénario modèle dans Jeedom
Maintenant que vous avez des exemples de planification d’événements, vous pouvez remplir votre journée en ajoutant des boucles pour chaque événement. Si seulement on pouvait faire Copier/Coller une boucle dans un même scénario, ce serait tellement plus simple. Malheureusement ce n’est pas possible. Mais par contre, on a la possibilité de dupliquer un scénario.
Comme je vous l’ai dit plus tôt dans cet article, on va faire un scénario par jour.
Dans notre exemple, on est lundi. Donc, il faut bien peaufiner le scénario pour pouvoir le dupliquer pour le mardi. Je vous conseille de ne pas dupliquer tous les jours de la semaine d’un seul coup, car il y a des chances que vous fassiez des modifications les premiers jours de tests. Donc, pensez juste à faire les modifications dans le scénario du jour et de le dupliquer le soir et ainsi de suite pour chacun des jours suivants.
La technique pour dupliquer le scénario est très simple et très rapide, sous réserve que vous ayez suivi mon conseil lors de la création du virtuel :
- Je vous conseille de bien garder la même structure pour le nom des commandes (Lundi_action et Lundi) pour vous faciliter le travail lors de la duplication du scénario.
C’est parti, vous avez vu la fonction Dupliquer en haut à droite des scénarios ? Et bien ce n’est pas là ! la fonction Exporter ? Ce n’est pas là non plus !
Nous allons plutôt utiliser la fonction Template.
La fonction exportée permet d’avoir le code du scénario. Ça pourrait être utile de faire la modification dans un éditeur de texte, mais il n’y a pas de fonction Importer, donc pas très utile, et la fonction dupliquer fait une copie identique du scénario et après il faut le parcourir et modifier chaque commande avec « Lundi » par « Mardi » et ça peut être très long si vous avez beaucoup d’événements.
Avec la fonction Template, il suffit de faire la modification sur une commande de chaque et après, c’est Jeedom qui va se charger de faire la correspondance et en plus, toutes les commandes sont regroupées. Ce qui évite de parcourir tout le scénario et d’en oublier une au passage.
Depuis votre scénario avec vos différents événements du jour, Lundi dans notre exemple :
- Cliquer sur Template en haut à droite.
- Saisir le nom de votre scénario, exemple Lundi.
- Cliquer sur le bouton +.
- Le message : « Création du template réussie » devrait s’afficher.
- Fermer la fenêtre « Template de scénario ».
- Fermer le scénario Lundi.
À ce stade nous avons une copie de notre scénario du Lundi. Nous allons maintenant créer un nouveau scénario pour le Mardi.
- Depuis la page des scénarios, cliquez sur Ajouter.
- Donnez un nom à votre scénario, exemple : « Programmation Mardi ».
- Cocher
- Sauvegarder.
- Cliquer sur Template.
- Sélectionner Lundi dans la liste des Template à gauche.
- Remplacer le lundi de la première commande par Mardi.
- Copier le mot Mardi. (double clique sur Mardi et CTRL+C)
- Remplacer les autres Lundi par Mardi. Il y en a 2 autres dans notre exemple, car il y a 3 événements (double clique sur Lundi et CTRL+V).
- Cliquer sur Appliquer.
- Cliquer sur D’accord lorsque vous aurez le message « Êtes-vous sûr de vouloir appliquer le template ? Cela écrasera votre scénario ».
- Fermer la fenêtre « Template de scénario ».
On a presque fini, il reste quelques modifications à faire sur le scénario.
- Dans l’onglet Général :
- Modifier le « Nom à afficher » qui a pris le nom du scénario du Lundi.
- Modifier les programmations qui sont pour le Lundi (1) et le Mardi (2) par Mardi (2) et Mercredi(3).
- Au passage on voit que Jeedom à bien remplacé les commandes Lundi par Mardi.
- Sauvegarder.
- Dans l’onglet Scénario :
- Modifier le Lundi par Mardi dans la première condition.
#sjour# != "Lundi"
en#sjour# != "Mardi"
. - Sauvegarder.
- Modifier le Lundi par Mardi dans la première condition.
Ça peut vous paraître un peu être long, car vous découvrez la technique, mais honnêtement, il faut moins de 30 secondes pour dupliquer un scénario même avec plus de 10 événements.
Info : Si vous travaillez tard sur votre scénario et qu’il est plus que l’heure d’exécution programmée, 00:25 et 00:30 dans l’exemple, pensez à exécuter le scénario manuellement en cliquant sur le bouton « Exécuter » pour programmer les événements de la journée.
Conclusion
Voilà pour cette deuxième et dernière partie qui nous a permis de mettre en place les scénarios de planification d’événements. Bien sûr, ce n’est qu’une trame que vous pouvez adapter à vos propres besoins.
J’espère voir été assez clair dans mes explications, mais n’hésitez pas à revenir vers moi via les commentaires si vous avez besoin d’aide, ou que je précise les points qui le nécessiteraient, comme je l’ai fait sur la première partie.
À l’écriture de l’article, je me suis dit qu’il serait bien de faire évoluer le scénario pour qu’il gère tous les jours et ne plus avoir à le dupliquer pour chaque jour de la semaine.
J’ai déjà commencé à faire une nouvelle version avec un seul scénario pour tous les jours de la semaine, mais il faut pour cela utiliser les blocs code. Ce sera dans un prochain article.
Si cet article vous a intéressé, notez-le, il sera ainsi mieux référencé et pourra alors être lu par plus de personnes. 🙂
Bonjour,
Merci pour ce nouvel article toujours aussi instructif.
Petite question : tu parles dans l’article du « Virtuel récapitulatif journalier », pourrais-tu le détailler ?
Je pense pouvoir faire certaine chose mais pas tout.
Bonne fin de journée
Bonjour,
Désolé j’avais lu et oublié de répondre.
Le virtuel comporte juste des infos avec les variables comme valeur :
Le 1er info c’est pour avoir le jour de la semaine.
Ça donne donc ça :
N’hésite pas si tu as besoin.
Bonsoir,
Pour récupérer les infos du virtuel, je ne rencontre pas de soucis particuliers.
Mes interrogations sont les suivantes :
– L’affichage de l’horloge en tant qu’unité (si j’ai bien compris ton virtuel)
– L’affichage du minuteur
– La présentation
Avec ses quelques infos, je pense que je vais faire un bon pour mes futurs design dans jeedom.
PS : est-il normal que lorsque l’on clique sur tes images, elle ne s’agrandisse pas, car parfois elles sont vraiment petites et peu lisible, malgré que tes explications sont qui suivent les images sont claires.
Bonne soirée.
Bonjour,
Alors :
L’affichage de l’horloge en tant qu’unité (si j’ai bien compris ton virtuel)
En faite c’est un widget sur l’état de l’événement. Voila le code :
<div style="min-height:30px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="binary" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" title="#collectDate#">
<center>
<span style="font-size: 1em;" class="iconCmd#uid#"></span>
</center>
<!-- Ne Pas Supprimer -->
<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"0","version":"1","size":"2.5","icon1":"<i class='fa fa-clock-o'></i>""}]]></script>
<!-- Ne Pas Supprimer -->
<script>
jeedom.cmd.update['#id#'] = function(_options){
$(".iconCmd#uid#").empty();
if (parseInt(_options.display_value) == 1) {
$(".iconCmd#uid#").append("<i class='fa fa-clock-o'></i>");
} else {
$(".iconCmd#uid#");
}
$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
}
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>
– L’affichage du minuteur
C’est simplement une commande info dans le virtuel et je la place dans la première case de la ligne, la même que celle comportant le nom de l’événement.
– La présentation
J’utilise la disposition Tableau pour la présentation. Voila l’entête du tableau :
Configuration général
Disposition
Nombre de lignes
13
Nombre de colonnes
3
Centrer dans les cases
Style général des cases (CSS)
border-bottom: 1px solid #AAAAAA;
Style du tableau (CSS)
width: 100%;text-align: center; -webkit-border-radius: 30px; overflow: hidden; border: 3px solid #652299;
lorsque l’on clique sur tes images, elle ne s’agrandisse pas, car parfois elles sont vraiment petites et peu lisible
C’est normal qu’elles ne s’agrandissent pas, c’est un choix de ma part (que je vais peu être revoir) mais je ne vois pas ou est ce qu’elles sont trop petite. Envoi moi un lien car sur mon écran c’est bien lisible.
Pour info sur un image tu peux faire un clique droit « Ouvrir l’image dans un nouvel onglet » pour la voir en taille réel.
Bonjour,
J’ai avancé mais encore quelques interrogations :
– Dans le virtuel l’info #sjour# m’affiche le jour puis devient 0
– Les traits de séparation n’apparaisse pas pour les noms mais bien pour valeur.
– Comment changer les types de trait, ligne par ligne
– J’ai essayé le widget avec le code affiché plus haut, mais dès que je l’applique à une heure, l’heure disparaît.
– Qu’elles couleurs as-tu utilisé dans ton tableau
J’ai voulu insérer les images pour te montrer ce que j’ai fait, mais je n’ai pas trouvé la manipulation.
Pour revenir sur ton précédent message sur les images, a ta première réponse les infos du virtuel sont petites et donc la lisibilité difficile et le « ouvrir l’image dans un nouvel onglet » n’existe pas sur firefox, mais fonctionne sur chrome.
J’espère que je n’abuse pas trop.
Bonne soirée
Bonjour,
– Dans le virtuel l’info #sjour# m’affiche le jour puis devient 0
Est ce qu’il est bien du sous type Info et Autre ?
– Les traits de séparation n’apparaisse pas pour les noms mais bien pour valeur.
Il faut mettre border-bottom: 1px solid #AAAAAA; pour avoir les lignes au bas des cases.
– Comment changer les types de trait, ligne par ligne
Il faut changer les valeurs : border-bottom: 1px pour la taille du trait et solid #AAAAAA; pour le type et la couleur.
– J’ai essayé le widget avec le code affiché plus haut, mais dès que je l’applique à une heure, l’heure disparaît.
il ne faut pas l’appliqué a une heure mais a l’état du virtuel
– Qu’elles couleurs as-tu utilisé dans ton tableau
Mon tableau est transparent la couleur c’est le fond de mon Design
Bon courage.
Guillaume.
Bonjour,
Merci pour ces dernières explications, j’ai réussi et cela va me servir pour mes futur réalisations.
Vivement ton prochain article, qui sera j’en suis sûr sera très intéressant.
Bonne journée
Super content d’avoir pu aider.
Salut,
je suis débutant…. j’ai créer un virtuel horaire avec le réglage des heures pour chaque jours et maintenant je cale sur l’exécution avec un scénario.
en fait je veux me réveiller avec la radio sur mon google home a l’heure réglé sur le virtuel.*
J’ai déjà un scénario qui règle le volume et allume la radio sur le home fonctionnel.
Merci d’avance pour ton aide
Bonjour,
Je veux bien aider mais il faudrait m’en dire plus sur le scénario. Qu’est ce qui ne fonctionne pas ?
Ben j’arrive pas a lancer la radio à l’heure que je règle sur le dashboard avec ton virtuel
Bonjour Guillaume,
Super tuto.
J’ai quelques questions.
Tu as créé des variables de type Réveil_Today.
Pourquoi tu ne t’en sert pas dans la programmation de ton scenario de réveil? cela permettrais d’avoir des choses génériques dans tes scenarios réveil et tout le traitement se ferait dans ta programmation journalière non?
Cordialement,
Laurent
Bonjour
Merci, pour info maintenant j’ai un seul scénario pour tous les jours, je ferais un article si ça intéresse quelqu’un.
Pour la variable il est possible de l’utiliser dans d’autres scénario c’est d’ailleurs se que je fais mais j’évite de mettre trop d’info dans les articles pour ne pas embrouiller les débutants.
Cordialement,
Guillaume.
Merci pour ton retour.
Je suis preneur pour ton article pour ton scenario… 😉
En attendant que met tu comme déclencheur? un truc genre « #time#==variable(Ma_Variable) » en provoqué ou tu peux mettre une programmation utilisant une variable?
Là je coince un peu…
Cordialement,
Laurent.
J’ai une seconde question, a priori a chaque refresh du navigateur, les réglages du virtuels réveil ne sont pas gardé. Tu sais d’où cela peut venir?
Cordialement,
Laurent.
Il faut bien valider avec le bouton pour que l’information soit enregistrer, si tu fais un refresh avant, les valeurs ne sont pas enregistré dans le virtuel.
Normalement je devrais avoir le temps de refaire des scénarios prochainement.
Pour le déclencheur tout est là :
https://domotique.guillaumebraillon.fr/planification-devenements-dans-jeedom-scenarios/#Les_declencheurs_du_scenario
Bonjour Guillaume,
je test en lancement manuel ton scénario « Réveil ».
J’ai mis dans la condition :
str_replace(‘:’,",#[Maison][Réveil][Lundi]#) != " " ET #[Maison][Réveil][Etat]# == 1
Peut être que j’ai fait une petite erreur en copier/coller.
Dans le log, j’ai un message :
————————————
[2018-11-09 14:09:43][SCENARIO] Start : Scenario lance manuellement.
[2018-11-09 14:09:43][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-11-09 14:09:43][SCENARIO] Evaluation de la condition : [08:00 != " " ET 1 == 1 ] = 08:00 != " " ET 1 == 1
[2018-11-09 14:09:43][SCENARIO] Expression non valide : 08:00 != " " ET 1 == 1
[2018-11-09 14:09:43][SCENARIO] Fin correcte du scénario
Je dois attendre le lundi, puisque ce scénario est pour le lundi ou ai je fais une erreur ?
Merci
Bonjour,
Je pense que c’est un problème au niveau des guillemets, il y en a qu’une car il ne devrait pas y avoir les : dans la condition c’est le but de la fonction str_replace qui supprime les : par rien d’ou les guillemets « ».
str_replace(':','',#[Maison][Réveil][Lundi]#) !="" ET #[Maison][Réveil][Etat]# == 1
En tant que contributeur tu as le script a disposition pour l’importer directement dans Jeedom.
N’hésite pas si tu as encore besoin d’aide.
Guillaume.
Salut Guillame,
j’ai un souci concernant le scenario, j’ai voulu le tester en faisant fonctionné un volet, mais ca ne marche pas et je ne comprend pas.
Peux tu m’aider?
voici le log:
0 14:20:33][SCENARIO] Start : Scenario lance manuellement.
[2018-12-30 14:20:33][SCENARIO] Exécution du sous-élément de type [action] : action
[2018-12-30 14:20:33][SCENARIO] Suppression des blocs DANS et A programmés du scénario
[2018-12-30 14:20:33][SCENARIO] Log : Début du scénario du Dimanche, on supprimes les programmations pour repartir à zéro
[2018-12-30 14:20:33][SCENARIO] Exécution du sous-élément de type [condition] : if
[2018-12-30 14:20:33][SCENARIO] Evaluation de la condition : [« Dimanche » != « Dimanche »] = Faux
[2018-12-30 14:20:33][SCENARIO] Exécution du sous-élément de type [action] : else
[2018-12-30 14:20:33][SCENARIO] Exécution d’un bloc élément : 73
[2018-12-30 14:20:33][SCENARIO] Bloc type A : 73, heure programmée invalide : 1420 != » « ET 1 == 1
[2018-12-30 14:20:33][SCENARIO] Exécution d’un bloc élément : 74
[2018-12-30 14:20:33][SCENARIO] Bloc type A : 74, heure programmée invalide : 1
[2018-12-30 14:20:33][SCENARIO] Fin correcte du scénario
et voici le scenario:
https://photos.google.com/search/_tra_/photo/AF1QipOEp7zfh8eFhccLdaTUXQ20SWzTjuUVYOcZv2PF
Bonjour,
A priori se sont les format d’heure qui ne sont pas valide :
[2018-12-30 14:20:33][SCENARIO] Bloc type A : 73, heure programmée invalide : 1420 !=" "ET 1 == 1
La photo pour le scénario ne fonctionne pas.
ok je te remercie, j’ai regarder et effectivement pour que ça marche j’ai mis ceci:
str_replace(:, ‘ ‘,#[Maison][Chauffage 22°C][Lundi]#)
et encore bonne année mais surtout bonne santé.
Merci super tuto
Appartement][Virtuel Programmation Modes Matin][Lundi]#correspond a quoi?
Merci
Steph
Bonjour,
Ça correspond a la commande info qui récupère l’heure pour le mode matin les lundis.
Bonsoir,
Est-il possible d’avoir une vue du virtuel de programmation des modes ?
Merci
Bonsoir,
Il n’y a pas ce que tu cherche sur la première partie ?
https://domotique.guillaumebraillon.fr/planification-devenements-jeedom-virtuel-widgets/
Bonjour,
En lisant tes différents scénarios je me dis que la marche est encore très haute lol, j’y arriverai un jour, j’y arriverai …. c’est… OK j’arrête petite seconde de relâchement lol.
J’ai une question non sur la mise en forme mais sur le contenu: serait il possible d’insérer une question via télégram pour confirmer l’heure indiquée dans le virtuel réveil?
Cas concret j’ai indiqué 5h30 le réveil de mon épouse (oui madame se réveille de bonheur, lol) j’aimerais savoir s’il est possible de confirmer l’heure ou bien que l’heure puisse être modifiée via télégram? Je ne suis pas à l’abris qu’un impondérable vienne remettre en question les heures indiquées dans chacuns de mes virtuels ;-).
Merci pour d’avance…
Bonjour,
En y allant doucement je suis sur que tu vas y arriver 😀
Sinon pour t’as question pas de problème il suffit de mettre un commande envoi vers télégram ou même via SMS dans le scénario d’enregistrement des valeurs.
Si tu as besoin d’aide pour maîtriser un peu plus les scénarios je propose de l’assistance.
https://assistance.ladomopratique.com/
N’hésite pas a laisser un autre commentaire si tu as besoin d’autres renseignements.
Bon journée.
Guillaume.
Bonjour,
Je ne sais pas si ce fil est encore actif mais je tente le coups …
Dans tous les cas, merci pour les 2 super tutos, je m’en suis largement inspiré pour mes besoins. A savoir, chaque membre de la famille peut régler les horaires d’ouverture et de fermeture de ses volets en fonctions de son emploi du temps.
Cependant, l’affichage (mode desktop) sur mon téléphone ne me permet pas d’accéder à tout le widget (je ne vois pas les jours après le jeudi) et il n’y a pas de scrollbar horizontal. J’ai raté quelquechose ?
Par avance merci.
Bonjour et merci pour votre message, le blog est un peu en stand by car j’ai beaucoup de boulot en ce moment, désolé.
Pour le problème d’affichage je ne suis pas sur de comprendre. Chez moi j’utilise aussi le mode desktop et je n’ai pas de problème pour voir le widget. Est ce que le problème ne vient pas du design plutôt ? Normalement on peut déplacer de droite à gauche et de haut en bas. N’hésitez pas à m’envoyer une capture d’écran par mail si vous ne trouvez pas.
Bonne journée.
Guillaume.
Bonsoir,
J’ai le même souci que thivent, le scénario lancé, j’ai le même message d’erreur : Expression non valide
str_replace(‘:’, « ,#[Maison][Réveil][Mardi]# != » » ET #[Maison][Réveil][Etat]# == 1
Je sèche depuis 2J 🙁
Merci d’avance.
Bonjour, Je dirai un problème de guillemets.
C’est ce que je pense mais je ne vois pas où. J’ai vérifier par rapport à la tienne, je ne vois aucune différence, voici la tienne: str_replace(‘:’, »,#[Appartement][Virtuel Réveil][Lundi]#) != » » ET #[Appartement][Virtuel Réveil][Etat]# == 1.
La mienne: str_replace(‘ : ‘ , »,#[Maison][Réveil][Lundi]# != » » ET #[Maison][Réveil][Etat]# == 1.
Une Idée?
Merci pour ton super boulot, très bien expliqué.
Le problème c’est que dans les commentaires du site les guillemets sont transformés en chevrons du je ne peux pas voir.
Sur l’image c’est les bons :
https://domotique.guillaumebraillon.fr/wp-content/uploads/2018/06/Scenario-programmation-22-1024×205.png