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.
¿Quieres montarte tu propio sistema Smart Home?
¿Te gustaría empezar poco a poco teniendo Google Home, Alexa o Home Assistant para controlar las luces, calefacción y otros electrodomésticos de la casa? ¡Te ayudamos!
Entra en nuestro Grupo de Telégram de Domótica y también puedes entrar a nuestro Foro de Domótica donde podrás empezar a leer y preguntar tus dudas. Además, si quieres estar al tanto de las ofertas de domótica que salen a diario para poder hacerte un sistema de domótica low cost, entra a nuestro Canal de ofertas de domótica y no te perderás ni una o si lo prefieres y no tienes Telegram, puedes entrar a nuestra página de ofertas de domótica o Smart Home en Facebook. ¡Síguenos también en nuestro Facebook, Twitter o Instagram!
¡Te esperamos!Si también buscas otro tipo de ofertas, puedes echar un ojo a nuestros otros canales:
* Tecnología en general *
* Juguetes / consolas / Juegos de mesa *
* Manualidades *
Si no tienes Telegram puedes consultar todas las ofertas en Megabazar.es
Si también buscas otro tipo de ofertas, puedes echar un ojo a nuestros otros canales:
* Tecnología en general *
* Juguetes / consolas / Juegos de mesa *
* Manualidades *
Si no tienes Telegram puedes consultar todas las ofertas en Megabazar.es
* Tecnología en general * * Juguetes / consolas / Juegos de mesa * * Manualidades *
Descubre más desde Domótica en Casa
Suscríbete y recibe las últimas entradas en tu correo electrónico.
Sheik
Buen tutorial.
¿Alguien ha logrado emparejas las bombillas de Philips (Philips Hue)?
Tengo todos los dispositivos de Xiaomi funcionando perfectamente desde hace unas semanas pero no hay manera de emparejar esas bombillas
Un saludo
eduardo
Hola, las Philips si son el modelo que pienso, van por WiFi, no Zigbee, necesitas extraer el token para poder usarlas, pero no lo haces a través de este método
Sheik
Hola Eduardo, no conozco los modelos wifi que comentas, las que yo tengo venian con un bridge Zigbee de Philips.
He probado varios procesos para resetearlas y desemparejarlas pero no hay manera que las reconozca.
Un saludo
Raul
Buenas noches.. estoy siguiendo el manual y no se donde poner los códigos del apartado (Agregando y modificando código yaml) ¿podrias dacirme donde van? esos para crear el menu para el emparejamiento??
Muchas gracias
Sheik
Hola Ruben van al fichero normal de configuración de home assistant que suele ser el fichero configuracion.yaml ubicado en /config en hass.io
Suele ser un fichero unico o varios si has decidido separar cada apartado/componente en un fichero.
Espero haberte ayudado
Jose
Buenas, he seguido el tutorial y no me arranca el server, me pone esto: “zigbee2mqtt:error 2018-10-2 14:09:34 Not connected to MQTT server!”.
He visto que en las automatizaciones hay referencias a carpetas dentro de la carpeta zigbee2mqtt. Yo dentro de esa carpeta solo tengo 3 archivos y ninguna carpeta. Y la otra duda es si en el mqtt_server es la ip de nuestra raspberry.
Gracias.
eduardo
En la carpeta zigbee2mqtt debes tener algunas carpetas, entre ellas una llamada data que es donde se encuentra la configuración, revisa que al hacer el git clone no falle
zumbio
Buenas,
no se si he entendido bien, con un aparato usb cc2531 puedo conectar todos los dispositibos zigbee que tenga o sólo uno con cada usb??
Es decir, con esto conectado a la raspberry y correctamente configurado https://www.banggood.com/es/Wireless-Zigbee-CC2531-Sniffer-Bare-Board-Packet-Protocol-Analyzer-Module-USB-Interface-Dongle-p-1227206.html?gmcCountry=ES¤cy=EUR&createTmp=1&utm_source=googleshopping&utm_medium=cpc_union&utm_content=2zou&utm_campaign=ssc-es-all&gclid=CjwKCAiAz7TfBRAKEiwAz8fKOJb47SjmXRzTqKnLV1MAaU7YWICHghsVoRPp6cdGhdumzaun_QQdLxoCISEQAvD_BwE&cur_warehouse=CN
¿Podría hacer uso de todos los sensores o actuadores zigbee que tenga en casa?
Gracias
Pedro J.
Hola.
Ando loco con este tema ya que tengo un error “zigbee2mqtt:error 3/2/2019, 1:58:12 PM Not connected to MQTT server!” y no doy con la forma de corregir esto
En la configuración tengo puesto lo siguiente:
{
“data_path”: “/share/zigbee2mqtt”,
“homeassistant”: true,
“permit_join”: true,
“mqtt_base_topic”: “zigbee2mqtt”,
“mqtt_server”: “mqtt://192.168.1.64:1883”,
“serial_port”: “/dev/ttyACM0”,
“devices”: [],
“network_key”: [],
“mqtt_user”: “mosquito”,
“mqtt_pass”: “moroto”
}
El valor para el parámetro mqtt_server, he probado también con el puerto 8883 con el mismo resultado.
El serial_port es el correcto, he probado incluyendo el parámetro disable_led y efectivamente el led se apaga.
El contenido del archivo configuration.yaml que está en \\hassio\share\zigbee2mqtt es el siguiente:
homeassistant: true
mqtt:
base_topic: zigbee2mqtt
password: moroto
server: mqtt://192.168.1.64:1883
user: mosquito
permit_join: true
serial:
port: /dev/ttyACM0
y el log me muestra esto:
[Info] Configuration file found: /share/zigbee2mqtt/configuration.yaml
[Info] Configuration written to /share/zigbee2mqtt/configuration.yaml
2019-03-02T14:29:44: PM2 log: Launching in no daemon mode
2019-03-02T14:29:45: PM2 log: App [npm:0] starting in -fork mode-
2019-03-02T14:29:45: PM2 log: App [npm:0] online
> [email protected] start /zigbee2mqtt-1.1.1
> node index.js
zigbee2mqtt:info 3/2/2019, 2:29:51 PM Logging to directory: ‘/share/zigbee2mqtt/log/2019-03-02.14-29-51’
zigbee2mqtt:info 3/2/2019, 2:29:55 PM Starting zigbee2mqtt version 1.1.1 (commit #unknown)
zigbee2mqtt:info 3/2/2019, 2:29:55 PM Starting zigbee-shepherd
zigbee2mqtt:info 3/2/2019, 2:29:58 PM Error while starting zigbee-shepherd, attemping to fix… (takes 60 seconds)
zigbee2mqtt:info 3/2/2019, 2:30:58 PM Starting zigbee-shepherd
zigbee2mqtt:info 3/2/2019, 2:30:59 PM zigbee-shepherd started
zigbee2mqtt:info 3/2/2019, 2:30:59 PM Coordinator firmware version: ‘20190109’
zigbee2mqtt:info 3/2/2019, 2:30:59 PM Currently 0 devices are joined:
zigbee2mqtt:warn 3/2/2019, 2:30:59 PM `permit_join` set to `true` in configuration.yaml.
zigbee2mqtt:warn 3/2/2019, 2:30:59 PM Allowing new devices to join.
zigbee2mqtt:warn 3/2/2019, 2:30:59 PM Set `permit_join` to `false` once you joined all devices.
zigbee2mqtt:info 3/2/2019, 2:30:59 PM Zigbee: allowing new devices to join.
zigbee2mqtt:info 3/2/2019, 2:30:59 PM Connecting to MQTT server at mqtt://192.168.1.64:1883
zigbee2mqtt:info 3/2/2019, 2:31:00 PM zigbee-shepherd ready
zigbee2mqtt:error 3/2/2019, 2:31:09 PM Not connected to MQTT server!
zigbee2mqtt:error 3/2/2019, 2:31:19 PM Not connected to MQTT server!
zigbee2mqtt:error 3/2/2019, 2:31:29 PM Not connected to MQTT server!
¿alguna ayuda sobre el motivo de porqué no se conecta?.
Gracias y saludos
eduardo
No estoy seguro, pero en mi caso tengo server: mqtt://192.168.1.64:1883 con comilla simple en la parte de la dirección, así server: ‘mqtt://192.168.1.64:1883’. Otra cosa que puedes comprobar es si el puerto está abierto (no tengas ningún firewall activado. Además, ahora que lo veo, tengo mi configuración así:
mqtt:
base_topic: zigbee2mqtt
server: 'mqtt://IPDELSERVIDOR' aqui yo tengo 'mqtt://localhost' porque está en la misma máquina
user: usuario
password: contraseña
Pedro J. Reguera
Hola Eduardo.
Gracias,
Por más que lo intento no soy capaz de que las dichosas comillas se queden en el configuration.yaml (que hay en share/zigbee2mqtt ).
Cada vez que arranco el sistema se las quita, por mucho que modifique el susodicho archivo. Si pongo las comillas simples en la configuración del addon se quedan ahí, pero en el archivo primero NO. He probado (sin comillas, claro) con el puerto y sin el puerto, y con localhost y con la ip de la raspberry, pero nada.
Descarto que no se conecte bien ya que si por elj. incluyo en la configuración (del addon) “disable_led”: “yes” el led se apaga.
También he redireccionado el puerto del router, pero no debería de ser ya que no “salgo” a internet.
Antua
He seguido el tuto y me ha ido bien, todo sin errores, pero a la hora de añadir dispositivos, los encuentros tal como dice en el tutorial en el archivo configuration.taml del addon pero no aparecen en home assistant de forma automática. No se que falta por hacer. Alguna ayuda. Gracias!
eduardo
Yo lo uso con Home Assistant sin Hass.io y hay que añadir lo de Home Assistant en la configuración así como en Home Assistant configurar el discovery de MQTT, ¿lo tienes puesto?
Yllelder
Pues me ha funcionado perfecto. Muchas gracias.
raul
Hola Eduardo,
Lo estoy intentando instalar en una VM con VMware, y no soy capaz de que me reconozca el cc2531.
He compartido el puerto que me reconoce la máquina contenedora ( COM4) a la máquina virtual de Hassio.
En system hardware de hassio veo 4 puertos ( montando y desmontando el com4, no tengo cambios ), y no funciona con ninguno, con 3 me dice que no puede setear la velocidad de transferencia y con otro que no puede conectar. /dev/ttys0 , /dev/ttys1 , /dev/ttys2 , /dev/ttys3.
Alguna sugerencia??, me quedo sin alternativas para seguir.
un saludo,