Scénario Jeedom: Anticiper les retards sur son trajet pour le travail

19

Soyons honnête, il n’y a rien de pire que de commencer sa journée en arrivant en retard à son travail. Moi en tout cas ça me fait cet effet là. J’habite en France dans une petite ville et mon lieu de travail se trouve à 30 min en voiture en Belgique dans une grosse ville. Malgré le fait que mon lieu de travail ne soit qu’à 30 min, il arrive régulièrement des aléas divers et variés sur mon trajet habituel. Aujourd’hui c’est une circulation plus dense que d’habitude à cause d’une grève de transport et demain ce sera une déviation pour cause de travaux ou à cause d’un accident.

Anticiper les retards, calculer un temps de trajet suivant les conditions de route et même prévoir et connaître les prévisions de route pour les jours à venir… Tous ces services se sont très largement améliorés depuis ces dernières années. Et des applications comme « Google Maps Direction » ou « Waze » offrent ces opportunités, et gratuitement en plus.

Je vous propose donc d’exploiter l’un de ces services dans un scénario sur votre box domotique Jeedom qui consistera à calculer votre temps de trajet à un instant « T » et à en déduire par un système de notification s’il y a du retard sur votre trajet, tout cela de manière automatisée. Votre peine d’arriver en retard sur votre lieu de travail sera un lointain souvenir.

I. Prérequis

Vous aurez besoin pour réaliser cela d’une box domotique sous Jeedom, de votre smartphone et c’est tout :-).

Pour la conception de votre scénario sur Jeedom, vous aurez besoin d’installer 2 paquets depuis le market de Jeedom qui sont gratuits, à savoir :

tutojeedom01Google Maps Direction (ou Waze si vous le préférez à Google) qui nous permettra de créer des trajets et de récupérer les différentes informations qu’ils peuvent nous offrir. J’utilise personnellement Google Maps Directions mais l’interface de plugin de Waze est assez semblable si vous préférez l’utiliser.

tutojeedom02PushBullet qui est un service permettant de relier tous vos appareils (ordinateurs et smartphones) entre eux afin de pouvoir les faire communiquer. L’intérêt est que Jeedom utilisera ce service comme l’un de vos appareils pour envoyer des notifications directement sur votre smartphone. C’est gratuit et exactement ce qu’il nous faut.

II. Configuration de Pushbullet

Nous allons commencer par la configuration de Pushbullet sur Jeedom, vous allez voir c’est très simple. Quand vous l’avez installé, allez sur le plugin et cliquez sur le gros bouton vert « ajouter » et nommez-le par exemple « Notification Pushbullet ». Vous tomberez sur cette page :

tutojeedom03Pour que le plugin fonctionne, vous aurez besoin d’un token pour Pushbullet, ça veut donc dire également un compte sur ce service. Gardez votre page active et ouvrez un nouvel onglet dans votre navigateur préféré et rendez-vous sur ce site : https://www.pushbullet.com et cliquez sur « Sign In » :

tutojeedom04Petite aparté : j’ai un seul reproche à faire à Pushbullet c’est son système d’inscription qui est ultra bridé. On a juste le choix de s’inscrire via un compte Google ou bien par un compte Facebook. C’est trop peu à mon goût :/

Choisissez votre méthode d’inscription. L’inscription est très rapide, vous tomberez sur un dashboard où vous devrez cliquer sur Settings > Account et enfin cliquer sur le bouton « create access token » dans la partie « Access Tokens » :

tutojeedom05Votre token apparaîtra à l’écran :

tutojeedom06Copiez-le et collez-le dans le champ token de votre page Jeedom que vous avez laissé ouverte et remplissez le champ « Nom du device Jeedom » comme dans cet exemple (N’oubliez pas d’activer votre équipement et le rendre visible !)  :

tutojeedom07Ne cliquez pas tout de suite sur le bouton « Sauvegarder » ! Prenez votre smartphone et téléchargez l’application Pushbullet, elle est disponible sur le Google Play Store et sur l’App Store (désolé pour les utilisateurs des Windows Phone :-(). Connectez-vous à l’application de la même manière que sur votre navigateur Web. Une fois fait, vous pouvez cliquer sur « Sauvegarder » :

tutojeedom08Si vous avez fait les choses correctement, vous allez voir apparaître vos 2 appareils : votre box domotique Jeedom , votre smartphone mais aussi une ligne tous les devices :

tutojeedom09

III. Création de votre trajet domicile-travail avec le plugin Google Maps Direction

Maintenant que notre service de notification est configuré, créons notre trajet. Allez sur le plugin en question. Si vous avez choisi Waze, ne vous inquiétez pas, l’interface est très similaire. Comme pour Pushbullet, cliquez sur le gros bouton vert « Ajouter » et nommez le « Travail » par exemple :

tutojeedom10N’oubliez pas d’activer votre équipement et de le rendre visible ! Pour votre trajet vous allez devoir renseigner la latitude et la longitude de vos 2 points qui constitueront votre trajet. Heureusement, le concepteur du plugin a laissé un lien pour trouver les coordonnées de votre point « domicile » et de votre point « lieu de travail ».

tutojeedom11

tutojeedom12Nous utiliserons pour notre scénario les lignes Durée 1, 2 et 3, Rafraîchir, Trajet 1, 2 et 3.

Configurez le tableau de commande comme suit et cliquez sur « Sauvegarder ». C’est tout votre trajet est configuré :-)

