From 8f690ff077444659015b25680086915af7868374 Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Sun, 7 Feb 2016 20:26:25 +0000 Subject: [PATCH] Add support for mPort input sensors The mPort device has input pins that can be configured as digital or analog inputs. We should support those as sensors. --- homeassistant/components/sensor/mfi.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/sensor/mfi.py b/homeassistant/components/sensor/mfi.py index d032279e6dd..3aeb6736819 100644 --- a/homeassistant/components/sensor/mfi.py +++ b/homeassistant/components/sensor/mfi.py @@ -18,10 +18,14 @@ REQUIREMENTS = ['mficlient==0.2.2'] _LOGGER = logging.getLogger(__name__) +STATE_ON = 'on' +STATE_OFF = 'off' SENSOR_MODELS = [ 'Ubiquiti mFi-THS', 'Ubiquiti mFi-CS', 'Outlet', + 'Input Analog', + 'Input Digital', ] @@ -69,7 +73,10 @@ class MfiSensor(Entity): @property def state(self): - return self._port.value + if self._port.model == 'Input Digital': + return self._port.value > 0 and STATE_ON or STATE_OFF + else: + return self._port.value @property def unit_of_measurement(self): @@ -77,6 +84,8 @@ class MfiSensor(Entity): return TEMP_CELCIUS elif self._port.tag == 'active_pwr': return 'Watts' + elif self._port.model == 'Input Digital': + return 'State' return self._port.tag def update(self):