Add support for Z-Wave battery level (#26943)

* Add support for Z-Wave battery level

* Improve coverage
This commit is contained in:
Andrew Onyshchuk 2019-09-27 12:21:04 -05:00 committed by Paulus Schoutsen
parent b1a9fa47ca
commit eeffd090a3
3 changed files with 30 additions and 1 deletions

View file

@ -1,7 +1,7 @@
"""Support for Z-Wave sensors."""
import logging
from homeassistant.core import callback
from homeassistant.components.sensor import DOMAIN
from homeassistant.components.sensor import DOMAIN, DEVICE_CLASS_BATTERY
from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from . import const, ZWaveDeviceEntity
@ -28,6 +28,8 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
def get_device(node, values, **kwargs):
"""Create Z-Wave entity device."""
# Generic Device mappings
if values.primary.command_class == const.COMMAND_CLASS_BATTERY:
return ZWaveBatterySensor(values)
if node.has_command_class(const.COMMAND_CLASS_SENSOR_MULTILEVEL):
return ZWaveMultilevelSensor(values)
if (
@ -107,3 +109,12 @@ class ZWaveAlarmSensor(ZWaveSensor):
"""
pass
class ZWaveBatterySensor(ZWaveSensor):
"""Representation of Z-Wave device battery level."""
@property
def device_class(self):
"""Return the class of this device."""
return DEVICE_CLASS_BATTERY