Bonjour à tous ! Aujourd’hui on va voir une des méthodes pour une problématique bien courante en domotique. Je précise bien « UNE » des méthodes, en effet on verra d’autres articles montrant d’autres méthodes. Il s’agit de pouvoir synchroniser son réveil avec Jeedom et Tasker sur Androïd. Vous l’avez compris l’idée est de mettre au courant votre solution domotique de l’heure programmée pour votre réveil sur votre téléphone. En effet un bon 95% des personnes utilisent leur téléphone comme moyen de se réveiller.

Synchroniser son réveil avec Jeedom et Tasker

Contexte

Vous voulez déclencher des choses avant votre réveil, vous assurer un réveil en douceur :

  • café prêt
  • sèche serviette chaud
  • volet entre ouvert pour être réveillé par la lumière du soleil
  • lumière tamisée dans la chambre
  • musique diffusée partout dans la maison

Bref pour résumer vous voulez que votre domotique puisse anticiper votre réveil. Afin de vous réveiller de la meilleure manière qu’il soit et non pas comme ceci :

Synchroniser son réveil avec Jeedom et Tasker

Alors pour cela il y a une solution consistant à programmer des actions à des heures précises, mais au final on a toujours les exceptions qui font que généralement ça donne ça …. Mais si vous savez le réveil en furie alors que c’était le jour de la grasse matinée :Synchroniser son réveil avec Jeedom et Tasker

Donc le moyen fiable de pouvoir réaliser tout cela c’est de rendre dynamique l’heure de réveil en fonction de votre réveil. Donc comme je l’ai dis en introduction, il y a plusieurs façons de procéder, je vous en montrerai plusieurs. Mais aujourd’hui nous allons voir comment synchroniser votre réveil avec Jeedom et Tasker.

Synchroniser son réveil avec Jeedom et Tasker

Tasker mais c’est quoi ?

Alors je vais pas décrire ce qu’est Tasker, ce n’est pas le but de l’article. Mais pour ceux qui ignoreraient complètement ce que c’est il faut voir cela comme un logiciel de création de scénario sur votre téléphone. Il en existe plusieurs, on retrouve le très connu Automate dans cette catégorie. D’ailleurs très prochainement je vous montrerai comment utiliser Automate pour la même chose.

Que faut-il ?

Alors pour ce tuto il vous faut plusieurs choses :

  • un téléphone Androïd
  • que vous vous serviez de celui-ci pour régler votre réveil
  • l’application tasker
  • le plugin tasker Auto Alarm
  • et bien évidemment Jeedom ou toute autre solution domotique avec une api http
  • dans le cas de Jeedom, le plugin Virtuel

Première étape : Création du virtuel dans Jeedom

Synchroniser son réveil avec Jeedom et Tasker

Pour commencer on va créer un virtuel qui recevra donc les infos nécessaires :

Synchroniser son réveil avec Jeedom et Tasker

On retrouve plusieurs infos (la plupart n’étant pas affichée) :

  • Heure : ce sera l’heure du réveil au format  08:30, principalement pour l’affichage
  • Date : ce sera une date complète du prochain réveil
  • Heure tech : ce sera juste l’heure du réveil : ex : 08
  • Minute tech : ce sera la partie minute du réveil : ex : 30
  • Minutes jusqu’à : ce sera le nombre de minutes jusqu’au prochain réveil au moment de la réception
  • Jours : le nombre de jour jusqu’au réveil : 0 si c’est le jour courant

Voilà notre virtuel est prêt. Notez bien l’ensemble des Ids que vous retrouvez sur la première colonne ils nous serviront pour la suite.

Deuxième étape : Tasker

Alors, je pars du principe que vous avez Tasker d’installé et le plugin AutoAlarm d’installé et que vous l’avez lancé au moins une fois.

Création de la tâche :

On va donc créer une tâche dans Tasker qui ira chercher les infos d’alarme et les enverra à Jeedom.

Synchroniser son réveil avec Jeedom et Tasker

