Z-Wave Entity Naming
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 of the forum or the #zwave channel on Discord.
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.
Alarm Type Entity
- alarm_type: Reports the type of the sensor
- 0: General purpose
- 1: Smoke sensor
- 2: Carbon Monoxide (CO) sensor
- 3: Carbon Dioxide (CO2) sensor
- 4: Heat sensor
- 5: Water leak sensor
- 6: Access control
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 to create one:
binary_sensor:
- platform: template
sensors:
YOUR_SENSOR:
friendly_name: "Friendly name here"
value_template: >-
{%- if is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') -%}
true
{%- else -%}
false
{%- endif -%}
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 to create one:
binary_sensor:
- platform: template
sensors:
YOUR_SENSOR:
friendly_name: "Friendly name here"
value_template: >-
{%- if is_state('sensor.YOUR_SENSOR_burglar', '8') -%}
true
{%- else -%}
false
{%- endif -%}
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