Tasker (Android) une interface intelligente pour la Home Center


Tasker (Android) une interface intelligente pour la Home Center


 

Tasker est un outil d’automatisation des plus complet pour téléphone Android. Son prix de 4.99 € en rapport avec ces capacités en font un outil de 1er choix pour tout téléphone ou tablette  fonctionnant sous Android. Plus d’information sur le Play Store.

Nous avons conçu pour vous des tâches pour Tasker qui vous permettrons d’interagir avec votre Home Center de manière simple et intuitive.

Pourquoi « intelligente » ? Grace au JSON Tasker va pouvoir « connaître » vos modules, leurs noms et identifiants sans que vous ayez à les paramétrer dans Tasker. Par exemple, vous ajoutez une prise électrique commandée que vous appelez « Prise cuisine » dans votre Home Center. Il vous suffira d’envoyer une commande « Allumer Prise Cuisine » pour que Tasker soit capable d’activer votre prise sans pour autant que vous changiez quoi que ce soit dans Tasker ou même dans votre Home Center.

De plus, nous allons effectuer une vrai confirmation. Cela signifie que lorsque vous allez demander d’allumer un lampe, nous allons interroger la HCx pour s’avoir si la lampe est bien allumée. La confirmation est donc un vrai gage de fonctionnement.

Avec ces tâches vous allez pouvoir :

  • Allumer un périphérique
  • Éteindre un périphérique
  • Interroger l’état d’un périphérique
  • Interroger un module virtuel
  • Interroger une propriété d’un périphérique ou module virtuel
  • Connaître la consommation d’un périphérique (adapté au relevé de consommation)
  • Démarrer un scène
  • Connaître la liste et ID de tout vos périphériques.

 

Prérequis
  • 1 téléphone ou tablette Android
  • l’application Tasker installée
  • une connexion sur le même réseau que votre Home Center
  • Si vous souhaité utiliser les fonctionnalités SMS : une carte SIM installée et fonctionnelle

 

Installation

Après avoir installer Tasker sur votre téléphone, il va falloir importer les tâches suivantes :

  • HC_Actionner : Permet d’actionner (allumer/éteindre/ouvrir/…) un module
  • HC_Statut : Permet de connaitre l’état d’un module
  • HC_Test : Tâche de test et de garanti de bon fonctionnement
  • HC_Traiter_demande : A exécuter pour chaque demande
  • HC_Translate : Transcrit vos demandes en langage HC (Allumer->turnOff)

Copier préalablement tout les fichiers joints sur votre téléphone/tablette.

taches_tasker_hc  (archive contenant les fichiers à copier)

Pour importer une tâche, il vous faudra appuyer 2 secondes sur l’onglet « Tâches », en le relâchant vous verrez l’option « Import » apparaître, appuyer dessus, allez chercher le 1er fichier et recommencer l’opération jusqu’à ce que vous aillez importer les 5 fichiers décrit ci-dessus.

 

Une fois les 5 fichiers importés, appuyez sur la tâche « HC Test » pour l’ouvrir puis appuyer sur le bouton play (play) en bas à gauche afin de lancer cette tâche. Cette tâche va vous demander et stocker l’adresse IP de votre HC au format « <user>:<password>@<adresse_ip>:<port> » exemple : « admin:monpassword@192.168.1.10:80″ une fois valider la tâche va tester l’accès à votre HC. Si tout ce passe bien le message « Bravo » devrait apparaître. Sinon recommencer l’opération pour modifier l’url.
(Attention, si vous souhaiter utiliser tasher/hc à l’extérieur de chez vous, vous devez avoir une adresse accessible)

C’est fait ? Vous avez eu votre « Bravo » ? Bien joué.  Votre téléphone/tablette est donc prêt à interagir avec votre Home Center.

 

Commandes

Voici donc les commandes disponibles :

Syntaxe : HC2 (([action]) [périphérique|scénario])
action = [ée]tat|status|statut|allumer|activer|on|turnOn|
[ée]teindre|d[ée]sactiver|off|tunrOff|ouvrir|monter|
lever|open|fermer|descendre|baisser|close|sc[ée]nario|
sc[èe]ne|consommation|watts|[ée]nergie|valueSensor|
<propriété>

Exemple :

«   »  Vous retourne la liste complète des périphériques de votre HC (peut être très très long)

« état prise cuisine »  ou
« status prise cuisine »  Vous retourne « Prise Cuisine (Cuisine) est allumé(e) »
pour un module virtuel, le retour sera la liste des labels/sliders et leurs valeurs