IV. Implémentation de votre trajet et de Pushbullet dans un scénario

C’est le moment de sceller vos 2 briques. Créez un nouveau scénario et nommez le « Temps de trajet pour le travail ». Les valeurs que je vais vous donner s’appliquent pour mon trajet et mes horaires de travail. A vous de les adapter selon vos besoins.

Je travaille du lundi au vendredi et je commence à 8h30 tous les matins. Comme je vous l’ai dit, mon trajet fait 30 min. Il faut donc que j’anticipe mon trajet bien avant 8h sinon le scénario n’aurait pas de sens. J’ai donc programmé mon scénario à 2 heures différentes (7h et 7h45) pour chacun des jours de la semaine où je travaille, ce qui me donne ces 10 lignes de jours/heures programmées en mode de scénario « programmé » :

tutojeedom13Je vérifie mon temps de trajet une première fois 1h avant de me mettre en route. Comme ça si à 7h il y a déjà du retard je sais que je ne dois pas lambiner pour me préparer ce matin mais accélérer un peu le mouvement :D. Enfin je vérifie une deuxième fois mon trajet 15 min avant de me mettre en route me laissant ainsi une marge de 15 min supplémentaires pour effectuer mon trajet s’il y a du retard. A vous de choisir vos heures et vos jours. Vous pouvez très bien choisir qu’une seule heure par jour travaillé, c’est vous qui voyez.

Et maintenant, voici la définition même du scénario :

tutojeedom14On commence par créer une action où vous allez sélectionner la commande de votre trajet de travail créé précédemment avec l’action « rafraîchir » pour être sûr d’avoir des données à jour.

Ensuite on ajoute une condition « SI » où l’on va tester la valeur de la durée du trajet 1 (Durée 1). Au passage le trajet 1 est le trajet le plus rapide. Le 2 et le 3 sont des trajets alternatifs.

J’ai estimé par Google que mon trajet habituel sans encombre faisait 28 min. J’ai donc mis une marge de 7 min pour considérer mon temps de trajet comme un retard. La condition vérifie si mon trajet est donc supérieur à ces 35 min. Si c’est le cas, elle exécute une action qui est de me le notifier par Pushbullet. Là encore sélectionnez la commande de Pushbullet que vous avez créé et choisissez votre smartphone :

tutojeedom15Un champ « Titre » et « Message » vont apparaître. Le titre s’affichera dans les notifications de votre smartphone et lorsque vous cliquerez dessus vous pourrez voir le contenu du message.

Voici le titre que j’ai choisi :

« Temps de trajet évalué à #[Dashboard][Travail][Durée 1]# min – risque de retard »

Comme ça je sais directement quand la notification apparaît quel est le nouveau temps de mon trajet.

Et le message:

Alternative :

– Trajet 2 : #[Dashboard][Travail][Trajet 2]# – #[Dashboard][Travail][Durée 2]# min

– Trajet 3 : #[Dashboard][Travail][Trajet 3]# – #[Dashboard][Travail][Durée 3]# min

Configuré de cette façon, je sais le nouveau temps pour faire mon trajet le matin ainsi que les 2 trajets alternatifs proposés avec leur durées. Bien évidemment, vous pouvez changer le contenu de la notification suivant vos besoins.

Il ne vous reste plus qu’à « sauvegarder » votre scénario et à le « tester ». Le plus simple pour tester est de diminuer le point de comparaison. Dans mon cas, j’ai mis 25 au lieu de 35 pour tester que le système était fonctionnel.

Voici 2 captures vous montrant la notification sur mon smartphone ainsi que son contenu :

tutojeedom16 tutojeedom17

Voilà ! Avec cela votre maison vous préviendra des allongements de votre temps de trajet et vous n’aurez (malheureusement) plus d’excuses pour arriver en retard au travail :-).

Partager

