Widgets

Un widget est la représentation graphique d’une commande sur le dashboard ou en version mobile. Le Core Jeedom attribue automatiquement un widget selon le type (Info ou Action) et le sous-type (Binaire, Numérique, Autre, Curseur, etc.) de la commande. Il est possible d’en sélectionner un autre parmi ceux disponibles via la configuration avancée de la commande, onglet “Affichage” → “Widget”.

Widgets par défaut

Voici les widgets intégrés au Core Jeedom, leurs usages et leurs paramètres de personnalisation.

Commandes

La plupart des widgets exposent des paramètres optionnels permettant d’ajuster leur rendu sans créer de widget personnalisé : couleur, échelle, comportement, etc. Ils se configurent dans la configuration avancée de la commande, onglet “Affichage” → section “Paramètres optionnels widget”, sous forme de paires nom/valeur. Les paramètres disponibles varient selon le widget sélectionné et sont listés ci-dessous.

Le paramètre time (duration/date) est commun à tous les widgets (sauf HygroThermographe) et affiche respectivement la durée écoulée ou la date du dernier changement de valeur.

Info / Binaire

Widget Description Paramètres optionnels
Shutter Représentation visuelle d’un volet avec position en % color
Alert Coche verte (ON) / alerte rouge (OFF)  
Door Porte fermée verte (ON) / porte ouverte rouge (OFF)  
Flood Goutte d’eau barrée verte (ON) / goutte d’eau bleue (OFF)  
Heat Flamme rouge (ON) / croix (OFF)  
Icon Coche verte (ON) / croix rouge (OFF)  
Light Ampoule allumée jaune (ON) / ampoule éteinte (OFF)  
Line Coche verte (ON) / croix rouge (OFF), affichage inline avec le nom  
Lock Cadenas fermé (ON) / cadenas ouvert rouge (OFF)  
Presence Coche verte (ON) / icône mouvement rouge (OFF)  
Prise Icône prise (ON) / croix (OFF)  
Window Fenêtre fermée verte (ON) / fenêtre ouverte rouge (OFF)  

Info / Numérique

Widget Description Paramètres optionnels
Badge Valeur affichée dans un badge coloré color, fontcolor
Compass Boussole indiquant une direction en degrés needle_color, ns_color, oe_color, scale
Gauge Jauge en arc de cercle color
Horizontal Barre de progression horizontale color
HygroThermographe Affichage combiné température et humidité (widget multi-commandes, sans time) scale
Light Icône d’ampoule (allumée/éteinte selon la valeur) avec valeur et unité  
Line Nom, valeur et unité affichés sur une seule ligne (format compact)  
Rain Niveau d’eau ou de précipitations color, scale, showRange, animate
Shutter Volet avec curseur de position en % color, invert
Tile Nom affiché en titre au-dessus de la valeur et de l’unité  
Vertical Barre de progression verticale color
HeatPiloteWire Fil pilote 4 états : confort, hors-gel, éco, arrêt  
HeatPiloteWireQubino Fil pilote Qubino : 6 paliers de confort/éco/hors-gel/arrêt  

Info / Autre

Widget Description Paramètres optionnels
Badge Valeur texte dans un badge coloré color, fontcolor
ButtonImage Bouton ouvrant en modal l’image dont l’URL est la valeur de la commande  
Color Affiche la couleur correspondant à un code hexadécimal showValue
Line Nom et valeur texte affichés sur une seule ligne (format compact)  
Multiline Valeur texte sur plusieurs lignes avec défilement maxHeight, minHeight, backgroundColor
Tile Nom affiché en titre au-dessus de la valeur texte  

Action / Couleur

Widget Description Paramètres optionnels
Default Sélecteur de couleur complet (roue chromatique + valeur hex)  
Picker Sélecteur de couleur simplifié  

Action / Défaut

Widget Description Paramètres optionnels
Alert Icône clochette reflétant l’état de la commande liée (rouge = actif, verte barrée = inactif)  
BinaryDefault Icône reflétant l’état de la commande liée (coche verte = actif, croix rouge = inactif)  
BinarySwitch Interrupteur à bascule ON/OFF color, color_switch
BtnAlert Bouton avec icône clochette reflétant l’état de la commande liée  
Button Bouton simple d’exécution  
Circle Cercle plein (ON) / cercle vide (OFF)  
Fan Ventilateur (ON) / croix (OFF)  
Garage Garage fermé vert (ON) / garage ouvert rouge (OFF)  
Light Ampoule allumée jaune (ON) / ampoule éteinte (OFF)  
Lock Cadenas fermé (ON) / cadenas ouvert orange (OFF)  
Prise Icône prise (ON) / croix (OFF)  
Sprinkle Arrosage bleu (ON) / croix (OFF)  
Toggle Interrupteur activé jaune (ON) / désactivé (OFF)  
ToggleLine Interrupteur activé jaune (ON) / désactivé (OFF), affichage inline  

