Un widget es la representación gráfica de un pedido. Cada widget es específico del tipo y subtipo del comando al que se debe aplicar, así como de la versión desde la que se accede a Jeedom (escritorio o móvil).
Antes de echar un vistazo a la personalización de widgets, descubramos las posibilidades que ofrecen ciertos widgets presentes por defecto en Core Jeedom.
Los dispositivos (o mosaicos) tienen ciertos parámetros de configuración accesibles a través de la configuración avanzada del dispositivo, pestaña “Pantalla” → “Parámetros opcionales en el mosaico”.
col2
para dispositivos en versión móvil permitirá duplicar el ancho del widget.Este widget es un poco especial porque es un widget de múltiples comandos, es decir, ensambla el valor de varios comandos. Aquí toma los comandos de temperatura y humedad. Para configurarlo, debes asignar el widget a los controles de temperatura y humedad de tu equipo.
0.5
, el widget será 2 veces más pequeño.IMPORTANTE
Es ABSOLUTAMENTE necesario que se indiquen los tipos genéricos;Temperatura
en el control de temperatura yHumedad
en el control de humedad (esto se configura en la configuración avanzada del control, pestaña de configuración).
NOTA
Atención en un diseño, es importante no poner un comando solo con este widget, no funcionará ya que es un widget que utiliza el valor de varios comandos, es absolutamente necesario poner el widget completo
Este widget se utiliza para mostrar el contenido de una información / otro comando en varias líneas.
Widget para acción / control del cursor con botón “+” y un botón “-” permitiendo actuar con precisión sobre un valor.
Widget para mostrar niveles de agua.
0.5
, el widget será 2 veces más pequeño.0
.Respecto a los widgets para conmutadores (encender / apagar, encender / apagar, abrir / cerrar, etc…), Puede considerarse más agradable visualmente mostrar solo un icono que refleje el estado del dispositivo que se va a controlar.
Esta posibilidad se puede utilizar tanto con widgets predeterminados como con widgets personalizados.
Para hacerlo, es necesario tener en cuenta 2 requisitos previos :
Ejemplo
Consejo
Desmarcar “Afficher” del comando info / binario que no será necesario mostrar.
''
'on':'on',
'off':'off',
'monter':'on',
'descendre':'off',
'ouvrir':'on',
'ouvrirStop':'on',
'ouvert':'on',
'fermer':'off',
'activer':'on',
'desactiver':'off',
'deshabilitar':'off',
'lock':'on',
'unlock':'off',
'marche':'on',
'arret':'off',
'deténgase':'off',
'stop':'off',
'go':'on'
‘’Truco
Siempre que el nombre estandarizado siga siendo legible, es posible adaptar el nombre, por ejemplo open_volet Dónde shutter_close, 2 de Marzo y parada_2, etc..
La página de Widgets, accesible desde el menú Herramientas → Widgets, le permite agregar widgets personalizados además de los disponibles por defecto en Jeedom.
Hay dos tipos de widgets personalizados :
Tienes cuatro opciones :
En esta parte encontrarás todos los widgets que has creado clasificados por tipo.
Truco
Puede abrir un widget haciendo :
Click
en uno de ellos.Ctrl + Click
oClick + Center
para abrirlo en una nueva pestaña del navegador.
El motor de búsqueda te permite filtrar la visualización de widgets según diferentes criterios (nombre, tipo, subtipo, etc…). La tecla Esc
cancela la búsqueda.
A la derecha del campo de búsqueda, tres botones que se pueden encontrar en varios lugares de Jeedom:
Una vez en la página de configuración de un widget, se puede acceder a un menú contextual haciendo `` clic derecho ‘’ en las pestañas del widget. También puede usar un Ctrl + Click
o Click + Center
para abrir directamente otro widget en una nueva pestaña del navegador.
Una vez en la página Herramientas → Widgets tienes que hacer clic en el botón “Para agregar” y dale un nombre a tu nuevo widget.
Próximo :
En pocas palabras, es código (HTML / JS), integrado en el Core, algunas partes del cual son configurables por el usuario a través de la interfaz gráfica del menú Widgets. A partir de la misma base de datos y teniendo en cuenta los elementos que ingresarás en la plantilla, el Core generará widgets únicos correspondientes a la pantalla que deseas obtener.
Dependiendo del tipo de widget, generalmente puede personalizar los íconos, poner las imágenes de su elección y / o incrustar código HTML.
Hay dos tipos de plantillas :
Esto se llama una plantilla simple, aquí solo tiene que decir que el “Nosotros” coincide con ese icono / imagen (usando el botón elegir), la “Apagado” a otro icono / imagen, etc…
La caja Widget de tiempo, si está disponible, muestra la duración desde el último cambio de estado en el widget.
Para las plantillas que usan imágenes, puede configurar el ancho del widget en píxeles según el soporte (Ancho de escritorio Y Ancho movible). También se pueden seleccionar diferentes imágenes de acuerdo con el tema activo de Jeedom (claro u oscuro).
Truco
Para usuarios avanzados, es posible colocar etiquetas en los valores de reemplazo y especificar su valor en la configuración avanzada del comando.
Si, por ejemplo, en Ancho de escritorio pones como valor ‘#largeur_desktop#’’ (tenga cuidado de poner el ‘’#’’ autour) puis dans la configuratinosotros avancée d’une commande, ongly affichage → “Paramètres optionnels widget” vous ajoutez la paramètre ‘‘largeur_desktop’’ (sans les ‘’#`) y darle el valor “90”, este widget personalizado en este comando tendrá 90 píxeles de ancho. Esto le permite adaptar el tamaño del widget a cada pedido sin tener que hacer un widget específico cada vez.
Esto se llama plantillas multiestado (varios estados). En lugar de poner una imagen para el “Nosotros y / o para el “Apagado como en el caso anterior, se le asignará un icono según la validación de una condición (test). Si esto es cierto, el widget mostrará el icono / imagen en cuestión.
Como antes, se pueden seleccionar diferentes imágenes según el tema activo en Jeedom y el cuadro Widget de tiempo muestra la duración desde el último cambio de estado.
Las pruebas están en forma : ‘‘#value# == 1,
#value#`será reemplazado automáticamente por el valor actual del comando. También puedes hacer por ejemplo :
NOTA
Es imprescindible mostrar los apóstrofos (‘) alrededor del texto para comparar si el valor es texto (info / otro).
NOTA
Para usuarios avanzados, también es posible utilizar funciones javascript como#value#.match ("^ plop")
, aquí probamos si el texto comienza conplop
.
NOTA
Es posible mostrar el valor del comando en el widget especificando#value#
en el código HTML de la prueba. Para mostrar la unidad, agregue `#unite#’’.
En el modo de código tiene acceso a diferentes etiquetas para pedidos, aquí hay una lista (no necesariamente exhaustiva)) :
Cuando un nuevo valor, Jeedom buscará en la página si el comando está allí y en Jeedom.cmd.actualizar si hay una función de actualización. En caso afirmativo, lo llama con un solo argumento que es un objeto en la forma :
''
{mostrar_valor: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#'}
‘’
Aquí hay un ejemplo simple de código JavaScript para poner en su widget :
''
<script>
jeedom.cmd.addUpdateFunction('#id#', función (_options) {
if (is_object(cmd = document.querySelector('.cmd[data-cmd_id="#id#"]'))) {
cmd.setAttribute('título', ': ' + _opciones.valorFecha + '<br>: ' + _opciones.collectDate)
cmd.querySelector('.value').innerHTML = _options.display_value
cmd.querySelector('.unidad').innerHTML = _opciones.unidad
}
}
jeedom.cmd.refreshValue([{ cmd_id: '#id#', value: '#value#', mostrar_valor: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#' }])
</script>
‘’
Aquí hay dos cosas importantes :
''
jeedom.cmd.addUpdateFunction('#id#', función (_options) {
if (is_object(cmd = document.querySelector('.cmd[data-cmd_id="#id#"]'))) {
cmd.setAttribute('título', ': ' + _opciones.valorFecha + '<br>: ' + _opciones.collectDate)
cmd.querySelector('.value').innerHTML = _options.display_value
cmd.querySelector('.unidad').innerHTML = _opciones.unidad
}
}
‘’
La función se llama durante una actualización del widget. Luego actualiza el código html del widget_template.
''
jeedom.cmd.refreshValue([{ cmd_id: '#id#', value: '#value#', mostrar_valor: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#' }])
‘’
La llamada a esta función para la inicialización del widget.
Encontraras aquí ejemplos de widgets (en el tablero y carpetas móviles)