19 commentaires

  1. Salut,

    Merci pour ton article, ca aidera plus d’un.
    Sinon pour gagner en lisibilité, remplace tes 10 crons par ces 2 là

    0 7 * * 1-5
    45 7 * * 1-5

    le 1-5 veut dire du lundi au vendredi

    Jax24fr

  2. Bonjour Giovani,

    Merci pour ton commentaire :).

    Je suis d’accord avec toi pour tes 2 lignes qui sont bien plus optimisées que mes 10 lignes. J’ai volontairement mis en place ces 10 lignes car c’est la seule possibilité que Jeedom donne avec ses listes déroulantes pour l’aide à la conception d’une tâche cron (pour quelqu’un ne maitrisant pas les syntaxes cron). Mais pour quelqu’un qui les maîtrise comme toi, c’est beaucoup mieux de le faire ainsi ;-)

  3. Bonjour,
    Je l’avais déjà fais avec le lien « obtenir une clé » dans la config du plugin mais ca ne marchait pas…
    Je l’ai refait avec le lien de la doc du plugin et là ca marche ^^
    Merci !

  4. Bonjour,
    Ça ne marche pas non plus pour moi avec le lien dans la config du plugin, les 3 trajets sont sans informations.
    J’essaierai ce soir avec le lien de la doc du plugin.
    Merci pour l’info.
    Il faudrait le signaler à l’auteur du plugin pour qu’il le corrige.

  5. Je viens de regénérer une clé API à partir du lien de la documentation mais j’arrive au même résultat, toujours aucune information
    Je ne vois vraiment pas pourquoi ça ne fonctionne pas :-(

  6. Bonjour David,

    As-tu essayer de calculer d’autres points de trajets autres que les tiens ? Arrives-tu au même résultat ?

    Dans les paramètres du plugins, tu as la possibilité d’activer les logs. Que disent tes logs?

  7. Bonjour, merci pour ce super tuto, moi je suis arrivé au niveau du scénario, comment fais tu ou trouves pour les notifications ? je suis bloqué a ce niveau :(
    Merci

    • Bonjour Alain,

      Je n’ai pas bien compris ta question mais au niveau des notifications moi j’utilise le plugin PushBullet qu’il au préalable télécharger et configurer comme dans ce tutoriel.

      Une fois que tu l’auras fait tu pourras utiliser ce service de notifications par tes scénarios.

      Bien à toi,

  8. Hello Gaëtan,

    Merci de ton retour :), en faite la notification pushbullet ne s’affichait pas au début, après ca été bon :), pour cela que je ne comprenais pas d’ou venait la notif :)

    Par contre, comment savons nous quand ca marche ? ce matin je n’ai pas eu de notif particulière sur le trajet .

    • Quel est ta condition dans ton scénario concernant la durée de ton trajet ? Ton trajet fait combien en durée habituellement ?

      Si ton trajet fait en durée habituelle 20 min et que dans ta condition tu as mis 25 alors lorsque ton trajet s’allongera de plus de 25 min tu recevra la notification suivant le déclenchement de ton scénario.

      Pour tester sur 1-2 jours que ton scénario fonctionne et se déclenche bien, tu as juste mettre une durée inférieure à la durée de ton trajet dans ta condition

  9. J’ai modifié comme demandé, je vais le tester un jour ou deux :)

    je met 15 minutes en moyenne pour aller de la maison au travail .

    Dans la condition j’ai mis 5, ca devrait prendre en compte 15+5 ????

    Lol est-ce bien cela ?

    Merci beaucoup du retour :)

    • Ta condition doit ressembler à : #[Dashboard][Trajet Travail][Durée 1]# > 20

      Soit 20 pour ton temps de trajet de 15 min + 5 min où tu commences à considérer qu’il y a un retard sur ton trajet.

      Si tu veux tester que ton système fonctionne, tu as juste à changer la valeur 20 en 10 par exemple. Comme 10 sera plus petit que 15, ton scénario va envoyer ta notification. Tu peux utiliser le bouton Exécuter dans ton scénario pour le déclencher manuellement et voir ce qu’il se passe.

      Si tout est ok, tu remets la valeur à 20 dans ta condition.

      • Salut Gaëtan,

        J’ai fait comme tu as dit :)

        Demain je test le trajet en partant avec 10 dans le scénario .

        Juste pour être sur de ceux que j’annonce, dans la programmation j’ai bien mis par ex:

        09**1 pour 9h le jour 1 jusqu’a 6 jours

        45 9**1 pour 9h45 le jour 1 jusqu’a 6 jours

        On est toujours d’accord ?

        :)

      • Euh non la ta programmation veut dire que ca va s’exécuter que le lundi dans les 2 cas.

        Si tu veux du lundi au samedi c’est comme ça :

        – 09**1-6

        – 45 9**1-6

Répondre à Gaëtan Cottrez Annuler la réponse.

Ne ratez plus aucune news !

Inscrivez vous à notre newsletter, et recevez chaque mois toute l'actualité du blog pour ne plus rien louper: actualité, guides, tutoriaux, concours !

Merci pour votre inscription !