Utilisation de l'alarme ou réveil du téléphone dans Jeedom

Bonjour,
Je propose ici ma solution pour déclencher des actions dans Jeedom à partir de l’heure de réveil du téléphone portable.
:+1:Je voudrais tout d’abord remercier toute la communauté : Les développeur, les modérateurs et ceux qui m’ont apporté des réponses, car sans eux je n’y serais jamais arrivé.*

On part sur l’exemple simple d’allumer le chauffage de la salle de bain 20 minutes avant que le réveil du téléphone sonne, le matin pour aller travailler.
Vous pourrez ensuite greffer autant de scénarios que vous voudrez à partir de cet exemple.

Mon matériel :

  • Un téléphone Androïd (à vérifier si cela fonctionne avec un iPhone)
  • Une boxe domotique Smart
  • Un radiateur domotisé (Dans mon cas par le fil pilote raccordé à un module QUBINO - Pilot Wire ZMNHJD1)

Les logiciels / Applications :

  • Plugin JeedomConnect (JC) à installer dans Jeedom
  • Plugin Virtuel (je m’en sert pour convertir la date de l’alarme aux formats utilisés par les différentes fonctions)
  • App mobile Jeedom Connect à installer sur le téléphone

Fonctionnement (dans les grandes lignes) :

  • Dès que je règle une alarme sur mon téléphone, l’application mobile JC installée sur le smartphone envoie la date et l’heure exacte de l’alarme à Jeedom via le plugin JC (attention, ça le fait pour toutes les alarmes sans distinction, que ce soit chronomètre, compte à rebours, etc…).
  • Tous les jours à 01h du matin, mon scénario Jeedom vérifie que nous sommes le jour où l’alarme doit sonner, et que l’heure de cette alarme soit comprise entre mes balises de réveil (04h00 et 09h40 dans mon cas).
  • Si oui, le scénario enclenche le chauffage pendant 45 min, en le démarrant 20 min avant l’heure du réveil.
  • Sinon, rien.

Si vous voulez ponctuellement que le scénario ne soit pas enclenché (pour éviter de chauffer la salle de bain pour rien par exemple…), Il faut penser à désactiver le scénario avant de régler sur son téléphone l’alarme, ou le chrono, ou le compte à rebours, etc… .
Dans ce cas, je désactive le scénario directement depuis le téléphone portable.