Vous inquiétez pas on va décrire tout ça.

  1. AutoAlarm : c’est une action Plugin de tasker qui ira chercher les infos. Important il faut mettre un délai de 3 secondes en bas. Une suffit mais je préfère mettre 3.
  2. Une condition Si qui vérifie si la variable %taskertime est affectée (en gros y a t il un prochain réveil)

Synchroniser son réveil avec Jeedom et Tasker

En 3) c’est du débug qui permet d’afficher un petit message à l’écran de ce genre :

Synchroniser son réveil avec Jeedom et Tasker

Ensuite de 4 à 9 ce sont les envois des différentes infos à Jeedom

Avec dans l’ordre :

L’heure :

https://URLJEEDOM/core/api/jeeApi.php?apikey=APIKEYJEEDOM&type=virtual&id=IDCMD&value=%taskertime

Avec bien entendu :

  • http ou https selon votre cas
  • URLJEEDOM à remplacer par l’url de votre Jeedom
  • APIKEYJEEDOM à remplacer par l’apikey de votre Jeedom
  • IDCMD à remplacer par l’id de la commande en l’occurence celle de l’heure
L’heure technique :

Exactement comme précédemment en remplaçant %taskertime par %hour et en remplaçant IDCMD par la commande heure tech.

La minute technique :

Exactement comme l’heure en remplaçant %taskertime par %minute et en remplaçant IDCMD par la commande minute tech.

Minutes jusqu’à :

Exactement comme l’heure en remplaçant %taskertime par %minutes et en remplaçant IDCMD par la commande minutes jusqu’à.

Jours :

Exactement comme l’heure en remplaçant %taskertime par %daysc et en remplaçant IDCMD par la commande jours.

Et enfin date:

Alors ici c’est particulier il faut remplacer IDCMD par la commande date bien évidemment et %taskertime par :

%day/%month/%year-%raw-%daysc

J’insiste sur un point, il faut absolument que l’envoi date soit le dernier de la liste. En effet c’est lui qui va lancer le scénario et comme ça on est sûr que les autres infos sont à jour quand lui est mis à jour.

La partie sinon de la tâche affiche un debug « Rien à  faire »:

Synchroniser son réveil avec Jeedom et Tasker

Et envoie à la commande date (la même commande que la dernière au dessus) ceci :

https://URLJEEDOM/core/api/jeeApi.php?apikey=APIKEYJEEDOM&type=virtual&id=IDCMD&value=Aucun

Cela permettra en cas de désactivation d’une Alarme en cours de prévenir Jeedom afin que lui aussi annule ce qu’il avait prévu de faire.

A partir de maintenant on peut lancer sa tâche pour tester en cliquant sur « Play » tout en bas. Si tout va bien vous devriez voir ceci sur votre dashboard :

Synchroniser son réveil avec Jeedom et Tasker

Automatisation :

Alors bien évidemment, l’idée n’est pas d’aller lancer systématiquement la tâche manuellement sinon cela perd de son intérêt. Nous allons donc créer deux profils dans Tasker.

Le premier est un profil de type Application et il faudra choisir l’application Horloge. Et en action il faudra choisir la tâche que l’on vient de créer. Par contre attention par défaut il mettra la tâche en entrée avec une flèche verte. Il faudra appuyer longuement dessus pour cliquer sur « Déplacer vers sortir ». Vous devriez obtenir ceci :

Synchroniser son réveil avec Jeedom et Tasker

Et enfin on va créer une autre tâche qui va se lancer toutes les nuits entre 22h et 6h du matin (toutes les 2 heures).  Ça sera donc un profil « Heure ». Dans ce cas précis on laissera notre tâche en entrée. Vous devriez donc obtenir ceci :

Synchroniser son réveil avec Jeedom et Tasker

 

