Franck Nijhof c464056402
Making our website faster, cleaner and prettier (#9853)
* 🔥 Removes octopress.js

* 🔥 Removes use of root_url var

* 🔥 Removes Octopress generator reference from feed

* 🔥 Removes delicious support

* 🔥 Removes support for Pinboard

* 🔥 Removes support for Disqus

* 🔥 Removes support for Google Plus

* ↩️ Migrate custom after_footer to default template

* ↩️ Migrate custom footer to default template

* ↩️ Migrate custom header to default template

* 🔥 Removes unused template files

* 🚀 Places time to read directly in post template

* 🚀 Removes unneeded capture from archive_post.html template

* 🔥 🚀 Removes unused, but heaving sorting call in component page

* 🚀 Merged javascripts into a single file

* 🔥 Removes more uses of root_url

* 🚀 Removal of unneeded captures from head

* 🔥 🚀 Removal of expensive liquid HTML compressor

* 🔥 Removes unneeded templates

* 🚀 Replaces kramdown with GitHub's CommonMark 🚀

* 💄 Adds Prism code syntax highlighting

*  Adds support for redirect in Netlify

* ↩️ 🔥 Let Netlify handle all developer doc redirects

* ✏️ Fixes typo in redirects file: Netify -> Netlify

* 🔥 Removes unused .themes folder

* 🔥 Removes unused aside.html template

* 🔥 Removes Disqus config leftover

* 🔥 Removes rouge highlighter config

* 🔥 Removes Octopress 🎉

* 💄 Adjust code block font size and adds soft wraps

* 💄 Adds styling for inline code blocks

* 💄 Improve styling of note/warning/info boxes + div support

* 🔨 Rewrites all note/warning/info boxes
2019-07-15 22:17:54 +02:00

8.1 KiB

title description logo ha_category ha_release ha_iot_class redirect_from
Zigbee Instructions on how to integrate a Zigbee network with Home Assistant. zigbee.png
Binary Sensor
Light
Sensor
Switch
0.12 Local Polling
/components/binary_sensor.zigbee/
/components/light.zigbee/
/components/sensor.zigbee/
/components/switch.zigbee/

Zigbee integration for Home Assistant allows you to utilize modules such as the XBee as wireless General Purpose Input/Output (GPIO) devices. The integration requires a local Zigbee device to be connected to a serial port. Through this, it will send and receive commands to and from other devices on the Zigbee mesh network.

There is currently support for the following device types within Home Assistant:

Configuration

The local Zigbee device (assuming XBee) must have an up to date Router or Coordinator API firmware installed.

A zigbee section must be present in the configuration.yaml file and contain the following options as required:

# Example configuration.yaml entry
zigbee:

{% configuration %} device: description: The serial port to which the local Zigbee device is connected. required: false type: string default: "/dev/ttyUSB0" baud: description: The baud rate at which to communicate with the local Zigbee device. required: false type: integer default: 9600 {% endconfiguration %}

To find the possible serial port names of your device, run:

ls /dev/ttyUSB*
The port may also appear as /dev/ttyACM* if you're communicating with the Zigbee device through an Arduino.

Example

# Example configuration.yaml entry
zigbee:
  device: /dev/ttyACM1
  baud: 115200

Binary Sensor

A zigbee binary sensor in this context is a device connected to one of the digital input pins on a Zigbee module. The states reported by such a device are limited to on or off. By default, a binary sensor is considered on when the Zigbee device's digital input pin is held 'high' and considered off when it is held low. This behavior can be inverted by setting the on_state configuration variable to low.

Configuration

To enable a digital input pin as binary sensor in your installation, add the following lines to your configuration.yaml:

# Example configuration.yaml entry
binary_sensor:
  - platform: zigbee
    name: Hallway PIR Sensor
    pin: 0

{% configuration %} name: description: The name you would like to give the binary sensor in Home Assistant. required: true type: string pin: description: The number identifying which pin to use. required: true type: integer address: description: The long 64-bit address of the remote Zigbee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local Zigbee device's pins. required: false type: string on_state: description: Either high or low, depicting whether the binary sensor is considered on when the pin is high or low. required: false default: high type: string {% endconfiguration %}

Light

A Zigbee light in this context is a light connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a light is considered on when the Zigbee device's digital output is held high and considered off when it is held low. This behavior can be inverted by setting the on_state configuration variable to low.

To configure a digital output pin as light, add the following to your configuration.yaml file:

light:
  - name: Desk Lamp
    platform: zigbee
    pin: 0

{% configuration %} name: description: The name you would like to give the light in Home Assistant. required: true type: string pin: description: The number identifying which pin to use. required: true type: integer address: description: The long 64-bit address of the remote Zigbee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local Zigbee device's pins. required: false type: string on_state: description: Either high or low, depicting whether the digital output pin is pulled high or low when the light is turned on. required: false default: high type: string {% endconfiguration %}

Sensor

There are two types of Zigbee sensor available to Home Assistant:

To configure an analog input pin sensor, add the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: zigbee
    name: My Analog Zigbee Input
    type: analog
    pin: 0
    address: 0013A2004233D138

{% configuration %} name: description: The name you would like to give the sensor in Home Assistant. required: true type: string type: description: Set to analog or temperature. required: true type: string pin: description: The number identifying which pin to sample. required: false type: integer address: description: The long 64-bit address of the remote Zigbee device whose pin you would like to sample. Do not include this variable if you want to sample the local Zigbee device's pins. required: false type: string max_volts: description: The maximum voltage which the input pin is able to read. required: false default: 1.2 type: float {% endconfiguration %}

Examples

Analog Input Pin

The analog input pins on an XBee (non-Pro) will read 0V to 1.2 V. This is translated by the xbee-helper library into a percentage. The maximum voltage your Zigbee device will read is configurable using the max_volts configuration variable.

To configure an analog input pin sensor, add the following to your configuration.yaml file:

## Example configuration.yaml entry
sensor:
  - platform: zigbee
    name: My Analog Zigbee Input
    type: analog
    pin: 0
    address: 0013A2004233D138

See the Digi knowledge base for more XBee sampling details.

Temperature Sensor

The XBee Pro (and perhaps other third party modules) contains a thermometer device which can be read by using the TP AT command.

To configure a temperature sensor device, add the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: zigbee
    name: Living Room Temperature Zigbee
    type: temperature
    address: 0013A20050E752C5

Switch

A Zigbee switch in this context is a device connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a switch is considered on when the Zigbee device's digital output is held high and considered off when it is held low. This behavior can be inverted by setting the on_state configuration variable to low.

To configure a digital output pin as switch, add the following to your configuration.yaml file:

switch:
  - name: Pond Fountain
    platform: zigbee
    pin: 0
    address: 0013A20040791FA2
    on_state: low

{% configuration %} name: description: The name you would like to give the switch in Home Assistant. required: true type: string pin: description: The number identifying which pin to use. required: true type: integer address: description: The long 64-bit address of the remote Zigbee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local Zigbee device's pins. required: false type: string on_state: description: Either high or low, depicting whether the digital output pin is pulled high or low when the switch is turned on. required: false default: high type: string {% endconfiguration %}