« allumer prise cuisine » ou
« activer prise cuisine » ou
« on prise cuisine » ou
« turnOn prise cuisine »  Allume le module appeler « Prise Cuisine »

« éteindre prise cuisine » ou
« désactiver prise cuisine » ou
« off prise cuisine » ou
« turnOff prise cuisine »  Éteint le module appeler « Prise Cuisine »

« ouvrir volet cuisine » ou
« monter volet cuisine » ou
« lever volet cuisine »  ou
« open volet cuisine »  Ouvre le volet appeler « Volet Cuisine »

« fermer volet cuisine » ou
« descendre volet cuisine » ou
« baisser volet cuisine »  ou
« close volet cuisine »  Ferme le volet appeler « Volet Cuisine »

« scénario simulation présence » ou
« scène simulation présence » ou
« start simulation présence »  Lance le scénario « Simulation Présence »

« Consommation prise cuisine » ou
« Energie prise cuisine » ou
« valueSensor prise cuisine »  retourne la consommation instantanée de la prise (pour une prise avec compteur)

« ui.Label1.value MonModuleVirtuel » retourne la valeur du Label1 d’un module virtuel

En lui est place du nom du périphérique vous pouvez directement mettre son ID « Allumer 82″ cela pourrait s’avérer utile si vous avez plusieurs périphérique portant le même nom.

 

Utilisation 

Pour interroger votre HC depuis Tasker, il vous suffit de :

  1. Affecter une valeur à la variable %HC_REQUEST (Exemple : « Allumer Télévision ») [Ecran Variable, Affecter une variable]
  2. Exécuter la tâche « HC Traiter Demande » [Ecran Tâche, Effectuer la tâche]
  3. Le résultat est stocké dans la variable %HC_RESULT (Exemple : « Télévision (Salon) est éteint(e) »)

Affecter Requete   Exécuter Executer   Visualiser Retour

 

 

Exemples concrets

(les profiles mentionnés ci-dessous sont disponible dans le fichier profils_tasker_hc)

 

Interface SMS -> HC

 

Vous disposez d’un vieux téléphone Android et d’une carte SIM ? Vous allez pouvoir interagir avec votre Home Center via SMS. Cela peut se révéler utile si vous n’avez plus de 3G ou si votre ligne Internet
est momentanément interrompue.SMS

Préparez Tasker et effectuez l’installation décrite ci-dessus, connectez le à votre réseau et importez le profile : SMS_vers_HC

Voilà c’est prêt, il ne vous reste plus qu’à envoyer une SMS à votre vieux téléphone avec comme contenu votre demande (voir image).

Profil : SMS_vers_HC

Usage personnel : J’ai un vieux android à la maison et il m’arrive de lui envoyé un SMS « Eteindre Prise Internet » puis « Allumer Prise Internet » pour rebooter ma box.

 

Créer un raccourci sur votre téléphone pour allumer la télévision.

raccourcis

Créer une tâche  en lui donnant un nom :

  1. Variable -> Affecter une variable -> Affecter la valeur « Allumer Télévision » à la variable %HC_REQUEST
  2. Tâche -> Effectuer la tâche -> Executer la tâche : « HC Traiter Demande »
  3. Alerte -> Flash -> Texte %HC_RESULT »
  4. Affecter une icône (en bas à droite de l’écran)

Retourner sur votre lanceur, maintenez le doigt sur l’écran de votre lanceur, sélectionnez « Raccourcis », Tasker puis allez cherche la tâche que vous venez de créer.

Profil : <pas de profil fourni>

 

Orientation et GesteFlip

Exécuter le scénario « Tout Eteindre » en posant le téléphone face contre le bas  :

Importer le profil « Retourner pour Exécuter »

Voilà, avant d’aller vous coucher, retourner votre téléphone et le scénario sera exécuter automatiquement dans 30 secondes, le temps de vous rendre dans la chambre à coucher.

Attention, la première fois que vous retourner votre téléphone, Tasker va vous demander de préciser la commande que vous souhaiter lancé par exemple : « Scénario Tout Eteindre ». Cette commande sera stockée pour la prochaine fois.

Profil : Retourner pour Exécuter

Usage personnel : Lorsque je pose mon téléphone face en bas et que je suis à la maison et connecté au chargeur (en gros quand je vais me coucher), j’exécute automatiquement un scénario qui va contrôler que tout soit bien éteint

 

