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”.
Voici les widgets intégrés au Core Jeedom, leurs usages et leurs paramètres de personnalisation.
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.
| 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) |
| 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 |
| 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 |
| Widget | Description | Paramètres optionnels |
|---|---|---|
| Default | Sélecteur de couleur complet (roue chromatique + valeur hex) | |
| Picker | Sélecteur de couleur simplifié |
| 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 |
| 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) |
| Widget | Description | Paramètres optionnels |
|---|---|---|
| Select | Liste déroulante de valeurs prédéfinies |
| 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 |
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”:
col2 pour les équipements en version mobile va permettre de doubler la largeur du widget.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 :

Quatre options s’offrent à vous :
Dans cette partie vous retrouverez l’ensemble des widgets que vous avez créés classés par type.

INFORMATION
Vous pouvez ouvrir un widget en faisant :
Clicsur l’un d’entre eux.Ctrl+ClicouClic+Centrepour 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.

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.
Une fois sur la page Outils → Widgets il vous faut cliquer sur le bouton “Ajouter” et donner un nom à votre nouveau widget.
Ensuite :
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 :
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ètrelargeur_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.
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 :
#value# > 1#value# >= 1 && #value# <= 5#value# == 'toto'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 parplop.
En mode code vous avez accès à différents tags pour les commandes, en voici une liste (pas forcément exhaustive) :
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.
Vous trouverez ici des exemples de widgets (dans les dossiers dashboard et mobile)
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
Conseil Décocher la case “Afficher” de la commande info/binaire qui n’aura pas besoin d’être affichée.
'on':'on',
'off':'off',
'monter':'on',
'descendre':'off',
'ouvrir':'on',
'ouvrirStop':'on',
'ouvert':'on',
'fermer':'off',
'activer':'on',
'desactiver':'off',
'désactiver':'off',
'lock':'on',
'unlock':'off',
'marche':'on',
'arret':'off',
'arrêt':'off',
'stop':'off',
'go':'on'
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.