Si ya vimos como conseguir instalar el zigbee2mqtt para poder hacer uso de los dispositivos Xiaomi sin necesidad del gateway oficial, teniendo una total independencia de internet y de los servidores de Xiaomi, ahora podemos hacer la instalación del componente en nuestro Home Assistant, pero, en su instalación Hassio, la versión realizada por el mismo equipo de desarrolladores y que funciona de una forma compacta.
Este es el proceso a seguir para todos los que tienen hassio instalado. Previamente ya vimos como hacerlo en Raspbian, sería algo similar también para los que tienen docker, pero en vista de que tenemos también una gran parte de usuarios utilizando hassio vamos a plasmar aquí también las instrucciones.
- Primero tenemos que ir a nuestro “Addons Store” y agregar la url: https://github.com/danielwelch/hassio-zigbee2mqtt para que pueda cargar la tienda.
una vez realizado pulsamos agregar y luego instalar el addons.
- Buscamos e Instalamos el Zigbee2mqtt
- Crea un usuario mqtt para el complemento: Es recomendable un nuevo usuario para este complemento y no compartir el usuario con otros dispositivos.
- Vamos a la configuración del complemento para que pueda funcionar correctamente. Abrimos el addons y en el area de configuracion agregamos la siguiente configuración
{ "data_path": "/share/zigbee2mqtt", "homeassistant": true, "permit_join": true, "mqtt_base_topic": "zigbee2mqtt", "mqtt_server": "mqtt://ipbroker:puerto", "serial_port": "/dev/ttyACM0", "mqtt_user": "Usuario mqtt para el addons", "mqtt_pass": "Password Mqtt para el addons" }
Esta es la explicación de los parámetros de configuración:
Parámetro | Tipo | Necesario | Descripción |
---|---|---|---|
data_path | string | Sí | Establezca esto en la ruta en la que desea que el complemento persista.Debe estar dentro del directorio /share . El valor predeterminado es /share/zigbee2mqtt . |
homeassistant | bool | Sí | Establezca esto en true si desea la detección automática de MQTT.Consulte Integración con el Asistente de inicio para obtener más información. |
permit_join | bool | Sí | Se recomienda dejar esto en false y usar el emparejamiento en tiempo de ejecución . Establezca esto como true cuando configure dispositivos nuevos; asegúrese de configurarlo nuevamente en falsecuando termine. |
mqtt_server | string | Sí | La dirección del servidor MQTT. Asegúrate de incluir el protocolo.Ejemplo: mqtt://homeassistant |
mqtt_base_topic | string | Sí | Prefijo para su tema MQTT |
serial_port | string | Sí | Puerto serie para su stick CC2531. |
mqtt_user | string | no | Su nombre de usuario MQTT, si está configurado. |
mqtt_pass | string | no | Su contraseña MQTT, si está configurada. |
debug | bool | no | Establézcalo en true para habilitar el modo de depuración para zigbee-shepherd y zigbee2mqtt. Vea la wiki para más información. |
err | bool | no | Establézcalo en true para redirigir zigbee2mqtt stdout a out.log y stderr a err.log . Tanto out.log como err.log estarán ubicados en data_path arriba. |
Consejos para la configuración del zigbee2mqtt en Hassio
¿Como saber el “Serial_Port” que le ha asignado tu Hassio al usb?
En nuestro caso es “/dev/ttyACM0” Casi siempre el 99% siempre le asigna ese, pero si estas dudando y quieres asegurarte. Realiza estos siguientes pasos.
Antes de conectar el USB CC2531
- Ve al menú hass.io > System y pulgas en “Hardware”
- Veras que en Serial estará “/dev/ttyAMA0”.
Después de conectar el USB CC2531
- Ve al menu hass.io > System y pulgas en “Hardware”
- Verás que en Serial adicional al anterior aparecerá el Nuevo que sera estará “/dev/ttyACM0”.
Así aparece cuando conectas tu USB CC2531 (Indicándole que ha asignado /dev/ttyACM0)
Agregando y modificando código yaml
Emparejamiento
La forma sugerida de emparejar sus dispositivos es habilitar la opción allow_join de permit_join desde Home Assistant usando MQTT en lugar de a través de la interfaz de usuario del complemento. A continuación se muestra una configuración de ejemplo que le permitirá habilitar y deshabilitar el emparejamiento de dispositivos desde la interfaz de Home Assistant:
Agregale el siguiente tag a tu etiqueta mqtt: para que pueda auto agregar los dispositivos que encuentre zigbee cuando emparejes.
Agrega los demás Códigos
input_boolean: zigbee_permit_join: name: Allow devices to join initial: off icon: mdi:cellphone-wireless timer: zigbee_permit_join: name: Time remaining duration: 600 # Updated this to the number of seconds you wish sensor: - platform: mqtt name: Bridge state state_topic: "zigbee2mqtt/bridge/state" icon: mdi:router-wireless group: zigbee_group: name: Zigbee entities: - input_boolean.zigbee_permit_join - timer.zigbee_permit_join - sensor.bridge_state automation: - id: enable_zigbee_join alias: Enable Zigbee joining hide_entity: true trigger: platform: state entity_id: input_boolean.zigbee_permit_join to: 'on' action: - service: mqtt.publish data: topic: zigbee2mqtt/bridge/config/permit_join payload: 'true' - service: timer.start data: entity_id: timer.zigbee_permit_join - id: disable_zigbee_join alias: Disable Zigbee joining trigger: - entity_id: input_boolean.zigbee_permit_join platform: state to: 'off' action: - data: payload: 'false' topic: zigbee2mqtt/bridge/config/permit_join service: mqtt.publish - data: entity_id: timer.zigbee_permit_join service: timer.cancel hide_entity: true - id: disable_zigbee_join_timer alias: Disable Zigbee joining by timer hide_entity: true trigger: - platform: event event_type: timer.finished event_data: entity_id: timer.zigbee_permit_join action: - service: mqtt.publish data: topic: zigbee2mqtt/bridge/config/permit_join payload: 'false' - service: input_boolean.turn_off data: entity_id: input_boolean.zigbee_permit_join
Detalles
1. En el “Timer:” la etiqueta Duration: xxxx sera el tiempo en milisegundos que durara active el “Permit_Join” que sera lo que permite que el addons en conjunto con usb descubrir los equipos zigbee.
2. Para emparejar un dispositivo sera de la misma forma que emparejas el mismo con su gateway propietario. Ej: si para emparejar un sensor temperatura de Aqara xiaomi es pulsar por 5 segundos el botón sera el mismo proceso a utilizar aquí.
3. Admite todos los dispositivos que utilicen el protocolo Zigbee. También podrás encontrar una lista de dispositivos que han sido utilizado y el desarrollador de este addons ha probado correctamente. https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-devices
4. Esta es la url que te podrá aclarar como emparejar algunos dispositivos los cuales no tengas el conocimiento de como hacerlo.
https://github.com/Koenkk/zigbee2mqtt/wiki/Pairing-devices
Logs
En este log que aparece casi en todos los addons y este no sera la excepción, podrás ver la actividad del complemento y los eventos.
Recomendamos que cuando inicies el proceso de emparejamiento vayas al log para que puedas ver en el momento que se empareja así como cualquier error que pueda ocurrir.
En nuestro caso como podrán ver el nombre “0x00158d0001f400e8” que seria el nombre que el Addons colocado al dispositivo que acabas de agregar es muy feo y difícil de recorder para poder aplicar los automations que queremos o cualquier otra cosa, por lo que hemos cambiado el friendly_name. que esta en la carpeta
/share/zigbee2mqtt/ en el archivo configuration.yaml.
¿Has podido hacerlo funcionar? ¿Necesitas ayuda?
IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram de Home Assistant en Español donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.
La entrada Tutorial: Instalar Zigbee2mqtt en Hassio para usar los dispositivos Xiaomi sin gateway se publicó primero en Domótica en Casa.