From 729df112a7054f883b52a2914a12a5f92d62ba16 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Fri, 21 Jun 2019 17:12:28 -0600 Subject: [PATCH] Add RainMachine device classes where appropriate (#24682) --- homeassistant/components/rainmachine/__init__.py | 15 +++++++++++---- homeassistant/components/rainmachine/sensor.py | 9 ++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/rainmachine/__init__.py b/homeassistant/components/rainmachine/__init__.py index 672f1be4694..97694b1431a 100644 --- a/homeassistant/components/rainmachine/__init__.py +++ b/homeassistant/components/rainmachine/__init__.py @@ -69,14 +69,15 @@ BINARY_SENSORS = { SENSORS = { TYPE_FLOW_SENSOR_CLICK_M3: ( - 'Flow Sensor Clicks', 'mdi:water-pump', 'clicks/m^3'), + 'Flow Sensor Clicks', 'mdi:water-pump', 'clicks/m^3', None), TYPE_FLOW_SENSOR_CONSUMED_LITERS: ( - 'Flow Sensor Consumed Liters', 'mdi:water-pump', 'liter'), + 'Flow Sensor Consumed Liters', 'mdi:water-pump', 'liter', None), TYPE_FLOW_SENSOR_START_INDEX: ( 'Flow Sensor Start Index', 'mdi:water-pump', None), TYPE_FLOW_SENSOR_WATERING_CLICKS: ( - 'Flow Sensor Clicks', 'mdi:water-pump', 'clicks'), - TYPE_FREEZE_TEMP: ('Freeze Protect Temperature', 'mdi:thermometer', '°C'), + 'Flow Sensor Clicks', 'mdi:water-pump', 'clicks', None), + TYPE_FREEZE_TEMP: ( + 'Freeze Protect Temperature', 'mdi:thermometer', '°C', 'temperature'), } BINARY_SENSOR_SCHEMA = vol.Schema({ @@ -371,10 +372,16 @@ class RainMachineEntity(Entity): def __init__(self, rainmachine): """Initialize.""" self._attrs = {ATTR_ATTRIBUTION: DEFAULT_ATTRIBUTION} + self._device_class = None self._dispatcher_handlers = [] self._name = None self.rainmachine = rainmachine + @property + def device_class(self): + """Return the device class.""" + return self._device_class + @property def device_info(self): """Return device registry information for this entity.""" diff --git a/homeassistant/components/rainmachine/sensor.py b/homeassistant/components/rainmachine/sensor.py index 5b7052959d8..50474f0ffd2 100644 --- a/homeassistant/components/rainmachine/sensor.py +++ b/homeassistant/components/rainmachine/sensor.py @@ -26,9 +26,10 @@ async def async_setup_entry(hass, entry, async_add_entities): sensors = [] for sensor_type in rainmachine.sensor_conditions: - name, icon, unit = SENSORS[sensor_type] + name, icon, unit, device_class = SENSORS[sensor_type] sensors.append( - RainMachineSensor(rainmachine, sensor_type, name, icon, unit)) + RainMachineSensor( + rainmachine, sensor_type, name, icon, unit, device_class)) async_add_entities(sensors, True) @@ -36,10 +37,12 @@ async def async_setup_entry(hass, entry, async_add_entities): class RainMachineSensor(RainMachineEntity): """A sensor implementation for raincloud device.""" - def __init__(self, rainmachine, sensor_type, name, icon, unit): + def __init__( + self, rainmachine, sensor_type, name, icon, unit, device_class): """Initialize.""" super().__init__(rainmachine) + self._device_class = device_class self._icon = icon self._name = name self._sensor_type = sensor_type