Voilà vous avez finis pour la partie Tasker. Alors pourquoi faire deux profils. Tout simplement car il faut que Jeedom soit informé si vous changez votre réveil dans l’application horloge (ou si vous le désactivez). Mais dans le cas d’alarme récursive « Tous les jours de la semaine », il faut aussi que Jeedom soit mis au courant car vous n’irez plus sur l’application horloge. Voilà pourquoi je fais le profil d’envoie la nuit. Et j’assure le coup du téléphone déchargée en rentrée de soirée en le faisant toutes les 2h entre 22h et 6h.

Donc voilà à partir de maintenant votre solution domotique est systématiquement au courant de l’heure de votre prochain réveil. Voyons ce qu’on peut en faire.

Scénario de réveil

Alors l’idée dans tous ça c’est bien évidemment de faire faire des choses à sa domotique avec toutes ces infos. Alors c’est partie :

Synchroniser son réveil avec Jeedom et Tasker

Commençons par le commencement :

Synchroniser son réveil avec Jeedom et Tasker

Alors au début il y a eu le Big Bang ensuite …. Quoi ? Ah oui je m’égare pardon.

Donc pour commencer il faut un déclencheur à notre scénario.

Le déclencheur

Synchroniser son réveil avec Jeedom et Tasker

Alors si vous avez suivi, vous avez du noté que c’est la fameuse commande date qui va servir de déclencheur de scénario. C’est la raison pour laquelle elle contient tout un tas d’infos qui vont permettre de la rendre unique et éviter ainsi de jouer avec la répétition dans les scénarios.

Le scénario

Alors concernant le scénario il y a pas de miracles, chacun aura ses propres besoins. Mais je vais vous détailler le mien pour vous donner des astuces notamment quelques fonctions que j’utilise.

Vous avez dû le remarquer je remonte plein d’infos. Je ne les utiliserai pas toutes mais au moins si besoin elles sont là.

Synchroniser son réveil avec Jeedom et Tasker

Alors voilà mon scénario qui je pense répond aux besoins que l’on peut avoir quand on parle de réveil et domotique à savoir :

  •  faire des actions anticipées que ce soit pour préparer un café, le chauffage ou même aider au réveil en ajustant les volets ou la lumière de la chambre.

Donc j’explique le scénario et après ça sera à vous de faire ce que vous voulez comme action :

Le bloc SI

SI #[Chambre Parentale][Réveil Ludo][Jours]# == 0 ET #[Chambre Parentale][Réveil Ludo][Date]# != « Aucun »

Là c’est simple je vérifie simplement deux choses :

  • le nombre de jours jusqu’au prochain réveil est il à 0 (je vous rappelle que la nuit est envoyé le réveil)
  • et la date n’est pas à « Aucun » (oui sur notre tâche tasker c’est le sinon dans le cas ou on annule un réveil par exemple)

Alors

La première chose que je fais je supprime toutes les éventuelles actions DANS ET A qui auraient été programmé au préalable sur ce scénario avec :

remove_inat

Ensuite je prépare mes différentes planifications 20 minutes avant, 10 minutes avant etc…

Pour cela j’utilise un bloc A avec :

