Publicado en

Cómo configurar la perilla inteligente Tuya ZG-101Z/D en Home Assistant (con Zigbee2MQTT)

La semana pasada analizamos la perilla inteligente Tuya ZG-101Z/D. Hoy te explico paso a paso cómo configurarla en Home Assistant para controlar el brillo y la temperatura de color de tus luces de forma intuitiva, simplemente girando la perilla.

Si aún no tienes la perilla Tuya ZG-101Z/D, puedes comprarla en los siguientes enlaces:

¿Qué conseguiremos?

Al finalizar este tutorial tendrás:

  • ✅Control de brillo girando la perilla (hacia la derecha sube, hacia la izquierda baja)
  • ✅Control de temperatura de color al pulsar y girar la perilla (más cálida/más fría).
  • ✅Una respuesta lo más fluida posible.

Requisitos previos

  • Al menos una luz compatible con control de brillo y temperatura.
  • Home Assistant con Zigbee2MQTT configurado.
  • Perilla Tuya ZG-101Z/D ya emparejada con tu red Zigbee.

Activar el modo comando en la perilla Tuya ZG-101Z/D

Para controlar el brillo, lo mejor es usar el modo comando. Asegúrate de que la perilla esté en este modo, ya que así aparecerá la acción brightness_step_up, que es la que nos interesa.

¿Qué diferencia hay entre comando y evento?

Antes de crear las automatizaciones, es importante entender cómo se comunica la perilla con Home Assistant. Cuando usamos un dispositivo Zigbee como este, Zigbee2MQTT puede enviar dos tipos de información:

  • Modo evento (Event Mode): Envía notificaciones de acciones únicas (ej. rotate_right). A menudo, espera a que termines la acción para enviar el evento, lo que puede causar que el brillo cambie a saltos. Es útil para disparar acciones únicas, pero no para un control fluido.
  • Modo comando (Command Mode): Ideal para ajustes graduales. Envía un flujo continuo de comandos mientras giras la perilla (ej. brightness_step_up, brightness_step_up…). Esto, combinado con el modo «Reiniciar» de la automatización, permite un control de brillo suave y en tiempo real.

En este tutorial vamos a usar el modo comando, que es el más directo y eficaz para asociar giros o clics a acciones como cambiar el brillo o el color de una bombilla.

Puedes activar el modo comando de dos formas:

  • Desde la interfaz de Zigbee2MQTT: ve al dispositivo, selecciona la pestaña Expone y elige comando en el desplegable correspondiente.
  • Pulsando 3 veces el botón de reset de la perilla.

Una vez activado, ya podemos empezar a crear la automatización.

modo comando evento  Tuya ZG-101Z/D

Configurar el control de brillo

Subir brillo

En Home Assistant, ve al menú lateral y selecciona «Configuración»

Menú lateral de Home Assistant con la opción 'Configuración' seleccionada para empezar a crear la automatización."

En el menú de configuración, entra en «Automatizaciones y escenas»

Menú de Configuración de Home Assistant mostrando cómo acceder a la sección de Automatizaciones y escenas para configurar un nuevo dispositivo.

Pulsa en «Crear automatización» y luego selecciona «Crear nueva automatización»

Creando una nueva automatización en Home Assistant para la perilla Tuya, seleccionando la opción 'Crear nueva automatización' para empezar desde cero.

En la sección cuando, pulsa en «Añadir disparador»

Estructura de una automatización en Home Assistant, mostrando las tres secciones principales: 'Cuando' para el disparador, 'Y si' para las condiciones, y 'Entonces hacer' para las acciones.

En el tipo de disparador, elige «Dispositivo»

Seleccionando el tipo de disparador 'Dispositivo' en Home Assistant para configurar las acciones de la perilla inteligente Tuya.

Selecciona la perilla Tuya ZG-101Z/D: en mi caso lo tengo nombrado como botón tuya

Elige como disparador la acción brightness_step_up

Configuración del disparador en Home Assistant para la perilla Tuya, usando el dispositivo 'Botón tuya' y la acción 'brightness_step_up' para subir el brillo.

Con esto ya tendríamos configurado el primer paso: subir el brillo con la perilla Tuya ZG-101Z/D. Ahora, vamos a ajustar las luces.

Configurar la acción (encender la luz con ajuste de brillo)

En la sección «Entonces hacer», pulsa «Añadir acción»

Configurando la sección de acción 'Entonces hacer' en una automatización de Home Assistant para controlar una luz con la perilla Tuya.