Détail pour l’installation :

  • Installer le plugin Jeedom Connect, et bien sûre l’app mobile qui va avec, la notice est bien faite.

    • Dans l’app mobile JC, j’ai activé la gestion du service d’arrière plan pour que l’heure soit envoyée à Jeedom quelque soit l’état de l’appli, et j’ai activé la connexion par polling, car depuis mon portable je me connecte à Jeedom en DNS.

    • Dans le plugin JC, c’est la commande « Prochaine alarme » qui nous intéresse.
      Puisqu’on y est, je vous montre accessoirement un virtuel pour afficher cette heure de réveil dans votre Jeedom sous cette forme sympathique
      image
      Là c’est pas que je veux me réveiller en 1970, c’est que je n’ai pas d’alarme programmée sur mon téléphone, et comme la date transmise est un « Timestamp Unix » en nombre de secondes depuis le 01/01/1970, ça affiche cette date.
      Ceci est bien pratique pour que justement votre alarme ne reste pas programmée si vous l’annulez, car elle est alors remplacée par cette date, qui n’enclenchera aucun scénario, ce qui n’était pas le cas avant cette mise à jour par JC :stuck_out_tongue_winking_eye:.
      Sinon, voici l’affichage pour une alarme conventionnelle qui est activée dans mon téléphone :
      image
      Pour obtenir ce virtuel, voici les lignes :


      Le champ « valeur » est : date(‹ d-m-Y H:i:s ›, #[Mon Tél Portable][OnePlusJC][Prochaine Alarme]#)
      où l’on retrouve [Mon Tél Portable] pour le nom que j’ai donné à l’objet parent, et [OnePlusJC] pour le nom que j’ai donné à mon téléphone dans le plugin Jeedom Connect, comme le montre la capture d’écran ci-dessous.

Maintenant que vous avez vu comment créer ce virtuel (que vous voudrez certainement afficher dans Jeedom), il vous faut créer le virtuel ci-dessous, qui sert à convertir la date en différents formats, afin de la rendre utilisable par les fonctions dont nous avons besoin.
Il n’est pas utile de rendre ce virtuel visible dans le Dashboard.
Ainsi, il faut créer le format pour les balises entre lesquelles vous voulez que votre scénario prenne en compte l’heure du réveil (inutile par exemple d’enclencher le chauffage pour une alarme à 16h00 si vous vous levez habituellement à 7h00 pour aller travailler).


Voici la ligne info, si vous avez du mal à lire :
date(‹ Hi ›, #[Mon Tél Portable][OnePlusJC][Prochaine Alarme]#)

Et le format permettant à votre scénario de savoir que nous sommes bien le jour où l’alarme doit sonner en le comparant à « now » :


Où la ligne info est :
date(‹ Y-m-d H:i:s ›, #[Mon Tél Portable][OnePlusJC][Prochaine Alarme]#)

Et maintenant le scénario :

Ce qui donne en mode texte :

  • Nom du scénario : Scénario chauffage JC
  • Objet parent : Ma Propriété
  • Mode du scénario : schedule
    • Programmation : 0 1 * 1,2,3,4,5,10,11,12 *

Déclenche des scénarios x minutes avant que mon réveil Android sonne

ACTION
 tag - Options : {"enable":"1","background":"0","name":"heurechauffage","value":"#[Mon T\u00e9l Portable][OnePlusJC][Prochaine Alarme]#-20*60"}
 (variable) Affectation de la variable : heurechaufjee à date('Hi',#heurechauffage#)
     
    SI time_between(#[Ma Propriété][Virtuel Heure réveil JC convertie en divers formats][Heure format balise]#,0400,0940)
    ALORS
         
        SI time_diff(now,#[Ma Propriété][Virtuel Heure réveil JC convertie en divers formats][AAAA-MM-JJ HH:mm:ss]#) == 0
        ALORS
             
            A variable(heurechaufjee)
            FAIRE
             #[SDB][Chauffage SDB][Confort]# - Options : {"enable":"1","background":"0"}
                 
                DANS 45
                FAIRE
                 #[SDB][Chauffage SDB][Hors Gel]# - Options : {"enable":"1","background":"0"}
        SINON
    SINON

J’ai mis un cron dans le déclencheur pour que ce scénario ne s’enclenche que les mois de l’année où j’estime avoir besoin du chauffage, je sais c’est perfectible…

3 « J'aime »

Merci pour le partage en pas a pas.

Dommage qu on ne puisse pas mettre le tag plugin-jeedomconnect sur cette catégorie

Plus tout a fait vrai depuis la beta 1.5.2 :wink:

2 « J'aime »

En effet j’y avais pensé car c’est amplement mérité.
Dommage que l’on ne puisse pas sélectionner plusieurs catégories quand on cré un sujet, dont la catégorie Plugin, ce qui aurait permis de mettre ce tag.

Super ! Je testerai cette nouvelle possibilité de Jeedom Connect :+1:

1 « J'aime »

Bonjour à tous,

Sinon sur IOS il suffit de faire un raccourci avec url jeedom et hop…

ok je sors :slight_smile:

Ne part pas trop vite ! :upside_down_face:

Pourrais-tu nous en dire plus ?

Merci !

hello,

rien de bien compliqué si tu tournes sur ios tu va dans l’application raccourci
tu crée un raccourci choisis obtenir le contenu de
et tu lances le scénario de ton choix

si tu ne connais pas la formule du lien voici:
https://tonlienjeedom/core/api/jeeApi.php?apikey=tonapi&type=scenario&id=iddetonscénario&action=start

en gras ce qu’l faut compléter avec tes données

2 « J'aime »

Merci !

Sur iOS J’avais joué un peu avec les raccourcis pour de la gestion de présence en fonction des zones gps ou je me situais, mais le soucis c’est qu’il fallait valider à la main à chaque opération…

Pas très pratique :pensive:

non pas obligé tu peux désactiver cela

mais en l’occurence si on revient au theme du post
on doit créer une automatisation (lorsque l’alarme untel est arrêté) / obtenir le contenu de l’url avec ton scénario que tu veux lancé

et ps: tu décoches demander avant d’exécuter

Merci @ArnauldF

1 « J'aime »

Autre solution que j’utilise, tu peux créer un virtuel, et le faire remonter dans l’application Maison. Avec Raccourcis, tu peux activer cet équipement virtuel au moment où l’alarme sonne et ainsi en faire tout ce que tu veux dans Jeedom. Donc pas uniquement une adresse https pour lancer un scénario, mais tout ce que tu veux puisque ça remonte dans Jeedom.

3 « J'aime »

Bonjour @JeePasFor
Merci pour ce tuto que j’ai très légèrement adapté mais qui est efficace.
J’ai tout même une question / remarques :
a priori lorsque je règle mon alarme à une certain heure pour tous les jours de la semaine, l’action déclenché par le scénario fonctionne le premier jour, mais pas les suivant.
J’ai pu voir que mon virtuel, une fois la 1ere alarme passé, se remet sur la date initiale linux 1970
Il faut à chaque fois revalider l’alarme pour qu’elle fonctionne de nouveau de lendemain.
As tu une astuce pour éviter cette étape de re validation ?
Merci
Rémi

Vérifier les propriétés des commandes pour cocher actualisation sur valeur identique.

Antoine

1 « J'aime »

Merci @Tonio16 !