Integración del controlador IR Zigbee ZS05 con SmartIR mediante Zigbee2MQTT
El controlador IR Zigbee ZS05 se conecta a Home Assistant usando Zigbee2MQTT y la integración SmartIR. El principal desafío es configurar correctamente los temas MQTT y convertir los comandos IR del formato Broadlink a Raw MQTT. Esto permite controlar dispositivos de climatización, televisores y proyectores sin los errores típicos encontrados con ZHA.
Requisitos del sistema
Necesitarás:
- Home Assistant, versión actualizada.
- Zigbee2MQTT como complemento o en Docker.
- SmartIR a través de HACS.
- Un controlador ZS05 o una alternativa compatible.
Añadir el dispositivo en Zigbee2MQTT
- Activa Permit Join en Zigbee2MQTT.
- Reinicia el ZS05 manteniendo pulsado el botón hasta que el LED parpadee.
- El dispositivo aparecerá en la interfaz de Z2M.
- Asigna un Nombre Amigable, como
ir_salon— esto determina el tema MQTTzigbee2mqtt/ir_salon.
Revisa los registros: el dispositivo debería publicar y recibir mensajes. Temas como zigbee2mqtt/ir_salon confirman la conexión.
Instalación de SmartIR
En HACS, busca el repositorio de SmartIR, instálalo y reinicia HA. La integración crea entidades como climate y media_player, que usan MQTT para enviar señales IR.
Configuración correcta en configuration.yaml
Un error común en la documentación de SmartIR es el subtema incorrecto en controller_data. Para el ZS05, usa /set/ir_code_to_send, no /command.
Ejemplo para una entidad de climatización:
smartir:
climate:
- platform: smartir
name: Aire acondicionado IR del salón
unique_id: aire_acondicionado_ir_salon
device_code: 1200
controller_data: zigbee2mqtt/ir_salon/set/ir_code_to_send
temperature_sensor: sensor.temperatura
humidity_sensor: sensor.humedad
power_sensor: binary_sensor.estado_ac
power_sensor_restore_state: true
Parámetros clave:
controller_data:zigbee2mqtt/{nombre_amigable}/set/ir_code_to_send— la ruta exacta para comandos del ZS05.device_code: Código numérico de la biblioteca SmartIR (smartir/codes/climate). Para marcas raras, coincide por protocolo (ej., Gree, Midea).- Sensores de temperatura/humedad/energía — opcionales para automatización completa.
Conversión de códigos IR a Raw MQTT
La biblioteca SmartIR almacena códigos en formato Broadlink. El ZS05 requiere Raw MQTT en Base64. Convierte los archivos:
- Descarga JSON del repositorio
smartir/codes/{tipo}. - Usa un convertidor en línea de Broadlink a Raw MQTT o un script en Python.
- Coloca el archivo convertido en
/config/custom_components/smartir/codes/climatevía Samba.
En device_code, especifica solo el número del nombre del archivo (ej., 9990).
Ejemplo de comandos convertidos para Tosot T09H-SNa/I (calor, bajo, 16°C):
{
"manufacturer": "Tosot",
"supportedModels": ["T09H-SJ"],
"supportedController": "MQTT",
"commandsEncoding": "Raw",
"minTemperature": 16,
"maxTemperature": 30,
"precision": 1,
"operationModes": ["heat", "cool", "dry", "fan_only", "heat_cool"],
"fanModes": ["low", "medium", "high", "auto"],
"commands": {
"off": "CRgjnBElAm0GJQLgCwHgAxfAC+APK+ALO8AD4A9X4AtfAQpO4B1j4AdX4B+X4Bur",
"heat": {
"low": {
"16": "BRgjnBElAsABAW0G4AEDwA/gLwHgB0vgBxvgB1/AawEKTuAdd+AHV+Azq+AHRw=="
}
}
}
}
Los comandos completos para todos los modos/temperaturas están disponibles en la biblioteca después de la conversión.
Pruebas y depuración
- Reinicia HA.
- En la interfaz de climatización, cambia la temperatura o el modo.
- En Herramientas de desarrollo → MQTT o registros de Z2M, verifica las publicaciones en
zigbee2mqtt/ir_salon/set. - El parpadeo del LED en el ZS05 y la respuesta del dispositivo confirman el éxito.
Puntos clave
- Usa el tema exacto
/{nombre_amigable}/set/ir_code_to_sendencontroller_data. - Convierte códigos a Raw MQTT para compatibilidad con el ZS05.
- Coincide
device_codepor protocolo, probando en modelos similares. - Los registros de Z2M y MQTT son las principales herramientas de depuración.
- Zigbee2MQTT es más estable que ZHA para controladores IR.
— Editorial Team
Aún no hay comentarios.