From 773da3f7556fb04d4b1b1e4dddc7e0928bf1c46c Mon Sep 17 00:00:00 2001 From: Arthur Andersen Date: Sun, 15 Nov 2015 17:50:11 +0100 Subject: [PATCH 1/2] [Zwave] Add Meter command class --- homeassistant/components/sensor/zwave.py | 4 ++++ homeassistant/components/zwave.py | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/sensor/zwave.py b/homeassistant/components/sensor/zwave.py index 0c93b3d8cf1..0a9b3e8290f 100644 --- a/homeassistant/components/sensor/zwave.py +++ b/homeassistant/components/sensor/zwave.py @@ -70,6 +70,10 @@ def setup_platform(hass, config, add_devices, discovery_info=None): elif value.command_class == zwave.COMMAND_CLASS_SENSOR_MULTILEVEL: add_devices([ZWaveMultilevelSensor(value)]) + elif (value.command_class == zwave.COMMAND_CLASS_METER and + value.type == zwave.TYPE_DECIMAL): + add_devices([ZWaveMultilevelSensor(value)]) + class ZWaveSensor(Entity): """ Represents a Z-Wave sensor. """ diff --git a/homeassistant/components/zwave.py b/homeassistant/components/zwave.py index e5b321c989d..69584d93b53 100644 --- a/homeassistant/components/zwave.py +++ b/homeassistant/components/zwave.py @@ -27,6 +27,7 @@ DISCOVER_LIGHTS = "zwave.light" COMMAND_CLASS_SWITCH_MULTILEVEL = 38 COMMAND_CLASS_SENSOR_BINARY = 48 COMMAND_CLASS_SENSOR_MULTILEVEL = 49 +COMMAND_CLASS_METER = 50 COMMAND_CLASS_BATTERY = 128 GENRE_WHATEVER = None @@ -35,15 +36,18 @@ GENRE_USER = "User" TYPE_WHATEVER = None TYPE_BYTE = "Byte" TYPE_BOOL = "Bool" +TYPE_DECIMAL = "Decimal" # list of tuple (DOMAIN, discovered service, supported command # classes, value type) DISCOVERY_COMPONENTS = [ ('sensor', DISCOVER_SENSORS, - [COMMAND_CLASS_SENSOR_BINARY, COMMAND_CLASS_SENSOR_MULTILEVEL], + [COMMAND_CLASS_SENSOR_BINARY, + COMMAND_CLASS_SENSOR_MULTILEVEL, + COMMAND_CLASS_METER], TYPE_WHATEVER, - GENRE_WHATEVER), + GENRE_USER), ('light', DISCOVER_LIGHTS, [COMMAND_CLASS_SWITCH_MULTILEVEL], From 340ee171b5c76027065e5961cab7bd39b1a7d137 Mon Sep 17 00:00:00 2001 From: Arthur Andersen Date: Sun, 15 Nov 2015 17:45:20 +0100 Subject: [PATCH 2/2] [Zwave] Add zwave polling interval configuration --- homeassistant/components/zwave.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/homeassistant/components/zwave.py b/homeassistant/components/zwave.py index 69584d93b53..b982c469e59 100644 --- a/homeassistant/components/zwave.py +++ b/homeassistant/components/zwave.py @@ -20,6 +20,7 @@ REQUIREMENTS = ['pydispatcher==2.0.5'] CONF_USB_STICK_PATH = "usb_path" DEFAULT_CONF_USB_STICK_PATH = "/zwaveusbstick" CONF_DEBUG = "debug" +CONF_POLLING_INTERVAL = "polling_interval" DISCOVER_SENSORS = "zwave.sensors" DISCOVER_LIGHTS = "zwave.light" @@ -169,6 +170,10 @@ def setup(hass, config): """ Called when Home Assistant starts up. """ NETWORK.start() + polling_interval = config[DOMAIN].get(CONF_POLLING_INTERVAL, None) + if polling_interval is not None: + NETWORK.setPollInterval(polling_interval) + hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, stop_zwave) hass.bus.listen_once(EVENT_HOMEASSISTANT_START, start_zwave)