Accueil / Domotique / Instrument virtuel+Widget : améliorer l’affichage MQTT dans Jeedom

Instrument virtuel+Widget : améliorer l’affichage MQTT dans Jeedom

Dans l’article précédent, nous avons vu comment afficher sur le Dashboard de Jeedom des informations publiées sur un broker MQTT par un objet connecté diy. Le plugin MQTT est très simple d’emploi  mais il présente toutefois plusieurs lacunes (au moment de l’écriture de cet article). Tout d’abord, il n’est pas possible de choisir un widget personnalisé pour modifier la présentation. Par exemple mettre un thermomètre pour afficher une température… Ensuite, il n’est pas possible de définir l’unité de l’information remontée par le capteur. Ca ne pose pas de problème particulier pour le fonctionnement mais c’est un peu dommage pour la beauté du Dashboard.

Heureusement, il existe une solution pour arranger tout ça, il suffit de créer un instrument virtuel. Voyons comment ça marche.

Pour rédiger cet article, j’ai pris comme exemple les mesures publiées par l’anémomètre connecté de ce projet.

projetdiy anémometre connecte esp8266
Anémomètre et girouette connectés à base d’ESP8266.

Un instrument virtuel, ça sert à quoi ?

jeedom instrument virtuelJeedom propose un type d’instrument un peu particulier et bien pratique, l’instrument virtuel. Pour pouvoir l’utiliser, il faut aller le récupère sur le market comme n’importe quel autre plugin. Il est classé dans la section Programmation. On le trouve très facilement en faisant une recherche avec le mot clé « virtuel ». Ce plugin est officiel et il est gratuit. Après installation et activation, il faut aller dans le menu Plugins -> Programmation -> Virtuel pour y accéder.

Un instrument virtuel permet de réaliser de nombreuses opérations dans Jeedom :

  • Rassembler dans un seul périphérique des informations ou actions de plusieurs périphériques physiques/virtuels
  • Créer un périphérique alimenté par une source externe à Jeedom : Zibase, IPX800… et MQTT
  • Dupliquer un équipement pour le scinder en 2
  • Effectuer des calculs à partir de plusieurs valeurs d’équipement
  • Exécuter des macros

Pour en savoir plus, la documentation du plugin instrument virtuel se trouve ici.

Installer des Widgets pour personnaliser l’affichage

jeedom plugin widgetMaintenant que le plugin est installé, nous allons aller récupérer quelques Widgets pour personnaliser l’affichage de l’instrument virtuel que l’on va créer juste après. Si vous n’avez pas encore installé le plugin Widget, c’est le moment de le faire. Retournez dans le gestionnaire de plugin et installez le (mot clé widget, dans la section programmation). Après installation et activation, le plugin Widget est accessible via le menu Plugin -> Programmation -> Widget.

Allez sur le Market des Widgets et installez le Moulin et RoseDesVents.

jeedom market widget
Accès au Market des Widgets

 

jeedom widgets moulin rosedesvents
Widgets Moulin et RoseDesVents installés

Création d’un instrument MQTT pour l’anémomètre

Tout est presque prêt. Il ne reste plus qu’à créer un équipement MQTT. Pour tout savoir sur la création d’un équipement MQTT en détail, vous pouvez lire cet article précédent.

Sur la copie d’écran ci-dessous, on retrouve les 4 flux de données publiées par l’anémomètre connecté :

  • directionVent : la lettre de la direction cardinale à laquelle correspond la direction du vent
  • dirVentAngle : la direction du vent sous la forme d’un angle à 360°
  • vitesseVentKMH : la vitesse du vent en km/h
  • vitesseVentMS : et la vitesse du vent en m/s

On va voir qu’il est très facile de faire une conversion de vitesse directement dans l’instrument virtuel.

Nommez l’instrument AnémomètreMQTT par exemple. Le nom n’est pas très important, il faut juste pouvoir le différencier de l’instrument virtuel.

Création de l’instrument virtuel