Secouez (fortement) votre téléphone pour exécuter une commande  :

Importer le profil « Secouez pour Exécuter » et le profil « 3G Connecté ». Secouez

Là, c’est du lourd. Secouez votre téléphone, le système vous demande de saisir la commande que vous voulez envoyé (propose la dernière commande). Si vous êtes en 3G, un code de confirmation vous est demandé (123), la demande est envoyée par http et le résultat s’affichera dans une popup. Si en revanche, vous n’avez pas de 3G, le système vous proposera d’envoyer la demande par SMS, si vous accepter, il vous demandera le numéro de téléphone où envoyé le message (ce dernier sera stocker pour la prochaine fois) puis envoi la demande par SMS. Si tout ce passe bien, vous recevrez la confirmation par un SMS en retour.

Profil : Secouez pour Exécuter + 3G Connecté

Usage personnel : Dans la voiture, au feu en arrivant près de chez moi. Ce profil me permet d’ouvrir la porte de mon garage si j’en ai besoin. Vu que je suis en zone frontalière il m’arrive fréquemment de ne pas avoir de réseau 3G donc l’envoi d’un SMS est tout à fait approprié si le réseau n’est pas suffisant.

 

 

Libre à vous de créer vos propres scénarios, éventuellement en vous aidant des références suivantes :-)

  • http://tasker.wikidot.com/profile-index
  • http://tasker.dinglisch.net/guides.html
  • http://www.pocketables.com/2013/03/overview-of-pocketables-tasker-articles.html
  • https://groups.google.com/forum/#!forum/tasker

 

Données Techniques

%HC_ID : l’identifiant du dernier périphérique commandé
%HC_NAME : Nom de la dernière commande (turnOff, start, …)
%HC_PROPERTY : Nom de la dernières propriété contrôlée (valueSensor)
%HC_REQUEST : Dernière requète envoyée
%HC_RESULT : Dernier résultat
%HC_ROOMS : Liste des pièces déclarés dans la HC
%HC_URL : Url <admin:password>@<ip_address>:<port>

%HC_SHAKE et %HC_FLIP sont lié au profils « Retourner » et « Secouer » et stocke la dernière commande demandée
%HC_TEL stocke le numéro de téléphone utiliser la dernière fois pendant l’exécution du profil « Secouer »

 

Appels

 

bannersonos

Author: Steven Piccand

Ingénieur de développement passionné de nouvelles technologies, j'ai entrepris l'automatisation de ma maison dans un but principalement écologique. Et puis, c'est comme toujours avec moi, quand me j'intéresse à un truc ... je ne m'arrête plus.

Share This Post On