Action / Curseur

Widget Description Paramètres optionnels
Button Curseur avec boutons + et − pour ajustement précis step, width
Shutter Curseur spécialisé pour la position d’un volet color, step, invert
Slider Curseur horizontal color, step
SliderVertical Curseur vertical color, step
Value Champ de saisie numérique direct color, step, noslider, width
Light Ampoule allumée jaune (ON) / ampoule éteinte (OFF)  

Action / Liste

Widget Description Paramètres optionnels
Select Liste déroulante de valeurs prédéfinies  

Action / Message

Widget Description Paramètres optionnels
Input Formulaire d’envoi d’un message avec titre et corps title, title_placeholder, title_possibility_list, title_disable, message_placeholder, message, message_disable

Équipements

Les équipements (ou tuiles) possèdent certains paramètres de configuration accessibles via la configuration avancée de l’équipement, onglet “Affichage” → “Paramètres optionnels sur la tuile”:

Widgets personnalisés

La page Widgets, accessible par le menu Outils → Widgets, vous permet d’ajouter des widgets personnalisés en complément de ceux disponibles par défaut dans Jeedom.

Il existe deux types de widgets personnalisés :

Gestion

Widgets

Quatre options s’offrent à vous :

Mes widgets

Dans cette partie vous retrouverez l’ensemble des widgets que vous avez créés classés par type.

Mes Widgets

INFORMATION

Vous pouvez ouvrir un widget en faisant :

  • Clic sur l’un d’entre eux.
  • Ctrl+Clic ou Clic+Centre pour l’ouvrir dans un nouvel onglet du navigateur.

Le moteur de recherche vous permet de filtrer l’affichage des widgets selon différents critères (nom, type, sous-type, etc…). La touche Echap annule la recherche.

Recherche Widgets

A droite du champ de recherche, trois boutons que l’on retrouve à plusieurs endroits dans Jeedom:

Une fois sur la page de configuration d’un widget, un menu contextuel est accessible au Clic Droit sur les onglets du widget. Vous pouvez également utiliser un Ctrl+Clic ou Clic+Centre pour ouvrir directement un autre widget dans un nouvel onglet du navigateur.

Création d’un widget

Une fois sur la page Outils → Widgets il vous faut cliquer sur le bouton “Ajouter” et donner un nom à votre nouveau widget.

Ensuite :

Les templates

Définition d’un template

Pour faire simple, c’est du code (HTML/JS), intégré au Core, dont certaines parties sont configurables par l’utilisateur via l’interface graphique du menu Widgets. A partir de la même base et en prenant en compte les éléments que vous allez renseigner dans le template, le Core va générer des widgets uniques correspondant à l’affichage que vous souhaitez obtenir.

Suivant le type de widget, vous pouvez généralement personnaliser les icônes, mettre les images de votre choix et/ou intégrer du code HTML.

Il existe deux types de template :

Remplacement

C’est ce que l’on appelle un template simple, ici vous avez juste à dire que le “ON” correspond à telle icône/image (à l’aide du bouton choisir), le “OFF” à telle autre icône/image, etc…

Les widgets Core de type remplacement disponibles sont :

Widget Types/Sous-types
Template Icon Info/Binaire, Action/Défaut, Action/Curseur
Template Iconline Info/Binaire, Action/Défaut
Template Img Info/Binaire, Action/Défaut, Action/Curseur

La case Time widget, si disponible, est équivalente au paramètre time: duration (voir Commandes).

Pour les template utilisant des images, il vous est proposé de paramétrer la largeur du widget en pixel en fonction du support (Largeur desktop & Largeur mobile). Des images différentes peuvent également être sélectionnées selon le thème actif de Jeedom (light ou dark).

INFORMATION