Allez dans le gestionnaire d’instrument virtuel et appuyez sur Ajouter.

Donnez un nom à votre équipement, par exemple Anémomètre Virtuel.

Attribuez un objet parent, une catégorie, activez le et rendez le visible.

jeedom création équipement virtuel

Pour ajouter des informations vous avez 2 possibilités

Ajouter les informations (ou une commande) une à une

Dans la section Virtuel appuyez sur Ajouter une info virtuelle. Donnez lui un nom, choisissez un type et appuyez sur Rechercher équipement. Dans la fenêtre de sélection qui s’affiche, sélectionnez l’objet dans lequel se trouve votre équipement MQTT puis l’équipement et enfin la commande (ou information) à ajouter à l’équipement virtuel.

jeedom instrument virtuel import commande manuellement
Ajout manuel d’une info (ou commande) depuis un équipement physique ou virtuel.

 

Ensuite il faut indiquer le type d’information. Jeedom ne sait pas le faire automatiquement. C’est très important car en fonction du type d’information, il sera possible ou non d’attribuer un Widget pour personnaliser l’affichage. On a 3 choix :

  • Numérique
  • Binaire : pour une commande (ouvrir/fermer), l’état d’une lampe (allumée/ éteinte)…
  • Autre : une chaine quelconque

Dans le cas de la direction du vent, on va choisir numérique.

On a enfin la possibilité d’attribuer une unité à la grandeur. Mettons Degrés pour la direction du vent.

jeedom instrument virtuel parametres info virtuelle
Création de la première info virtuelle.

 

Avant de pouvoir aller plus loin, il faut sauvegarder l’équipement.

Maintenant on a la petite roue du menu de configuration avancée qui s’affiche, cliquons dessus et allons à l’onglet Affichage avancé. Dans la liste de choix du Widget, choisissez RoseDesVents puis enregistrez.

Si le widget souhaité n’est pas dans la liste, vérifiez le type d’information sélectionné.

jeedom choix widget
Attribution d’un Widget à une info virtuelle

 

Faites de même avec l’information vitesseVentKMH en donnant comme unité km/h et en choisissant le widget Moulin.

Enfin on vous ajouter une dernière info sur laquelle on va calculer la vitesse en m/s. Ajoutez une info virtuelle et donnez lui un nom. Sélectionnez le type numérique. Dans le champ valeur copiez la formule suivante :

(#[Jardin][AnémomètreMQTT][vitesseVentKMH]# * 1000 ) / 3600

Donnez l’unité m/s puis dans la colonne paramètre saisissez 0 pour min et 28 (m/s) pour max. C’est la vitesse maximale en m/s pour laquelle l’anémomètre a été étalonné.

jeedom instrument virtuel mqtt configuré calcul
Equipement Virtuel configuré complètement.

 

Enregistrez l’équipement et allez sur le Dashboard. Vous aurez 2 équipements. Le premier obtenu en créant l’équipement MQTT (dont on peut désactiver l’affichage maintenant) et l’équipement virtuel personnalisé avec des Widgets et des unités correctes.

jeedom instrument virtuel mqtt sur dashboard widget
Equipement MQTT classique (à gauche) et personnalisé (à droite) à l’aide d’un instrument virtuel et de Widgets.

Importer un équipement directement

Il est aussi possible de récupérer les informations (et commandes) d’un équipement en un seul clic. Appuyez sur le bouton Importer équipement dans le coin supérieur droit. jeedom créé automatiquement une ligne pour chaque info virtuelle trouvée dans l’équipement indiqué.

jeedom instrument virtuel choix équipement mqtt

Il ne reste plus qu’à paramétrer correctement chaque ligne comme précédemment.

jeedom instrument virtuel import automatique
Infos virtuelles créées automatiquement à partir d’un équipement MQTT.

Voilà nous avons maintenant une présentation beaucoup plus belle pour nos objets connectés diy qui publient les données sur MQTT. Ce tutoriel s’applique aussi à vos autres équipements domotiques.