time_op(str_replace(‘:’, »,#[Chambre Parentale][Réveil Ludo][Heure]#),-20)

  • La fonction time_op permet d’enlever 20 minutes à l’heure de réveil
  • la fonction str_replace permet de remplacer les : par rien pour que 8:30 devienne 830

Vous pouvez bien évidemment adapter le -20 comme bon vous semble. Une autre façon de procéder est d’utiliser le bloc DANS puisqu’effectivement nous avons aussi à disposition l’information nombres de minutes jusqu’au réveil.

Dans mon cas j’appelle un scénario qui gère pas mal de choses notamment mes lampes de chevet Yeelight. Mais aussi le café, le sèche serviette, les volets etc… Ici chacun mettra bien évidemment ce qu’il souhaite. Vous pouvez même vous envoyer une notif, faire vibrer un miband 1S et bien d’autres.

Sinon

Alors dans le cas où vous vous lèveriez plus tôt et que vous coupiez le réveil alors que les tâches DANS et A du scénario sont programmés, le bloc sinon permet de les supprimer ici aussi avec l’action :

remove_inat

Conclusion

Voilà, il était difficile pour moi de rendre ce tuto le plus amusant possible. Mais j’espère qu’en le relisant et en procédant par étape vous arriverez à faire des choses sympathiques. En tout cas normalement vous avez toutes les clés en main pour faire ces choses. Bien évidemment vous pouvez faire ça pour chaque membre de votre famille si elle a un smartphone et s’en sert pour son réveil. Il suffira de créer un virtuel pour chaque membre et un scénario pour chacun.

A vous de jouer !!



Partager sur :

Infos de l'auteur

Je m’appelle Ludovic Sarakha j’ai 32 ans et je suis habitant de Clermont-Ferrand. Concernant les études il faut savoir que bien que j’ai travaillé dans l’informatique (SSII internationale) et maintenant dans la domotique, j’ai un doctorat de Chimie des matériaux. Je suis un autodidacte passioné d'informatique, de domotique et de tout ce qui tourne autour des objets connectés

63 commentaires

  1. Bonjour,
    Tout est bien paramétré, ça fonctionne quelques jours et un matin mon scénario ne se lance pas. Ca semble venir de Tasker.
    Par exemple mon réveil est mis à 6H55 toute la semaine. Lundi et mardi matin tout à bien fonctionné et ce matin rien… Alors que je n’ai pas été sur l’appli horloge modifier quelque chose.
    Je consulte mon log, je constate qu’à 22h il y a bien une requête de Tasker mais qui indique « aucun » alors que j’ai bien mon réveil de programmé. Par contre rien à 00H ni 2H ni 4H ni 6H.
    Ce matin je vais donc sur l’appli horloge, je ne modifie rien et je quitte. La j’envoi une requête à jeedom et j’ai bien une date pour le lendemain.
    Ca semble être aléatoire.
    Voici mon log:
    [2018-08-21 22:00:02][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Appartement][Reveil][Date].
    [2018-08-21 22:00:02][SCENARIO] Exécution du sous-élément de type [condition] : if
    [2018-08-21 22:00:02][SCENARIO] Evaluation de la condition : [0 == 0 ET « Aucun » != « Aucun »] = Faux
    [2018-08-21 22:00:02][SCENARIO] Exécution du sous-élément de type [action] : else
    [2018-08-21 22:00:02][SCENARIO] Exécution d’un bloc élément : 20
    [2018-08-21 22:00:02][SCENARIO] Tâche : 20 programmée à : 2018-08-22 08:00:00
    [2018-08-21 22:00:02][SCENARIO] Suppression des blocs DANS et A programmés du scénario
    [2018-08-21 22:00:02][SCENARIO] Fin correcte du scénario
    ————————————
    [2018-08-22 08:23:19][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Appartement][Reveil][Date].
    [2018-08-22 08:23:19][SCENARIO] Exécution du sous-élément de type [condition] : if
    [2018-08-22 08:23:19][SCENARIO] Evaluation de la condition : [0 == 0 ET « 23/8/2018-jeu. 06:55–0 » != « Aucun »] = Vrai
    [2018-08-22 08:23:19][SCENARIO] Exécution du sous-élément de type [action] : then
    [2018-08-22 08:23:19][SCENARIO] Suppression des blocs DANS et A programmés du scénario
    [2018-08-22 08:23:19][SCENARIO] Exécution d’un bloc élément : 2
    [2018-08-22 08:23:19][SCENARIO] Tâche : 2 programmée à : 2018-08-23 06:54:00
    [2018-08-22 08:23:19][SCENARIO] Exécution d’un bloc élément : 10
    [2018-08-22 08:23:19][SCENARIO] Tâche : 10 programmée à : 2018-08-23 06:55:00
    [2018-08-22 08:23:19][SCENARIO] Fin correcte du scénario

    Si quelqu’un a une piste 🙂

    Merci d’avance

    Clément

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.