Actualités | Audio/Vidéo | Evènements | DIY | Domotique | Informatique | Maison | Mobile | Sécurité

#Tuto : Faire des Widgets avec retour d'état #Jeedom #Zooper

Envoyer Imprimer PDF
Note des utilisateurs: / 14
MauvaisTrès bien 

Suite à l’article sur mon installation domotique sous Jeedom (voir l'article ici), j’ai eu la demande de détailler comment faire des widgets avec retour d’état. Voici donc un tuto plus précis sur le sujet de la gestion des push de Jeedom vers un téléphone Android en utilisant AutoRemote, Tasker et Zooper.


Je vais évidemment essayer d’être la plus claire possible, n’hésitez pas à faire des commentaires si dessous si quelque chose n’est pas clair ou manque de détail.

Présentation de ces applis :
•    AutoRemote : gère les communications en push de Jeedom vers le téléphone
•    Tasker : gère la réception des notifications d’AutoRemote et crée des variables Zooper correspondantes,
•    Zooper : pour faire des widgets qui affichent directement sur le bureau l’état de Jeedom, via les variables de Tasker.

 

Le résultat final complet de mon interface :

Autres tutos sur le sujet pour avoir une interface complète :
-    Utiliser Tasker pour commander Jeedom (déclencher des scénarios, des actions ou demander des valeurs de sonde par exemple)
-    Lier Tasker avec Zooper (ou autre appli de Widget) de façon à afficher les infos connues par Tasker sur le bureau :
http://techno-bidouille.com/vos-variables-tasker-en-widgets-android/
http://www.jagwar.de/zooper-tasker-variables/
-    Utilisation d’AutoRemote avec Tasker (il existe un plugin Jeedom), permet d’envoyer des notifications en push de Jeedom à Tasker, de façon à afficher dynamiquement ce qui se passe sur Jeedom, comme par exemple l’allumage manuel de la lumière extérieur ou le déclanchement d’un radiateur ou une alarme quelconque : http://techno-bidouille.com/autoremote-les-requetes-http-pour-piloter-tasker/

Pour ce tuto, je vais vous détailler la gestion de la réception d’un « push » pour ce widget-là qui gère la lumière extérieure :

Il affiche 2 infos dynamiques : l’icône et le texte « Off » / « On » qui changent selon l’état.

Quand je clique sur l’icône, j’ai une « scene » Tasker qui s’affiche et permet de lancer les commandes :

Je ne détaillerai pas dans ce tuto la « scene » Tasker ni l’envoie des commandes http avec Tasker pour commander Jeedom, les liens donnés ci-dessus me semblent suffisamment clairs sur ce sujet, mais si besoin je peux aussi en faire un…

 

1.    AutoRemote

Pour utiliser AutoRemote, téléchargez le sur votre téléphone et installez le plugin Jeedom sur votre Jeedom. La configuration est assez facile et expliquée sur le site de l’auteur ou sur Google. Une remarque importante néanmoins : le bouton « tester » du plugin AutoRemote de Jeedom ne marche pas, il renvoie une erreur 404, alors qu’il fonctionne quand même ! Pour tester, créer un équipement et utilisez le dans un scénario.

Pour envoyer une notification à AutoRemote à chaque changement d’état de ma lampe, j’ai créé un sénario Jeedom déclenché par le changement d’état de la lampe et qui envoie une notification à chacun de mes téléphones (S4 et S7) :

Pour utiliser plus facilement la notification AutoRemote dans Tasker, on va formater le message avec « =:= », cette syntaxe permettra de découper facilement la consigne : à gauche du =:= on aura le type d’info (ici je l’ai appelé « etat_lum_ext ») et à droite on aura son état (ici : « On » ou « Off »). Il est aussi possible de ne pas utiliser cette syntaxe et d’envoyer directement « lum_ext_on » ou « lum_ext_off » par exemple, mais alors il nous faudra deux « Profils » Tasker pour gérer ces infos, alors qu’en utilisant le « =:= » on peut n’en utiliser qu’un seul.

Pour du binaire c’est pas très important, mais quand on va commencer à transmettre des chiffres (la valeur d’une consigne ou un horaire), c’est fondamental pour ne pas avoir à gérer individuellement chaque valeur possible !

A cette étape, vous recevez donc une notification sur votre téléphone à chaque changement d’état de la lampe, cette notification se voit dans l’onglet « log » d’AutoRemote :

On va maintenant voir comment gérer ces notifications avec Tasker.

 

2.    Tasker

Dans Tasker, le minimum à comprendre sont les onglets :
-    Les « profils » sont les déclencheurs, une sorte de « Si… »
-    Les « tâches » sont les actions, en gros « …alors… »
-    Les « scenes » permettent de faire des interfaces graphiques. Pour ouvrir ces scenes, il faut soit les appeler avec une autre scene, soit via une « tâche ». Il faut donc (sauf exception) associer une tache à chaque scene. L’action de la tâche sera d’afficher la scene choisie.

 

2.1 Le « Profil »

Pour prendre en compte une notification Autoremote dans Tasker, il faut l’écouter. Et pour cela, il faut déclarer un profil pour chaque type de notification (le texte à gauche du =:=) :

Créer un profil selon « Etat » puis « Plugin » puis choisir « AutoRemote » :

Dans la configuration, sélectionner « Message Filter » et enfin saisir le filtre que vous voulez écouter, ici donc : « etat_lum_ext » (on ne saisit pas le « =:= ») :

Tasker vous indique alors gentiment quelles sont les variables qui permettront de récupérer la suite de la notification quand on aura trouvé notre « message filter ». Ici on voit donc que ce qui nous intéresse pour la suite est le « %arcomm ».

 

2.2    Tâche

Tasker nous demande ensuite de créer ou de sélectionner une tâche à exécuter lors que notre « profil » se trouvera vérifié (c’est-à-dire quand on aura une notification dont la partie à gauche du =:= correspondra au texte indiquée).

Créez une nouvelle tâche, puis sélectionner « Plugin » puis « Zooper Widget Pro », puis dans la configuration, cliquez sur le crayon puis saisir le nom de la variable qui sera utilisée dans Zooper (ici « lum_ext » et saisir « %arcomm » pour le texte :

Ceci nous permet donc d’envoyer à Zooper directement la partie droite de la notification reçue via AutoRemote. Il est aussi possible de passer par une étape supplémentaire avec une variable interne de Tasker si vous avez besoin d’utiliser la valeur dans Tasker. Ici on l’envoie directement à Zooper sans la mémoriser.

 

3.    Zooper

Ouvrons maintenant Zooper, j’ai créé un widget tout simple avec un titre souligné, un bitmap et un texte :

Commençons par le bitmap :

(Remarque : certains auront peut-être remarqué qu’il s’agit des icônes de feu-ZiBase. Ces icones sont disponibles sous GitHub dans le projet ZiHome)

Une fois dans le bitmap sous Zooper, tout en bas, sélectionner « paramètres avancés » et on va pouvoir utiliser notre variable pour afficher une image différente selon sa valeur :

La syntaxe pour la structure conditionnelle est $ [test] ? [action] $

Ici notre test est sur la valeur de la variable « #Tlum_ext# » (qui est notre variable « lum_ext » de Tasker), on regarde si elle est « On » ou « Off ».

Ensuite l’action est de choisir l’image à afficher, le choix du bitmap est donné par les balises [b] et [/b]. J’ai ici une variable supplémentaire #Tpath# qui est une autre variable Tasker dans laquelle j’ai défini le chemin de mes images pour me simplifier la vie quand je change de téléphone ou de ROM. Il est aussi possible ici de donner un chemin complet.

Ici j’ai utilisé deux conditions, j’aurais aussi pu faire un seul test avec un « else », dans ce cas la structure est : $ [test] ? [action si vrai] : [action si faux] $

Dans le carré sous la zone de saisie du texte, Zooper affiche le résultat actuel de la commande, on voit ici le chemin complet de l’image correspondant à l’état éteint.

Ensuite le texte, encore plus simple :

Dans « texte enrichi », choisir « Edition manuelle du texte » et écrire directement la variable :

On a le résultat directement dans le carré dessous. Si ça ne marche pas du premier coup, vérifiez si votre tâche Tasker a bien déjà été exécutée, sinon il est possible de Zooper ne connaisse pas encore la valeur de la variable.

Et voilà, vous pouvez quitter Zooper et regardez le résultat directement sur le widget !

 

4.    Conclusion

En me relisant je constate que ce n’est peut-être pas si évidement que ça à comprendre et à faire la première fois, mais une fois qu’on a intégré la logique : tout devient possible ! (Un peu comme Jeedom d’ailleurs…)

J’espère avoir été suffisamment didactique pour que chacun puisse comprendre et reprendre ce fonctionnement selon ses envies.

Si vous souhaitez que je détaille aussi la réalisation des « scene » ou les commandes en http, n’hésitez pas à le demander.

 

Vous n'avez pas compris un point ? Vous vous posez une question ? Vous pouvez nous contacter via le bouton Assistance sur votre gauche. N'hésitez pas à demander un rendez-vous téléphonique avec Domotics.

Vous avez aimé cet article ? Vous pouvez le partager sur vos réseaux sociaux pour soutenir son auteur et l'encourager à écrire de nouveaux articles ...

 

Cet article vous est proposé par Domotics: Domotics habite dans la région Toulousaine. Il est ingénieur en informatique et électronicien amateur. La domotique est pour lui une passion qu'il pratique depuis 1999. En 2003, il décide de partager ses expériences sur le magazine et le forum de touteladomotique.com.

En 2014, il crée sa société de conseils en Domotique ID2domotique.com et sa boutique en ligne laboutiquededomotique.com. Profitez de l'expérience et l'expertise de Domotics en faisant appel à ses services. Les conseils sont gratuits ...

Mise à jour le Mardi, 13 Décembre 2016 23:14  

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Recherche

Newsletter ?

Bon Plan

Instagram

Publicité



Connexion