En el tipo de acción, selecciona Luz: Encender (puedes usar el buscador para encontrarla más rápido).

Buscando la acción 'Luz: Encender' en Home Assistant, paso necesario para poder controlar el brillo de una luz en una automatización.

Elige la entidad sobre la que quieres actuar. En mi caso, light.luz_habitacion_tuya.

Seleccionando la entidad 'Luz habitación tuya' como objetivo en la acción 'Luz: Encender' de una automatización de Home Assistant.

Configura los siguientes parámetros:

  • Transición: 1 segundo, con este ajuste debería ser suficiente, pero puedes ir probando
  • Paso de brillo: por ejemplo, 20 % (ajústalo a tu gusto)
Configuración avanzada de la acción de luz en Home Assistant, marcando 'Transición' y 'Paso de brillo' y asignando un valor del 20% para controlar la intensidad de la luz con la perilla Tuya.

Ahora, el paso más importante para la fluidez. Arriba a la derecha, pulsa en los tres puntos (⋮) y selecciona Cambiar modo. Elige el modo Reiniciar.

Menú de opciones avanzadas de una automatización en Home Assistant donde se selecciona 'Cambiar modo' para optimizar la respuesta de la perilla Tuya.

Ahora seleccionas el modo reiniciar

Seleccionando el modo de ejecución 'Reiniciar' en la configuración de una automatización de Home Assistant para garantizar un control fluido y en tiempo real de los dispositivos.

¿Por qué hacemos esto?
Cuando giras una perilla, esta envía eventos de brightness_step_up muy rápido. Si la automatización está en modo single (el predeterminado), solo procesará el primer evento e ignorará el resto hasta que termine, lo que hace que la atenuación vaya «a tirones». Al ponerlo en modo Reiniciar, cada nuevo giro interrumpe la automatización anterior y la reinicia, creando esa sensación de control suave y continuo.

Guardamos los cambios y le ponemos nombre a la acción, y asignale una categoría, así luego lo tendrás organizado, yo en mi caso, lo tengo como botón tuya, y con esto estaría terminada la primera parte

💡 Consejo: Para configurar la bajada de brillo, no hace falta repetir todo. Pulsa en los tres puntos (⋮) en la parte superior derecha de la automatización, selecciona «Duplicar» y simplemente cambia el disparador a brightness_step_down, y el paso de brillo a negativo, por ejemplo -20%

Ajustar el color de la luz (temperatura de color)

Configurar botón para subir temperatura, nuevamente repetimos los pasos

  1. En Home Assistant, ve al menú lateral y selecciona «Configuración»
  2. En el menú de configuración, entra en «Automatizaciones y escenas»
  3. Pulsa en «Crear automatización» y luego selecciona «Crear nueva automatización»
  4. Pulsa en «Añadir disparador»
  5. En el tipo de disparador, elige «Dispositivo»
  6. Selecciona nuevamente el botón
  7. Ahora tienes que elegir como disparador la acción color_temperature_step_up o color_temperature_step_down» si quieres subir o bajar la temperatura.
Configurando el disparador para hacer la luz más cálida en Home Assistant, seleccionando la acción 'color_temperature_step_down' para la perilla inteligente Tuya.

Aquí está la magia

Aquí es donde aparece una limitación de la interfaz gráfica de Home Assistant: si usamos la acción estándar «Luz: Encender», no hay una opción para aplicar un «paso» en la temperatura de color. Solo se puede fijar un valor concreto, lo cual no nos sirve para un cambio gradual.

La solución es editar la acción en modo YAML y usar una plantilla que calcule el nuevo valor automáticamente.

Hacer la luz más cálida

Ve a entonces hacer, y vuelve a darle añadir acción

Configurando el disparador para hacer la luz más fría en Home Assistant, utilizando la acción 'color_temperature_step_up' del dispositivo Tuya.

Igual que antes, seleccionas la acción «Luz: Encender»,

Seleccionando la entidad 'Luz habitación tuya' como objetivo antes de editar la acción en YAML para controlar la temperatura de color en Home Assistant.

Selecciona la entidad deseada (por ejemplo, luz habitacion tuya)

Seleccionando la entidad 'Luz habitación tuya' como objetivo antes de editar la acción en YAML para controlar la temperatura de color en Home Assistant.

Aquí es donde ya cambia la forma de configurarlo, debes pulsar en los tres puntos (⋮) junto a la acción y elige «Editar en YAML»

