[Idée du WE] Afficher trajet en temps réel sur Tablette Murale

Je voulais partager avec la communauté la mise en œuvre d’une idée que j’ai eu ce weekend à la fois pour

  • que cela vous donne des idées pour détourner l’idée pour d’autres projets
  • que cela vous serve si vous voulez faire pareil
  • que vous réagissiez si vous avez des idées pour faire mieux/plus simple

Objectif

Lorsque vous êtes en route en voiture, vélo, trottinette ou gyroscope, prévenir “votre maison” et afficher sur une tablette murale votre trajet en temps réel

Alors, c’est parti !

Fonctionnement Global

Quand vous démarrez votre trajet dans l’application Glympse sur le portable que vous gardez sur vous et que vous envoyez le trajet par SMS à votre jeedom

Jeedom interprète ce SMS par une interaction et lance un script permettant de placer l’URL unique de votre trajet dans la configuration d’un design, via le plugin HTML Display. Vous affichez ce design sur la tablette.

Le trajet apparaît en temps réel sur votre Tablette Murale sous forme de page HTML (tada !)

Moyens de mise en oeuvre

Pour réaliser cela, j’ai du mettre en oeuvre

  • Application Glympse (Android + IOS) : permet de suivre le trajet et de le communiquer le lien par différents moyens. (SMS dans notre cas)

  • JPI + PAW :

    • sur un téléphone android pour recevoir le SMS et le transmettre à Jeedom
    • sur une tablette murale pour afficher le trajet
  • Plusieurs modules et plugins au sein de Jeedom :

    • le plugin JPI pour communiquer avec le téléphone passerelle et la tablette murale
    • le plugin HTML Display pour afficher la page Web sur le design
    • le plugin Script pour la tuyauterie
    • divers plugins pour “prévenir” les membres de la maison : GoogleCast, Telegram, Pushbullet, Xiaomi Home,… (dépends de votre équipement)
  • un accès ssh au serveur Jeedom

Paramétrage

JPI + PAW :

Je vous renvoie vers les très bons tutos dispo un peu partout (Google est ton ami) car je ne ferai pas mieux ici…

Rien de spécial dans notre cas, à faire à part permettre le transfert des SMS entrant (en verrouillant sur certains numéros si vous souhaitez) à Jeedom pour une interaction

Plugin HTML Display

Installez le plugin et créer un équipement. Cliquez “activer” et sauvegarder.

Notez l’ID de l’équipement. il apparaît dans la barre d’adresse de votre navigateur https://IP.de.JEEDOM/index.php?v=d&m=htmldisplay&p=htmldisplay&id=#votre ID#

Manips en ssh :

Connectez vous en SSH sur votre serveur JEEDOM et allez dans

/var/www/html/plugins/htmldisplay/data/#votre ID#

nb: chez moi je n’avais pas accès au répertoire. j’ai du faire un “sudo chomd777 #votre ID# à partir du répertoire /var/www/html/plugins/htmldisplay/data pour accéder au répértoire de l’ID

Dans ce répertoire, créer un fichier appelé template.html dans lequel vous mettez la ligne suivante :

<iframe width="900" height="600" src=VARIABLE></iframe>

NB : ici on crée le template qui servira comme base pour la suite

Créez un second fichier glympse.sh dans lequel vous mettez le code suivant :

#!/bin/bash

sed 's#VARIABLE#'$1'/# ' /var/www/html/plugins/htmldisplay/data/2230/template.html > /var/www/html/plugins/htmldisplay/data/METTEZ ICI L'ID DE VOTRE EQUIPEMENT/dashboard.html

NB : ici on dit au script de prendre le fichier template.html et de remplacer le texte “VARIABLE” par l’argument qui sera passé au script bash.

NB 2 : Merci à @naboleo de m’avoir fait découvrir la commande sed (oui, je suis un NooB Linux, mais un NooB Geek :slight_smile:

NB3 : je vous invite à faire un chmod 777 sur les deux fichiers au cas où

Maintenant nous retournons dans l’interface web de JEEDOM

Création du Script JEEDOM

Dans le Plugin Script, créez un nouveau script et activez le (case “Activer”)

Dans l’onglet “Commande”, cliquez sur “ajouter une commande script” puis

dans le champs « requête » vous mettez

/var/www/html/plugins/htmldisplay/data/METTEZ ICI L'ID DE VOTRE EQUIPEMENT/glympse.sh #message#

Sauvegarder

Création du design

Créez un nouveau design et insérez dedans l’équipement crée par le plugin HTMLDisplay.

Je ne vous détaille pas cela car c’est trivial pour ceux qui ont déja fait des design et pour les autres, je vous invite à regarder un ou deux toto sur Google, bien mieux fait que ce que je pourrais faire ici…

Création de l’interaction dans JEEDOM

Vous allez créer une interaction :

Menu Outils / Interactions / Ajouter

Vous mettez ce que vous voulez comme nom.

Dans le champs “Demande”, mettez la phrase clef suivi de

#adresse#

Attention de bien mettre un espace entre les deux. J’ai pour ma part utilisé “Regarde moi.” car c’est une phrase standard dans l’application mobile.

Allez dans l’onglet “Actions”

Cliquez sur ajouter et pointez vers le script crée auparavant.

Dans le champs “Message, saisissez

#adresse#

Vous devez rajouter ici comme action à minima l’ouverture du design sur votre tablette.

J’ai pour ma part créé un scénario complet que j’appelle dans l’interaction, qui ouvre le design et prévient les occupants de la maison via les objets connectés que j’ai (talk sur Google Home, Telegram, Pushbullet, Sonnerie sur Gateway Xiaomi, etc… )

Mise en Oeuvre

Sur votre téléphone :

Après avoir installé l’application Glympse (lien Android) (Lien Iphone/ipad et Apple Watch)

Cliquez sur la flèche en haut à droite puis “Partager votre position”

Saisissez ensuite :

  • Destinataire : le numéro de téléphone de votre téléphone passerelle
  • Message : la phrase clé que vous avez indiquée dans votre script “Regarde-moi.” dans mon exemple
  • Destination : là c’est vous qui voyez :wink:
  • Durée du partage : comme vous voulez

NB : vous pouvez créer un favori sur votre téléphone avec le bon destinataire et la phrase clé pour partager en 3 clics votre position) en appuyant en bas sur “Enregistrer comme favori”

