
* Sets front matter defaults * Removes default front matter from section templates/pages * Removes default front matter from addon pages * Removes default front matter from integration pages * Removes default front matter from posts * Removes default front matter from docs pages * Removes default front matter from other pages * Fixes blog category pages
5.6 KiB
title, description, logo, ha_category, ha_release, ha_iot_class, featured, redirect_from
title | description | logo | ha_category | ha_release | ha_iot_class | featured | redirect_from | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Zigbee Home Automation | Instructions on how to integrate your Zigbee Home Automation (ZHA) devices within Home Assistant. | zigbee.png |
|
0.44 | Local Polling | true |
|
Zigbee Home Automation integration for Home Assistant allows you to connect many off-the-shelf Zigbee based devices to Home Assistant, using one of the available Zigbee radio modules compatible with zigpy (an open source Python library implementing a Zigbee stack, which in turn relies on separate libraries which can each interface a with Zigbee radio module a different manufacturer).
There is currently support for the following device types within Home Assistant:
- Binary Sensor
- Sensor
- Light
- Lock
- Switch
- Fan
ZHA exception and deviation handling
Zigbee devices that deviate from or do not fully conform to the standard specifications set by the Zigbee Alliance may require the development of custom ZHA Device Handlers (ZHA custom quirks handler implementation) to for all their functions to work properly with the ZHA integration in Home Assistant. These ZHA Device Handlers for Home Assistant can thus be used to parse custom messages to and from Zigbee devices.
The custom quirks implementations for zigpy implemented as ZHA Device Handlers for Home Assistant are a similar concept to that of Hub-connected Device Handlers for the SmartThings Classics platform as well as that of Zigbee-Shepherd Converters as used by Zigbee2mqtt, meaning they are each virtual representations of a physical device that expose additional functionality that is not provided out-of-the-box by the existing integration between these platforms.
Known working Zigbee radio modules
- EmberZNet based radios using the EZSP protocol (via the bellows library for zigpy)
- Nortek GoControl QuickStick Combo Model HUSBZB-1 (Z-Wave & Zigbee USB Adapter)
- Elelabs Zigbee USB Adapter
- Elelabs Zigbee Raspberry Pi Shield
- Telegesis ETRX357USB (Note! This first have to be flashed with other EmberZNet firmware)
- Telegesis ETRX357USB-LRS (Note! This first have to be flashed with other EmberZNet firmware)
- Telegesis ETRX357USB-LRS+8M (Note! This first have to be flashed with other EmberZNet firmware)
- XBee Zigbee based radios (via the zigpy-xbee library for zigpy)
- Digi XBee Series 3 (xbee3-24) modules
- Digi XBee Series 2C (S2C) modules
- Digi XBee Series 2 (S2) modules (Note! This first have to be flashed with Zigbee Coordinator API firmware)
- Dresden-Elektronik deCONZ based Zigbee radios (via the zigpy-deconz library for zigpy)
Configuration
To configure the component, a zha
section must be present in the configuration.yaml
,
and the path to the serial device for the radio and path to the database which will persist your network data is required.
# Example configuration.yaml entry
zha:
usb_path: /dev/ttyUSB2
database_path: /home/homeassistant/.homeassistant/zigbee.db
{% configuration %}
radio_type:
description: One of ezsp
, xbee
or deconz
.
required: false
type: string
default: ezsp
usb_path:
description: Path to the serial device for the radio.
required: true
type: string
baudrate:
description: Baud rate of the serial device.
required: false
type: integer
default: 57600
database_path:
description: Full path to the database which will keep persistent network data.
required: true
type: string
enable_quirks:
description: Enable quirks mode for devices where manufacturers didn't follow specs.
required: false
type: boolean
default: true
{% endconfiguration %}
To add new devices to the network, call the permit
service on the zha
domain. Do this by clicking the Service icon in Developer tools and typing zha.permit
in the Service dropdown box. Next, follow the device instructions for adding, scanning or factory reset.
In case you want to add Philips Hue bulbs that have previously been added to another bridge, have a look at: https://github.com/vanviegen/hue-thief/
Troubleshooting
ZHA Start up issue with Home-Assistant Docker/Hass.io installs on linux hosts
On Linux hosts ZHA can fail to start during HA startup or restarts because the zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.
To remove modemmanager from an Debian/Ubuntu host run this command:
sudo apt-get purge modemmanager