25 Comments

  1. Bonjour, question bête mais, dans votre article, vous mentionnez la HC, mais est ce également valable pour la version Light ?
    Merci

  2. Raaaa ça à l’air d’envoyer grave ce truc !
    A quand la même chose sur iPhoune :( (on peut rever hein ! :D)

  3. Autres j’arrive pas à telecharger le fichier …..

  4. @Laurent, oui Tasker utilise les API de la Home Center et se sont les mêmes pour la HC2 et la HCLite.

    @Ma Pomme, je viens de tester les 2 liens avec succès : Dis moi si tu arrives toujours pas, je te les enverrais différement

  5. Désolé mais j’ai enfin réussi à les télécharger mais lors de l’import tasker me marque
    erreur : mauvais format de données compacté ???

  6. Tu as dezippé les fichiers avant de les importer ?
    Les fichiers étant des xml, j’ai tu les zipper. Il faut les dézipper (5 fichiers) et les importer 1 à 1.

  7. Oui oui c’est ce que j’ai fait….
    Une tâche est au format
    .tsk.xml et un profil au format
    .prf.xml
    Bon je vais réfléchir d’où ça peut venir….

  8. Peut-être un problème de version, cela m’est déjà arrivé. Assure toi d’avoir la dernière mise à jour de Tasker.

  9. Tasker est à jour sur ma tablette et sur mon tph…..
    Les mystères de la technologie ;-)

  10. Merci quand même !!!!!!

  11. Erratum : On m’informe d’une erreur, le prix est de 2.99€ au lieu de 4.99€ .. .une bonne nouvelle :) (merci @Julien LEMARE)

  12. Merci Steven pour cet article.

    Merci aussi pour le bon plan sur Tasker, quand j’ai regardé hier il était au prix fort, ce qui signifie qu’ils ont attendu la parution de ton article pour baisser le prix. Quelle classe !

  13. Bravo pour ce magnifique travail Steven, étant un fervent utilisateur de Tasker, penses tu que je puisse l’adapter avec l’api de la zibase?

  14. @Camille
    Absolument

    La seule différence et complexité supplémentaire sera l’interrogation sur l’état d’un périphérique car avec la HC il n’y a pas de différence entre un actuator et un sensor, on fait simplement un getValue sur le module alors qu’avec la ZiBASE on doit d’abord vérifier puis appeler différemment selon son type.

    Ensuite le 2ème problème sera le manque de retour d’état. C’est pas parce que la Zibase te dis que la lampe est éteinte qu’elle le sera vraiment, néanmoins tout est réalisable et ce genre de problème de retour est générique à la Zibase donc acceptable.

    service=get&target=home permet de faire le rapport nomid
    service=get&target=actuator&id=XX permet de connaitre l’état d’un module
    service=execute&target=actuator&id=xxx&action=xxx permet d’actionner ou non un module
    service=get&target=probe&id=xxx&historic=day/month/year permet de retourner une température/consommation

    si tu as besoin d’un coup de main … hurle

  15. Pour les détracteur par « problème de retour d’état », je ne veux pas dire que la Zibase ne le gère pas bien mais comme la Zibase gère des protocoles SANS retour d’état (tel que Chacon) elle ne peut pas retourner le véritable état d’un module.
    Un autre cas de figure. Ma Zibase est éteinte actuellement et lorsque j’interroge mon module X, l’api me retourne qu’il est éteint au lieu de me retourner un failed. Il faudrait donc préalablement vérifier que la zibase soit « connected » : 1.

    Bon pas mal de travail en perspective mais toujours réalisable :)

  16. Bonjour,

    Merci beaucoup pour ce tuto mais j’ai quelques soucis.
    Lorsque j’execute les tâches j’obtiens l’erreur suivante : Erreur d’entrée sortie pour http://MON_IP/api/callAction?deviceID=turnOn : java.io.FileNotFoundException: http://MON_IP/api/callAction?deviceID=turnOn

    Aurais-tu une idée de mon problème ?

    PS : je rebondis sur l’erreur « erreur : mauvais format de données compacté » reontée plus haut. Il faut être en version minimum 4.4u1 sinon sa ne fonctionne pas.

    Merci d’avance

  17. Pour l’erreur  » mauvais format de données compacté » j’ai désinstallé Tasker et fait une nouvelle installation….plus de soucis
    ;-)

  18. @pacific_boy
    Si tu lances les tâches séparément tu vas te retrouver rapidement avec ce genre de soucis. La tache « HC Traiter Demande » remplis des variables qui sont utilisées par les autres tâches. Donc si tu court-circuits cette tache tu vas devoir renseigner les variables manuellement comme %HC_ID & %HC_NAME.

  19. Genial Steven !!!!!!!!!!!

  20. Merci :)
    On m’a demandé de modifier un peu car il y a quelque personne qui aurait besoin de pouvoir préciser la pièce. Exemple : Allumer lampe du salon ou Allumer lampe de la cuisine.
    J’y travaille donc et je posterais la v2 :)

  21. Bonjour les amis exécutent toutes les étapes pour importer les tâches une par une et je reçois cette erreur de message: les données au format mauvais emballage. J’ai désinstallé et je suis retourné à installer Tasker quisa bien régler votre problème et ne résout pas mon Tasker cette mise à jour à partir de maintenant apprécier votre aide merci

  22. Bonjour,
    Très bon script bien pratique.
    Est il possible de récupérer la valeur d’une variable globale?
    ou alors la valeur d’un module virtuel (quel bouton est actionné)?
    Merci pour votre aide

  23. Impossible de savoir quel bouton a été actionné.
    Pour les variables globales, la réponse est oui :) Par contre Fibaro est entrain de publier les nouvelles APIs il va donc falloir attendre encore quelques jours pour avoir quelques chose de stable.

  24. C’est Bonnnnnnnnnnnnn ce truc !! J’aimerais bien le faire sur ma Zipabox, quid de l’authentication :(

  25. L’authentification pour la Zipabox ne doit pas être pire que celle de la HC2 ? :-)

Trackbacks/Pingbacks

  1. Tasker (Android) une interface intelligente pour la Home Center | vienergie - […] Posted By Steven Piccand on juil 29, 2014 | 15 comments […]

Laisser un commentaire