Tout d'abord, l'idée fabuleuse de base de ce raccourci provient de Floflobel. Je tiens à le remercier !
But : Lorsqu’on programmera/activera un réveil, sur le téléphone, via un raccourci créé dans l’application « Shortcuts », celui transmettra à Jeedom, l’heure du réveil activé/programmé via une variable.
Il restera juste après à traiter cette variable dans un scénario Jeedom, et programmer les actions qui en découlent… (chauffage dans la salle de bain 15min avant, allumage de la cafetière…)
Dans le cadre du tuto, nous ferons afficher un message juste 10 min avant le réveil, pour simplifier le scénario au maximum…
Note : Ce tuto est une 1ère version, n'hésitez pas à apporter votre pierre à l'édifice pour l'améliorer, les remarques et suggestions sont les bienvenues !
Prérequis :
- Un iBidule avec iOS 12 installé.
- L’application « Shortcuts » installée.
- Connaître sa clé API externe de Jeedom.
Lancement du raccourci :
On sélectionne le réveil à utiliser.
Si on en souhaite un "Autre Réveil" on précise l’heure.
Puis on appuie sur « OK » 2 fois afin que les 2 variables soient envoyées à Jeedom.
Création du raccourci :
Prérequis :
Récupérer sa clé API externe sous Jeedom.
Roue dentée -> Configuration -> API
Étape 1 :
Ayant un accès externe à ma domotique, et ayant une Livebox, je ne peux pas accéder depuis mon réseau interne (wifi) à ma domotique via mon nom de domaine, je suis obligé de passer par mon adresse IP interne (192.168.X.X).
Donc la première étape est de tester si nous sommes connectés en wifi ou en données cellulaires, et définir la variable « ADRESSE » en fonction du type de connexion.
Étape 2 :
Lors de la programmation du réveil, plusieurs cas possibles :
- Activation d’un réveil déjà existant dans le téléphone.
- Création d’un nouveau réveil.
Dans le cas du tuto, nous partons sur 3 réveils déjà existants en ajoutant l’option de pouvoir en créer un nouveau.
Sur les réveils existants, nous ajoutons une entrée « Texte » avec l’heure du réveil, qui n'est pas un affichage de texte, mais qui va envoyer le contenu du bloc "texte" dans le bloc qui suit... dans notre cas, vers la variable « Recup_heure ».
Sur l’option nouveau réveil, nous demandons d’indiquer une heure de réveil, puis on formate la valeur du réveil pour supprimer la date (qui est ajoutée automatiquement par iOS) puis nous créons une nouvelle alarme avec la valeur formatée de l’heure du nouveau réveil.
Enfin nous récupérons la valeur du réveil que nous stockons dans une variable « Recup_heure ».
Étape 3 :
Nous avons besoin de supprimer le « : » dans la variable « Recup_heure » afin que la variable envoyée à Jeedom soit conforme au format « time » de Jeedom.
On stocke le résultat dans une nouvelle variable « Heure_format ».
Étape 4 :
Il ne reste plus qu’à ouvrir/envoyer dans safari le lien API permettant d’envoyer la variable « Heure_format » à Jeedom, que l’on envoie dans une variable Jeedom « heure_reveil ».
Code : Tout sélectionner
http://[variable ADRESSE]/core/api/jeeApi.php?apikey=[votre clé API externe]&type=variable&name=heure_reveil&value=[variable Heure_format]
Code : Tout sélectionner
http://[variable ADRESSE]/core/api/jeeApi.php?apikey=[votre clé API externe]&type=variable&name=act_reveil&value=1
On créé un scénario qui se programme à 3h00 du matin par exemple.
Dans ce scénario, par exemple, je fais envoyer un message 10 min avant l’heure du réveil qui a été transféré par iOS sur le jeedom.
On n’oubliera pas de remettre la variable « act_reveil » à 0, afin de désactiver le scenario le jour suivant par défaut.