Instrument virtuel+Widget : améliorer l'affichage MQTT dans Jeedom • Domotique et objets connectés à faire soi-même

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.

Anémomètre et girouette connectés à base d’ESP8266.

Un instrument virtuel, ça sert à quoi ?

quyk51hrftaox1o9utni-9509206Jeedom 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

Maintenant 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.

Accès au Market des Widgets

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.

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.

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.

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.

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é.

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.

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é.

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

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.

Avez-vous aimé cet article ?