Cambiando al editor YAML en una acción de luz de Home Assistant para poder usar una plantilla de código y controlar la temperatura de color de forma gradual.

Sustituye el contenido por este código:

target:
entity_id: light.luz_habitacion_tuya
data:
kelvin: >
{% set current_kelvin = state_attr('light.luz_habitacion_tuya',
'color_temp_kelvin') | int(3750) %} {{ [current_kelvin - 250, 2000] | max }}
brightness: |
{{ state_attr('light.luz_habitacion_tuya', 'brightness') | int(153) }}
action: light.turn_on

📌 Importante: cambia light.luz_habitacion_tuya por el nombre real de tu bombilla o grupo de luces.

Código YAML para una automatización de Home Assistant que ajusta la temperatura de color (Kelvin) de una luz Tuya de forma gradual, usando una plantilla para hacer la luz más cálida.

¿Qué hace este código?

  • Obtiene la temperatura actual de la bombilla
  • Le resta 250 K (Puedes modificarlo a gusto si quieres que vaya más rapido)
  • Establece el nuevo valor, pero sin bajar nunca de 2000 K, debes ver cuál es el valor más bajo de tu bombilla y ajustarlo
  • Mantiene el nivel de brillo actual para evitar cambios bruscos

De esta forma conseguimos un cambio gradual, aunque Home Assistant no lo permita directamente con acciones estándar.


Hacer la luz más fría

Ahora solo hay que duplicar la automatización anterior y hacer dos cambios:

  • Disparador: cámbialo a color_temperature_step_up
  • Código YAML: sustituye la resta por una suma, y usa min para fijar el límite superior
target:
entity_id: light.luz_habitacion_tuya
data:
kelvin: >
{% set current_kelvin = state_attr('light.luz_habitacion_tuya',
'color_temp_kelvin') | int(3750) %} {{ [current_kelvin + 100, 7042] | min }}
brightness: |
{{ state_attr('light.luz_habitacion_tuya', 'brightness') | int(153) }}
action: light.turn_on
Código YAML modificado para una automatización de Home Assistant que hace la luz más fría, aumentando la temperatura Kelvin de una luz Tuya de forma gradual mediante una plantilla.

Vuelve a guardar los cambios, y no te olvides de seleccionar la categoría, lo agradecerás si algún día tienes que modificar algo.

⚠️ Ten en cuenta que esta configuración funciona con luces que permiten ajuste de temperatura en Kelvin. Algunas bombillas solo usan color_temp (en mireds), y podría ser necesario adaptar el código.

🛠️ Código adaptado a mireds

🔻 Hacer la luz más cálida (aumentar mireds)

target:
entity_id: light.luz_habitacion_tuya
data:
color_temp: >
{% set current_temp = state_attr('light.luz_habitacion_tuya', 'color_temp') | int(300) %}
{{ [current_temp + 30, 500] | min }}
brightness: >
{{ state_attr('light.luz_habitacion_tuya', 'brightness') | int(153) }}
action: light.turn_on

🔺 Hacer la luz más fría (reducir mireds)

target:
entity_id: light.luz_habitacion_tuya
data:
color_temp: >
{% set current_temp = state_attr('light.luz_habitacion_tuya', 'color_temp') | int(300) %}
{{ [current_temp - 30, 153] | max }}
brightness: >
{{ state_attr('light.luz_habitacion_tuya', 'brightness') | int(153) }}
action: light.turn_on

📌 Notas importantes

  • Sustituye light.luz_habitacion_tuya por la entidad real.
  • Ajusta el paso (±30) según la sensibilidad que quieras.
  • El valor predeterminado (int(300)) es un valor medio que funcionará si el atributo aún no está presente.

Conclusión

Con esto ya tienes una configuración funcional para controlar tanto el brillo como la temperatura de color con la perilla inteligente Tuya ZG-101Z/D en Home Assistant.

No es la única forma de hacerlo, pero es una solución eficaz y que funciona muy bien en mi instalación. Si tienes dudas o quieres compartir tu experiencia, ¡te leo en los comentarios!

También podría interesarte Meross MSS815MA: Interruptor inteligente con Matter, Wi-Fi y control por voz


Nota sobre enlaces de afiliado: Este artículo puede contener enlaces de afiliado. Si realizas una compra a través de ellos, es posible que recibamos una comisión sin que esto suponga ningún coste adicional para ti. Esto nos ayuda a mantener y mejorar nuestro trabajo.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.