This is a work in progress, based upon reports in the forum, the author's own devices and reading of various documentation. It will be incomplete, so if you have a device that isn't reported here or have a device that reports a different value, please provide a report in the [Z-Wave section](https://community.openpeerpower.io/c/configuration/zwave) of the forum or the `#zwave` channel on [Discord](https://discord.gg/RkajcgS).
Binary Sensor
Devices that support the Binary Sensor command class will create one (or more) entities starting with binary_sensor
. For example, if the node is door_sensor
then the binary sensor entity will be binary_sensor.door_sensor
.
These will normally be on
when the sensor is active, otherwise they will be off
. Some devices use on
for closed, and some use on
for open, and some devices allow you to change how they report.
Alarm
This is for a single purpose sensor, multi sensors are explained under Multi Sensor.
Devices (usually sensors) that support the Alarm command class will create entities starting with sensor
, and with some generic suffixes, and a suffix that relates to the supported alarm class. For example, the smoke detector lounge
will have an entity sensor.lounge_smoke
, and possibly also sensor.lounge_alarm_type
and sensor.lounge_alarm_level
. If the device creates a binary_sensor
entity, it is recommended to use that rather then the sensor
entity.
Note that the older Z-Wave alarm command class version 1 didn’t have standardized types, and so each manufacturer specified their own version and type info. With Version 2 the alarm type was standardized to the below list. See the openzwave alarm command class documents for more info. You can see which version your sensor supports via the zwcfg_0x*.xml
file. An example with version 2 support:
```xml %}
```
### Alarm Type Entity
[//]: # (from the openzwave source found here: https://github.com/OpenZWave/open-zwave/blob/master/cpp/src/command_classes/Alarm.cpp#L56)
- Version 2 **alarm_type**:
- **0**: General purpose
- **1**: Smoke sensor
- **2**: Carbon Monoxide (CO) sensor
- **3**: Carbon Dioxide (CO2) sensor
- **4**: Heat sensor
- **5**: Water leak (flood) sensor
- **6**: Access control
- **7**: Burglar
- **8**: Power management
- **9**: System
- **10**: Emergency
- **11**: Clock
- **12**: Appliance
- **13**: Home Health
- Version 1 (manufacturer-specific) **alarm_type**:
- **9**: Lock jammed
- **18**: Lock locked with user code
- **19**: Lock unlocked with user code
- **21**: Manual lock
- **22**: Manual unlock
- **24**: Locked by RF
- **25**: Unlocked by RF
- **27**: Auto lock
- **33**: User deleted
- **112**: Master code changed, or user added
- **113**: Duplicate PIN code error
- **130**: RF Module power cycled
- **161**: Tamper alarm
- **167**: Low battery
- **168**: Critical battery level
- **169**: Battery too low to operate
### Alarm Level Entity
The meaning of the `alarm_level` entity depends on the nature of the alarm sensor.
#### Smoke, CO, and CO2
- **1**: Detection - will include a Node Location Report
- **2**: Detection (unknown location)
- **254**: Unknown event
#### Heat
- **1**: Overheat detected - will include a Node Location Report
- **2**: Overheat detected (unknown location)
- **3**: Rapid temperature rise - will include a Node Location Report
- **4**: Rapid temperature rise (unknown location)
- **5**: Underheat detection - will include a Node Location Report
- **6**: Underheat detection (unknown location)
- **254**: Unknown event
#### Water leak
- **1**: Water leak detected - will include a Node Location Report
- **2**: Water leak detected (unknown location)
- **3**: Water level dropped - will include a Node Location Report
- **4**: Water level dropped (unknown location)
- **254**: Unknown event
#### Access control
- **1**: Manual lock
- **2**: Manual unlock
- **3**: RF lock
- **4**: RF unlock
- **5**: Keypad lock - will include the User Identifier of the User Code Report
- **6**: Keypad unlock - will include the User Identifier of the User Code Report
- **254**: Unknown event
#### Burglar
- **1**: Intrusion - will include a Node Location Report
- **2**: Intrusion (unknown location)
- **3**: Tampering (case opened)
- **4**: Tampering (invalid code)
- **5**: Glass break - will include a Node Location Report
- **6**: Glass break (invalid code)
- **254**: Unknown event
#### Power Management
- **1**: Power applied
- **2**: AC disconnected
- **3**: AC re-connected
- **4**: Surge detection
- **5**: Voltage drop or drift
- **254**: Unknown event
#### System Alarm
- **1**: System hardware failure
- **2**: System software failure
- **254**: Unknown event
#### Emergency Alarm
- **1**: Contact Police
- **2**: Contact Fire Service
- **3**: Contact Medical Service
- **254**: Unknown event
#### Alarm Clock
- **1**: Wake up
- **254**: Unknown event
### Access Control Entity
- **access_control**: These *may* vary between brands
- **22**: Open
- **23**: Closed
- **254**: Deep sleep
- **255**: Case open
If your device has an `access_control` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/integrations/binary_sensor.template/) to create one (here we've defined it as a door, but you can use [any relevant device class](/integrations/binary_sensor/#device-class):
```yaml
binary_sensor:
- platform: template
sensors:
YOUR_SENSOR:
friendly_name: "Friendly name here"
device_class: door
value_template: "{{ is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') }}"
```
### Burglar Entity
- **burglar**: These *may* vary between brands
- **0**: Not active
- **2**: Smoke (?)
- **3**: Tamper
- **8**: Motion
- **22**: Open
- **23**: Closed
- **254**: Deep sleep
- **255**: Case open
If your device has a `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/integrations/binary_sensor.template/) to create one (here we've defined it as a motion sensor, but you can use [any relevant device class](/integrations/binary_sensor/#device-class):
```yaml
binary_sensor:
- platform: template
sensors:
YOUR_SENSOR:
friendly_name: "Friendly name here"
device_class: motion
value_template: "{{ is_state('sensor.YOUR_SENSOR_burglar', '8') }}"
```
### Source Node ID Entity
- **sourcenodeid**: Reports the sensor that generated the alarm - this is only valid for Zensor Net based devices
## Multisensor
Multi sensor devices will create a number of entities, one for each sensor, potentially a `binary_sensor` entity, and probably also `alarm_type` and `alarm_level` entities.
These are all generally self explanatory, however it's worth noting:
- **ultraviolet** sensors will usually report zero indoors, as UVB is blocked by glass
- **luminance** sensors should report in [Lux](https://en.wikipedia.org/wiki/Lux)