From 6a7e28cc8565eec9a540cb0d8ea61f75e4372131 Mon Sep 17 00:00:00 2001 From: Rohit Kabadi Date: Sat, 25 Jul 2015 18:46:47 -0700 Subject: [PATCH] - Added support for getting power on SP2101W devices (returns None on SP1101W) --- .coveragerc | 1 + .../www_static/polymer/home-assistant-js | 2 +- homeassistant/components/switch/edimax.py | 27 +++++++++++++++---- homeassistant/external/netdisco | 2 +- homeassistant/external/pyedimax | 2 +- homeassistant/external/pymysensors | 2 +- homeassistant/external/pynetgear | 2 +- homeassistant/external/pywemo | 2 +- 8 files changed, 29 insertions(+), 11 deletions(-) diff --git a/.coveragerc b/.coveragerc index 39a3dee22bf..a2ad399f1a3 100644 --- a/.coveragerc +++ b/.coveragerc @@ -53,6 +53,7 @@ omit = homeassistant/components/sensor/systemmonitor.py homeassistant/components/sensor/time_date.py homeassistant/components/sensor/transmission.py + homeassistant/components/sensor/edimax.py homeassistant/components/switch/hikvisioncam.py homeassistant/components/switch/wemo.py homeassistant/components/thermostat/nest.py diff --git a/homeassistant/components/frontend/www_static/polymer/home-assistant-js b/homeassistant/components/frontend/www_static/polymer/home-assistant-js index 94d8682c1e7..232302b2f58 160000 --- a/homeassistant/components/frontend/www_static/polymer/home-assistant-js +++ b/homeassistant/components/frontend/www_static/polymer/home-assistant-js @@ -1 +1 @@ -Subproject commit 94d8682c1e7679ae744e8419896d5d7b0bdd16cc +Subproject commit 232302b2f589fa216b6531e65dae5dafd851f6f0 diff --git a/homeassistant/components/switch/edimax.py b/homeassistant/components/switch/edimax.py index 3754b452a2d..1b8ec4e0a4a 100644 --- a/homeassistant/components/switch/edimax.py +++ b/homeassistant/components/switch/edimax.py @@ -9,6 +9,7 @@ import logging from homeassistant.components.switch import SwitchDevice from homeassistant.const import CONF_HOST, CONF_USERNAME, CONF_PASSWORD + # pylint: disable=unused-argument def setup_platform(hass, config, add_devices_callback, discovery_info=None): """ Find and return Edimax Smart Plugs. """ @@ -24,14 +25,14 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None): return host = config.get(CONF_HOST) - auth=(config.get(CONF_USERNAME, 'admin'), - config.get(CONF_PASSWORD, '1234')) + auth = (config.get(CONF_USERNAME, 'admin'), + config.get(CONF_PASSWORD, '1234')) if not host: - logging.getLogger(__name__).error('Missing config variable %s', CONF_HOST) + logging.getLogger(__name__).error( + 'Missing config variable %s', CONF_HOST) return False - add_devices_callback([SmartPlugSwitch(SmartPlug(host, auth))]) @@ -46,6 +47,22 @@ class SmartPlugSwitch(SwitchDevice): #TODO: dynamically get name from device using requests return 'Edimax Smart Plug' + @property + def current_power_mwh(self): + """ Current power usage in mwh. """ + try: + return float(self.smartplug.now_power) / 1000000.0 + except ValueError: + return None + + @property + def today_power_mw(self): + """ Today total power usage in mw. """ + try: + return float(self.smartplug.now_energy_day) / 1000.0 + except ValueError: + return None + @property def is_on(self): """ True if switch is on. """ @@ -57,4 +74,4 @@ class SmartPlugSwitch(SwitchDevice): def turn_off(self): """ Turns the switch off. """ - self.smartplug.state = 'OFF' \ No newline at end of file + self.smartplug.state = 'OFF' diff --git a/homeassistant/external/netdisco b/homeassistant/external/netdisco index b2cad7c2b95..0e2a4d4e3ec 160000 --- a/homeassistant/external/netdisco +++ b/homeassistant/external/netdisco @@ -1 +1 @@ -Subproject commit b2cad7c2b959efa8eee9b5ac62d87232bf0b5176 +Subproject commit 0e2a4d4e3eccc0895872d1046ef748b05d26ba90 diff --git a/homeassistant/external/pyedimax b/homeassistant/external/pyedimax index 3815f3bd99f..674ada04c42 160000 --- a/homeassistant/external/pyedimax +++ b/homeassistant/external/pyedimax @@ -1 +1 @@ -Subproject commit 3815f3bd99fb9dcd4d9e5e6fc58626f5873e43db +Subproject commit 674ada04c42da5c1103205293a078be73f661fd6 diff --git a/homeassistant/external/pymysensors b/homeassistant/external/pymysensors index cd5ef892eee..7fb5c0ef877 160000 --- a/homeassistant/external/pymysensors +++ b/homeassistant/external/pymysensors @@ -1 +1 @@ -Subproject commit cd5ef892eeec0ad027727f7e8f757e7f2927da97 +Subproject commit 7fb5c0ef877c285d5d98ca0c0c6cbee552164d34 diff --git a/homeassistant/external/pynetgear b/homeassistant/external/pynetgear index e946ecf7926..8863fdd3565 160000 --- a/homeassistant/external/pynetgear +++ b/homeassistant/external/pynetgear @@ -1 +1 @@ -Subproject commit e946ecf7926b9b2adaa1e3127a9738201a1b1fc7 +Subproject commit 8863fdd356556bc82e6d236ad2bc662e7d091ff0 diff --git a/homeassistant/external/pywemo b/homeassistant/external/pywemo index ca94e41faa4..eef7dae12a0 160000 --- a/homeassistant/external/pywemo +++ b/homeassistant/external/pywemo @@ -1 +1 @@ -Subproject commit ca94e41faa48c783f600a2efd550c6b7dae01b0d +Subproject commit eef7dae12a073db7b8ac58340bf1cd6a1fea78c6