First attempt at adding Z-wave COMMAND_CLASS_ALARM

This commit is contained in:
ntouran 2016-01-11 20:46:45 -08:00
parent cdf24ec205
commit c1aa1fb0e0
2 changed files with 20 additions and 1 deletions

View File

@ -73,6 +73,9 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
elif (value.command_class == zwave.COMMAND_CLASS_METER and
value.type == zwave.TYPE_DECIMAL):
add_devices([ZWaveMultilevelSensor(value)])
elif value.command_class == zwave.COMMAND_CLASS_ALARM:
add_devices([ZWaveAlarmSensor(value)])
class ZWaveSensor(Entity):
@ -216,3 +219,17 @@ class ZWaveMultilevelSensor(ZWaveSensor):
return TEMP_FAHRENHEIT
else:
return unit
class ZWaveAlarmSensor(ZWaveSensor):
""" A Z-wave sensor that sends Alarm alerts
Examples include certain Multisensors that have motion and vibration capabilities.
Z-Wave defines various alarm types such as Smoke, Flood, Burglar, CarbonMonoxide, etc.
This wraps these events.
COMMAND_CLASS_ALARM is what we get here.
"""
@property
def state(self):
""" Returns the state of the sensor. """
return str(self._value.data)

View File

@ -37,6 +37,7 @@ COMMAND_CLASS_SENSOR_BINARY = 48
COMMAND_CLASS_SENSOR_MULTILEVEL = 49
COMMAND_CLASS_METER = 50
COMMAND_CLASS_BATTERY = 128
COMMAND_CLASS_ALARM = 113 # 0x71
GENRE_WHATEVER = None
GENRE_USER = "User"
@ -53,7 +54,8 @@ DISCOVERY_COMPONENTS = [
DISCOVER_SENSORS,
[COMMAND_CLASS_SENSOR_BINARY,
COMMAND_CLASS_SENSOR_MULTILEVEL,
COMMAND_CLASS_METER],
COMMAND_CLASS_METER,
COMMAND_CLASS_ALARM],
TYPE_WHATEVER,
GENRE_USER),
('light',