Cliquez ensuite sur l’icône “avion de papier”en haut à droite

Normalement cela ouvre votre application de SMS avec le message déja rempli. Vous n’avez plus qu’à envoyer le SMS.

Et voilà.

Le SMS arrive sur le téléphone passerelle, est transmis à Jeedom, Jeedom récupère l’adresse web la transmet au script qui crée un fichier dashboard.html, qui est lu par le plugin HTML Display qui l’affiche dans le Design

:slight_smile:

Conclusion

Voilà, j’espère que cela vous a intéressé et donné des idées pour d’autres projets.J’attends vos commentaires / idées d’améliorations !

Les pistes sur lesquelles je vais avancer :

  • 3 clics au mieux coté application (appuyer sur le raccourci, valider le trajet, envoyer le SMS), j’aurai aimé rester sur 2, voire un seul. J’ai essayé de passer par l’envoi d’un mail (au lieu du SMS) ce qui enlève un clic, mais je n’ai pas réussi à parser facilement le mail reçu (en HTML) via le plugin Mail Listener de @lunarok.
    Mais ca ne doit pas être impossible, à creuser.
    Peut être aussi qu’il y a une autre application que Glympse pour faire le taf (pour passer à 1 seul click avec un favori), mais j’ai pas trouvé

  • Impossible pour l’instant (pour moi) de récupérer l’ETA (heure d’arrivée) pour la passer en paramètre à jeedom (pour dire “il/elle arrive dans 25 minutes” ou encore mieux, le récupérer toutes les x minutes pour déclencher une action quand l’ETA passe sous x minutes (ouvrir la porte du garage, allumer les lumières, …). Ca ca serait top !

1 « J'aime »

Bonjour,

Merci beaucoup pour ce partage mais à priori ne correspond pas exactement à ce que je recherche/pense faire dans l’avenir… je cherche à mettre en place un suivi (sur tel ou PC dans mon cas plutôt) d’un téléphone ou autre si nécessaire ou quand j’en ai besoin. Je me permets de partager mon idée pour voir si je peux me servir d’une ou plusieurs parties de ce que tu as fait ou éventuellement compléter ce que tu as fait:

  • concernant la position GPS, je préfère utiliser soit jeemate (que j’utilise) soit jeedom connect (les 2 appli tiers jeedom) qui gèrent déjà la position (ainsi, pas besoin d’utiliser une nouvelle appli en plus en l’occurrence Glympse
  • j’ai éventuellement dans l’idée de mettre des balises dans ma voiture par ex… et donc dans ce cas ca doit fonctionner avec des sms ou envoi de data mais pas forcement avec Glympse en tout cas…

Il me semble avoir lu que traccar pouvait peut-être correspondre à mon besoin mais je n’ai pas creusé plus
Dans tous les cas, merci pour ton partage et les explications claires !

Effectivement, je cherche une capacité de tracking initiée par une personne (pas en permanence), avec une notion de trajet (j’arrive dans xxx minutes) et sans adhérence avec mon système domotique (pas besoin de donner des accès à mon Jeedom pour que ca marche.
Je peux dire à ma femme, a un amio ou à ma mère d’envoyer un Glympse sur ce numéro de tel.

Ton besoin est différent, j’espère que tu vas réussir à faire ce que tu veux, n’hésite pas a partager sur le forum en tout cas !

bonjour @guigeek

c’est sympa comme idée, je voulais proposer une simplification pour l’install, qui est quand même faut avouer pas triviale, il faut savoir où on va :slight_smile: Tu peux remplacer la manip ssh du template html et script sh par un code php qui fera la même chose :

// il faut récupérer l'adresse comme paramètre du scénario ?
$adresse = tag('adresse');
// ici l'ID de l'équipement :
$id = 'xxx';
// construire le template html
$html = "<iframe width=\"900\" height=\"600\" src=\"$adresse\"></iframe>";
// nom du fichier cible
$file = "/var/www/html/plugins/htmldisplay/data/$id/dashboard.html";
// écrire le fichier
file_put_contents( $file, $html);
// on peut aussi faire chmod si besoin
chmod($file, 777);

… Je ne connais pas encore les interactions, est-ce qu’on peut mettre un bout de code directement dans l’interaction comme pour un scénario ? Sinon, on sera obligé de passer par un scénario ou script avec bloc code, et transmettre le paramètre de l’adresse.