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 scenarios.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 redit, malgré 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 suivant.

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 matinCe scénario à la structure la plus simple. Le changement du mode nuit au mode matin est effectué automatiquement en fonction de l’heure configuré.
    • 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 EcoleCe 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 planification d’événements. A 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 lundi 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 si il y a une minuterie. Dans l’exemple du réveil que nous avons vu dans l’article précédent il y a un minuterie. Nous allons donc faire 3 commandes.

  • Cliquer 3 fois sur le bouton + Déclencheur.
  • Cliquer sur l’icone Choisir une commande de la première commande.
  • Rechercher votre Virtuel Réveil.
  • Sélectionner la commande Etat.
  • Valider
  • Cliquer sur l’icone Choisir une commande de la seconde commande.
  • Rechercher votre Virtuel Réveil.
  • Sélectionner la commande Lundi.
  • Cliquer sur l’icone 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 commandes. Trop long et trop de risques d’erreurs.

Exemple pour une commande Action du Virtuel trop long et trop risqué.

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 soucis de clarté, mais je vous conseille d’en ajouter pour vous aidez à 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 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îchi ensuite. Si vous ne souhaitez pas ce type de virtuel, vous pouvez laisser le SINON vide.

Virtuel récapitulatif journalier

É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.

A (Hmm) « time_op(str_replace(‘:’, »,#[Appartement][Virtuel Réveil][Lundi]#),-#[Appartement][Virtuel Réveil][Minuteur]#) » FAIRE

Donc, si on a un horaire saisit et que l’événement est activé, alors on programme l’heure d’exécution à l’horaire saisit, 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 : Permet 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 soient 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élais 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 A Hmm en supprimant le time_op :

  • "str_replace(':','',#[Appartement][Virtuel Programmation Modes Matin][Lundi]#)"

Événement Ecole

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

A (Hmm) « time_op(str_replace(‘:’, »,#[Appartement][Virtuel Programmation Ecole][Lundi]#),-#[Appartement][Virtuel Programmation Ecole][Minuteur]#) » FAIRE

Comme pour tout les événements :

  • On vérifie qu’il y ait bien un horaire de saisi pour l’événement, ici Ecole du lundi.
  • On vérifie aussi que l’événement Ecole 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 soient 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.

A (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 A 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 du 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 la non plus !
Nous allons plutôt utiliser la fonction Template.

La fonction exporter 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énement 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.

A 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 scenarios cliquer 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 « Etes-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 à 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.

Ç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 besoins d’aide, ou que je précise les points qui le nécessiteraient, comme je l’ai fait sur la première partie.

A 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. 🙂

Cet article a 19 commentaires

  1. 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

    1. Bonjour,
      Désolé j’avais lu et oublié de répondre.
      Le virtuel comporte juste des infos avec les variables comme valeur :
      Virtuel
      Le 1er info c’est pour avoir le jour de la semaine.
      Ça donne donc ça :
      virtuel
      N’hésite pas si tu as besoin.

      1. 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.

        1. 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.

          1. 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

          2. 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.

          3. 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

          4. 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

          5. Bonjour,
            Je veux bien aider mais il faudrait m’en dire plus sur le scénario. Qu’est ce qui ne fonctionne pas ?

          6. Ben j’arrive pas a lancer la radio à l’heure que je règle sur le dashboard avec ton virtuel

  2. 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

    1. 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.

      1. 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.

  3. 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.

    1. 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.

  4. 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

    1. 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.

Laisser un commentaire

Merci à ceux qui ont contribué,
votre don contribuera à fournir encore plus de contenu de qualité.

Pour l’envoi du mot de passe pensez à me fournir une adresse mail valide et à vérifier le dossier spam de votre messagerie. Ajoutez ma carte de visite.

Fermer le menu