From 45de2e4028020e98e96e81980a3769e4926236d4 Mon Sep 17 00:00:00 2001 From: David Mulcahey Date: Fri, 17 Jan 2020 07:34:31 -0500 Subject: [PATCH] add multistate back --- homeassistant/components/zha/core/const.py | 1 + homeassistant/components/zha/sensor.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/homeassistant/components/zha/core/const.py b/homeassistant/components/zha/core/const.py index 708a123d02986e..bf778812453207 100644 --- a/homeassistant/components/zha/core/const.py +++ b/homeassistant/components/zha/core/const.py @@ -58,6 +58,7 @@ CHANNEL_IAS_WD = "ias_wd" CHANNEL_ILLUMINANCE = "illuminance" CHANNEL_LEVEL = ATTR_LEVEL +CHANNEL_MULTISTATE_INPUT = "multistate_input" CHANNEL_OCCUPANCY = "occupancy" CHANNEL_ON_OFF = "on_off" CHANNEL_POWER_CONFIGURATION = "power" diff --git a/homeassistant/components/zha/sensor.py b/homeassistant/components/zha/sensor.py index 3b73a9793c9158..ce02bf11d9dccd 100644 --- a/homeassistant/components/zha/sensor.py +++ b/homeassistant/components/zha/sensor.py @@ -26,6 +26,7 @@ CHANNEL_ELECTRICAL_MEASUREMENT, CHANNEL_HUMIDITY, CHANNEL_ILLUMINANCE, + CHANNEL_MULTISTATE_INPUT, CHANNEL_POWER_CONFIGURATION, CHANNEL_PRESSURE, CHANNEL_SMARTENERGY_METERING, @@ -227,6 +228,18 @@ def formatter(self, value) -> int: return round(value * self._channel.multiplier / self._channel.divisor) +@STRICT_MATCH(channel_names=CHANNEL_MULTISTATE_INPUT) +class Text(Sensor): + """Sensor that displays string values.""" + + _device_class = None + _unit = None + + def formatter(self, value) -> str: + """Return string value.""" + return value + + @STRICT_MATCH(generic_ids=CHANNEL_ST_HUMIDITY_CLUSTER) @STRICT_MATCH(channel_names=CHANNEL_HUMIDITY) class Humidity(Sensor):