Skip to content

Commit b167b8f

Browse files
authored
Cleanup and update of Z-Wave documenation (home-assistant#935)
* Update z-wave.markdown (home-assistant#917) - Notes added to Z-wave `soft-reset` about known issues by @sgauche - Fixed usage of `zwave` component, Z-Wave for references to a Z-Wave network, and OpenZWave as a project name by @sgauche
1 parent 20c56ad commit b167b8f

File tree

5 files changed

+46
-37
lines changed

5 files changed

+46
-37
lines changed

source/_includes/asides/getting_started_navigation.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ <h1 class="title delta">Getting Started Guide</h1>
4848
<li>
4949
{% active_link /getting-started/z-wave/ Z-Wave %}
5050
<ul>
51-
<li>{% active_link /getting-started/z-wave-controllers/ USB Controllers %}</li>
51+
<li>{% active_link /getting-started/z-wave-controllers/ Controllers %}</li>
5252
<li>{% active_link /getting-started/z-wave-settings/ Modifying Settings %}</li>
5353
<li>{% active_link /getting-started/z-wave-device-specific/ Device Specific %}</li>
5454
</ul>

source/getting-started/z-wave-controllers.markdown

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
layout: page
3-
title: "Z-Wave USB Controllers"
3+
title: "Z-Wave Controllers"
44
description: "Extended instructions how to setup Z-Wave."
55
date: 2016-03-24 08:49 -0700
66
sidebar: true
@@ -12,15 +12,16 @@ footer: true
1212
Z-Wave is a popular home automation protocol that is not always straightforward to setup. This page will try to help you make sense of it all.
1313

1414
<p class='note'>
15-
Upon first run, the z-wave component will take time to initialize entities and entities may appear with incomplete names. Running a network heal may expidite this proccess.
15+
Upon first run, the `zwave` component will take time to initialize entities and entities may appear with incomplete names. Running a network heal may expidite this proccess.
1616
</p>
1717

18-
## {% linkable_title Supported Z-Wave Sticks %}
18+
## {% linkable_title Supported Z-Wave USB Sticks & Hardware Modules %}
1919

2020
| Device | Works on Linux | Works on Windows | Works on OSX |
2121
|-------------------------|----------------|------------------|--------------|
2222
| Aeotec Z-Stick Series 2 | &#10003; | | |
2323
| Aeotec Z-Stick Series 5 | &#10003; | | |
24+
| Pine64 Z-Wave Module | &#10003; | | |
2425
| Razberry GPIO Module | &#10003; | | |
2526
| ZWave.me UZB1 | &#10003; | | |
2627

@@ -29,3 +30,4 @@ Upon first run, the z-wave component will take time to initialize entities and e
2930
The alternative to a stick is a hub that supports Z-Wave. Home Assistant supports the following hubs with Z-Wave support:
3031

3132
- [Vera](/components/vera/)
33+
- [Wink](/components/wink/)

source/getting-started/z-wave-device-specific.markdown

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ footer: true
1111

1212
##### {% linkable_title Motion or alarm sensors %}
1313

14-
In order for Home Assistant to recognize well the sensor, you will need to change its configuration from `Basic Set (default)` to `Binary Sensor report` or `Alarm report`. Currently there's no way to do this in Home Assistant but you can use ozwcp (OpenZWave control panel), Domoticz or similar to do it
14+
In order for Home Assistant to recognize well the sensor, you will need to change its configuration from `Basic Set (default)` to `Binary Sensor report` or `Alarm report`. Currently there's no way to do this in Home Assistant but you can use ozwcp (OpenZWave control panel), Domoticz or similar to do it.
1515
These devices will either show as a binary sensor or a sensor called `Alarm xxxx` and will report a numeric value. Test to see what value is what. Sometimes this is noted in the device manual.
1616

1717

1818
##### {% linkable_title Locks and other secure devices %}
1919

20-
These devices require a network key to be set for the zwave network before they are paired. This key is set in OpenZwave's `options.xml` which is located in Open Zwave's directory. This should also be the same directory as `config_path:` in your `configuration.yaml`. If it's not, make sure you have the same values in all the files you are using.
20+
These devices require a network key to be set for the Z-Wave network before they are paired. This key is set in OpenZwave's `options.xml` which is located in OpenZWave's directory. This should also be the same directory as `config_path:` in your `configuration.yaml`. If it's not, make sure you have the same values in all the files you are using.
2121
The option is commented out by default in `options.xml` and is a default key. Make your own unique key. The key is in Hexadecimals.
22-
It is best to pair these devices in Open Zwave Control Panel or other Zwave tool that can show you logs while pairing. Test the device before you save the configuration.
23-
Make sure you copy the newly saved `zwcfg_[home_id].xml`into your HomeAssistant config directory.
22+
It is best to pair these devices in OpenZWave Control Panel or other Z-wave tool that can show you logs while pairing. Test the device before you save the configuration.
23+
Make sure you copy the newly saved `zwcfg_[home_id].xml`into your Home Assistant configuration directory.
2424

2525

2626
##### {% linkable_title Aeon Minimote %}

source/getting-started/z-wave-settings.markdown

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ sharing: true
99
footer: true
1010
---
1111

12-
You may wish to modify the Z-Wave settings in your `ozw*.xml` file stored in the `.homeassistant` directory, or certain situations/devices may require it (i.e. Aeon Multisensor 6). To do this, utilize [Open-Zwave Control Panel](https://github.com/OpenZWave/open-zwave-control-panel). Alternatively, use [Domoticz](https://www.domoticz.com/), which incorporates the Open-Zwave Control Panel project into an easy to use Raspberry Pi image.
12+
You may wish to modify the Z-Wave settings in your `ozw*.xml` file stored in the `.homeassistant` configuration directory, or certain situations/devices may require it (i.e. Aeon Multisensor 6). To do this, utilize [Open-Zwave Control Panel](https://github.com/OpenZWave/open-zwave-control-panel). Alternatively, use [Domoticz](https://www.domoticz.com/), which incorporates the Open-Zwave Control Panel project into an easy to use Raspberry Pi image.
1313

14-
The reasoning for using these tools is that your Z-Wave controller stores the values and data that are used to control the network. The XML file in the `.homeassistant` folder acts as a settings/values cache for the Z-Wave network, so modifying it directly won't change the network values. The Open-Zwave Control Panel writes values directly to the network and will provide you with an updated `.xml` file to overwrite in your `.homeassistant` folder. This is the most foolproof way to make modifications to your Z-Wave devices.
14+
The reasoning for using these tools is that your Z-Wave controller stores the values and data that are used to control the network. The XML file in the `.homeassistant` configuration directory acts as a settings/values cache for the Z-Wave network, so modifying it directly won't change the network values. The [Open-Zwave Control Panel](https://github.com/OpenZWave/open-zwave-control-panel) writes values directly to the network and will provide you with an updated `.xml` file to overwrite in your `.homeassistant` configuration directory. This is the most foolproof way to make modifications to your Z-Wave devices.
1515

1616
Although totally normal for your Z-Wave stick (Aeon Aeotec Z-Stick Gen5 for example) to cycle through its LEDs (Yellow, Blue and Red) while plugged into your system. If you don like this behaviour then you could turn it off.
1717

18-
Use the following commands from a terminal session to your Pi where your Z-Wave stick is connected as an example.
18+
Use the following commands from a terminal session on your Pi where your Z-Wave stick is connected as an example.
1919

2020
Turn off "Disco lights":
2121

source/getting-started/z-wave.markdown

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ sharing: true
99
footer: true
1010
---
1111

12-
[Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) to be plugged into the host.
12+
[Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](https://github.com/OpenZWave/open-zwave/wiki/Controller-Compatibility-List) to be plugged into the host.
1313

14-
There is currently support for switches, lights and sensors. All will be picked up automatically after configuring this platform.
14+
There is currently support for climate, covers, lights, locks, sensors, switches and thermostats. All will be picked up automatically after configuring this platform.
1515

1616
### {% linkable_title Installation %}
1717

@@ -68,13 +68,13 @@ zwave:
6868
Configuration variables:
6969
7070
- **usb_path** (*Required*): The port where your device is connected to your Home Assistant host.
71-
- **config_path** (*Optional*): The path to the Python Open Z-Wave configuration files.
72-
- **autoheal** (*Optional*): Allows disabling auto ZWave heal at midnight. Defaults to True.
71+
- **config_path** (*Optional*): The path to the Python OpenZWave configuration files.
72+
- **autoheal** (*Optional*): Allows disabling auto Z-Wave heal at midnight. Defaults to True.
7373
- **polling_interval** (*Optional*): The time period in milliseconds between polls of a nodes value. Be careful about using polling values below 30000 (30 seconds) as polling can flood the zwave network and cause problems.
7474
- **customize** (*Optional*): This attribute contains node-specific override values:
7575
- **polling_intensity** (*Optional*): Enables polling of a value and sets the frequency of polling (0=none, 1=every time through the list, 2-every other time, etc). If not specified then your device will not be polled.
7676
77-
To find the path of your Z-Wave stick, run:
77+
To find the path of your Z-Wave USB stick or module, run:
7878
7979
```bash
8080
$ ls /dev/ttyUSB*
@@ -86,6 +86,12 @@ Or, on some other systems (such as Raspberry Pi), use:
8686
$ ls /dev/ttyACM*
8787
```
8888

89+
Or, on some other systems (such as Pine 64), use:
90+
91+
```bash
92+
$ ls /dev/ttyS*
93+
```
94+
8995
Or, on macOS, use:
9096

9197
```bash
@@ -98,9 +104,9 @@ Depending on what's plugged into your USB ports, the name found above may change
98104

99105
### {% linkable_title Adding Security Devices %}
100106

101-
Security Z-Wave devices require a network key before being added to the network using the zwave.add_node_secure service. You must edit the options.xml file, located in your python-openzwave config_path to use a network key before adding these devices.
107+
Security Z-Wave devices require a network key before being added to the network using the `zwave.add_node_secure` service. You must edit the `options.xml` file, located in your `python-openzwave config_path` to use a network key before adding these devices.
102108

103-
Edit your options.xml file:
109+
Edit your `options.xml` file:
104110

105111
```bash
106112
<!-- <Option name="NetworkKey" value="0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F 0x10" /> -->
@@ -110,52 +116,52 @@ Uncomment the line:
110116
<Option name="NetworkKey" value="0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10" />
111117
```
112118

113-
You can replace these values with your own 16 byte network key. For more information on this process see the [Open-Zwave](https://github.com/OpenZWave/open-zwave) wiki article [Adding Security Devices to OZW](https://github.com/OpenZWave/open-zwave/wiki/Adding-Security-Devices-to-OZW)
119+
You can replace these values with your own 16 byte network key. For more information on this process see the [OpenZwave](https://github.com/OpenZWave/open-zwave) wiki article [Adding Security Devices to OZW](https://github.com/OpenZWave/open-zwave/wiki/Adding-Security-Devices-to-OZW)
114120

115121
### {% linkable_title Events %}
116122

117123
#### {% linkable_title zwave.network_complete %}
118-
HomeAssistant will trigger a event when the zwave network is complete. Meaning all of the nodes on the network have been queried. This can take quite som time, depending on wakeup intervals on the battery powered devices on the network.
124+
Home Assistant will trigger a event when the Z-Wave network is complete. Meaning all of the nodes on the network have been queried. This can take quite som time, depending on wakeup intervals on the battery powered devices on the network.
119125

120126
```yaml
121-
- alias: ZWave network is complete
127+
- alias: Z-Wave network is complete
122128
trigger:
123129
platform: event
124130
event_type: zwave.network_complete
125131
```
126132
127133
#### {% linkable_title zwave.network_ready %}
128-
HomeAssistant will trigger a event when the zwave network is ready for use. Between `zwave.network_start` and `zwave.network_ready` HomeAssistant will feel sluggish when trying to send commands to zwave nodes. This is because the controller is requesting information from all of the nodes on the network. When this is triggered all awake nodes have been queried and sleeping nodes will be queried when they awake.
134+
Home Assistant will trigger a event when the Z-Wave network is ready for use. Between `zwave.network_start` and `zwave.network_ready` Home Assistant will feel sluggish when trying to send commands to Z-Wave nodes. This is because the controller is requesting information from all of the nodes on the network. When this is triggered all awake nodes have been queried and sleeping nodes will be queried when they awake.
129135

130136
```yaml
131-
- alias: ZWave network is ready
137+
- alias: Z-Wave network is ready
132138
trigger:
133139
platform: event
134140
event_type: zwave.network_ready
135141
```
136142

137143
#### {% linkable_title zwave.network_start %}
138-
HomeAssistant will trigger a event when the zwave network is set up to be started.
144+
Home Assistant will trigger a event when the Z-Wave network is set up to be started.
139145

140146
```yaml
141-
- alias: ZWave network is starting
147+
- alias: Z-Wave network is starting
142148
trigger:
143149
platform: event
144150
event_type: zwave.network_start
145151
```
146152

147153
#### {% linkable_title zwave.network_stop %}
148-
HomeAssistant will trigger a event when the zwave network stopping.
154+
Home Assistant will trigger a event when the Z-Wave network stopping.
149155

150156
```yaml
151-
- alias: ZWave network is stopping
157+
- alias: Z-Wave network is stopping
152158
trigger:
153159
platform: event
154160
event_type: zwave.network_stop
155161
```
156162

157163
#### {% linkable_title zwave.node_event %}
158-
HomeAssistant will trigger a event when command_class_basic changes value on a node.
164+
Home Assistant will trigger a event when command_class_basic changes value on a node.
159165
This can be virtually anything, so tests have to be made to determine what value equals what.
160166
You can use this for automations.
161167

@@ -173,7 +179,7 @@ Example:
173179

174180
The *object_id* and *basic_level* of all triggered events can be seen in the console output.
175181

176-
**zwave.scene_activated**
182+
#### {% linkable_title zwave.scene_activated %}
177183
Some devices can also trigger scene activation events, which can be used in automation scripts (for example the press of a button on a wall switch):
178184

179185
```yaml
@@ -192,21 +198,22 @@ The *object_id* and *scene_id* of all triggered events can be seen in the consol
192198

193199
### {% linkable_title Services %}
194200

195-
The Z-Wave component exposes seven services to help maintain the network.
201+
The `zwave` component exposes ten services to help maintain the network.
196202

197203
| Service | Description |
198204
| ------- | ----------- |
199-
| add_node | Put the zwave controller in inclusion mode. Allows one to add a new device to the zwave network.|
200-
| add_node_secure | Put the zwave controller in secure inclusion mode. Allows one to add a new device with secure communications to the zwave network. |
201-
| cancel_command | Cancels a running zwave command. If you have started a add_node or remove_node command, and decides you are not going to do it, then this must be used to stop the inclusion/exclusion command. |
202-
| heal_network | Tells the controller to "heal" the network. Bascially asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing. |
203-
| remove_node | Put the zwave controller in exclusion mode. Allows one to remove a device from the zwave network.|
205+
| add_node | Put the Z-Wave controller in inclusion mode. Allows one to add a new device to the Z-Wave network.|
206+
| add_node_secure | Put the Z-Wave controller in secure inclusion mode. Allows one to add a new device with secure communications to the Z-Wave network. |
207+
| cancel_command | Cancels a running Z-Wave command. If you have started a add_node or remove_node command, and decides you are not going to do it, then this must be used to stop the inclusion/exclusion command. |
208+
| heal_network | Tells the controller to "heal" the Z-Wave network. Bascially asks the nodes to tell the controller all of their neighbors so the controller can refigure out optimal routing. |
209+
| remove_node | Put the Z-Wave controller in exclusion mode. Allows one to remove a device from the Z-Wave network.|
204210
| soft_reset | Tells the controller to do a "soft reset". This is not supposed to lose any data, but different controllers can behave differently to a "soft reset" command.|
211+
| start_network | Starts the Z-Wave network.|
212+
| stop_network | Stops the Z-Wave network.|
205213
| test_network | Tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead".|
206214
| rename_node | Sets a node's name. Requires an `entity_id` and `name` field. |
207215

208-
The soft_reset and heal_network commands can be used as part of an automation script
209-
to help keep a zwave network running relliably. For example:
216+
The `soft_reset` and `heal_network` commands can be used as part of an automation script to help keep a Z-Wave network running reliably as shown in the example below. By default, Home Assistant will run a `heal_network` at midnight. This is a configuration option for the `zwave` component, the option defaults to `true` but can be disabled by setting `auto_heal` to false. Using the `soft_reset` function with some Z-Wave controllers can cause the Z-Wave network to hang. If you're having issues with your Z-Wave network try disabling this automation.
210217

211218
```yaml
212219
# Example configuration.yaml automation entry

0 commit comments

Comments
 (0)