Pour les utilisateurs avancés il est possible de mettre des tags dans les valeurs de remplacement et de spécifier leur valeur dans la configuration avancée de la commande. Si, par exemple, dans Largeur desktop vous mettez comme valeur #largeur_desktop# (attention à bien mettre les # autour) puis dans la configuration avancée d’une commande, onglet affichage → “Paramètres optionnels widget” vous ajoutez le paramètre largeur_desktop (sans les #) et lui donnez la valeur “90”, ce widget personnalisé sur cette commande aura une largeur de 90 pixels. Cela permet d’adapter la taille du widget à chaque commande sans avoir à faire un widget spécifique à chaque fois.

Test

C’est ce que l’on appelle les templates multistates (plusieurs états). Au lieu de mettre une image pour le “ON et/ou pour le “OFF comme dans le cas précèdent, vous allez affecter une icône en fonction de la validation d’une condition (test). Si celle-ci est vraie alors le widget affichera l’icône/l’image en question.

Les widgets Core de type multistate disponibles sont :

Widget Types/Sous-types
Template Multistate Info/Numérique, Info/Autre
Template Multistateline Info/Autre

Comme précédemment, différentes images peuvent être sélectionnées en fonction du thème actif sur Jeedom et la case Time widget permet d’afficher la durée depuis le dernier changement d’état.

Les tests sont sous la forme : #value# == 1, #value# sera automatiquement remplacé par la valeur actuelle de la commande. Vous pouvez aussi faire par exemple :

IMPORTANT

Il est indispensable de faire apparaitre les apostrophes () autour du texte à comparer si la valeur est un texte (info/autre).

INFORMATION

Il est possible d’afficher la valeur de la commande dans le widget en précisant #value# dans le code HTML du test. Pour afficher l’unité ajoutez #unite#.
Pour les utilisateurs avancés, il est possible d’utiliser aussi des fonctions javascript telle que #value#.match("^plop") pour vérifier si le texte commence par plop.

Widget code

Les tags

En mode code vous avez accès à différents tags pour les commandes, en voici une liste (pas forcément exhaustive) :

Mise à jour des valeurs

Lors d’une nouvelle valeur Jeedom va chercher dans la page si la commande est là et dans jeedom.cmd.update si il y a une fonction d’update. Si oui il l’appelle avec un unique argument qui est un objet sous la forme :

{display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#'}

Voila un exemple simple de code javascript à mettre dans votre widget :

<script>
    jeedom.cmd.addUpdateFunction('#id#', function(_options) {
      if (is_object(cmd = document.querySelector('.cmd[data-cmd_id="#id#"]'))) {
        cmd.setAttribute('title', ': ' + _options.valueDate + '<br>: ' + _options.collectDate)
        cmd.querySelector('.value').innerHTML = _options.display_value
        cmd.querySelector('.unit').innerHTML = _options.unit
      }
    }
    jeedom.cmd.refreshValue([{ cmd_id: '#id#', value: '#value#', display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#' }])
</script>

Ici deux choses importantes :

jeedom.cmd.addUpdateFunction('#id#', function(_options) {
  if (is_object(cmd = document.querySelector('.cmd[data-cmd_id="#id#"]'))) {
    cmd.setAttribute('title', ': ' + _options.valueDate + '<br>: ' + _options.collectDate)
    cmd.querySelector('.value').innerHTML = _options.display_value
    cmd.querySelector('.unit').innerHTML = _options.unit
  }
}

La fonction est appelée lors d’une mise à jour du widget. Elle met alors à jour le code html du widget_template.

jeedom.cmd.refreshValue([{ cmd_id: '#id#', value: '#value#', display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#' }])

L’appel à cette fonction pour l’initialisation du widget.

Exemples

Vous trouverez ici des exemples de widgets (dans les dossiers dashboard et mobile)

Toggle d’icône ON/OFF

Concernant les widgets pour interrupteurs (on/off, allumer/éteindre, ouvrir/fermer, etc…), il peut-être considéré comme plus agréable visuellement de n’afficher qu’une icône reflétant l’état de l’appareil à contrôler.

Cette possibilité est utilisable aussi bien avec les widgets par défaut qu’avec les widgets personnalisés.

Pour se faire, il est nécessaire de prendre en compte 2 pré-requis :

Exemple Widget ToggleLink

Conseil Décocher la case “Afficher” de la commande info/binaire qui n’aura pas besoin d’être affichée.

INFORMATION

Tant que le nom normalisé reste lisible il est possible d’adapter le nommage, par exemple ouvrir_volet ou volet_fermer, marche_2 et arret_2, etc.

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.