From b5f4b5883282aeb0a506938a9a1a701800777aca Mon Sep 17 00:00:00 2001 From: Steffen Rusitschka Date: Sat, 10 Oct 2020 20:42:19 +0200 Subject: [PATCH] Add rx mode to homematic.put_paramset service (#40065) --- homeassistant/components/homematic/__init__.py | 8 ++++++-- homeassistant/components/homematic/const.py | 1 + homeassistant/components/homematic/services.yaml | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/homematic/__init__.py b/homeassistant/components/homematic/__init__.py index 97f3bf05205..2dd8349dcfc 100644 --- a/homeassistant/components/homematic/__init__.py +++ b/homeassistant/components/homematic/__init__.py @@ -36,6 +36,7 @@ from .const import ( ATTR_PARAM, ATTR_PARAMSET, ATTR_PARAMSET_KEY, + ATTR_RX_MODE, ATTR_TIME, ATTR_UNIQUE_ID, ATTR_VALUE, @@ -201,6 +202,7 @@ SCHEMA_SERVICE_PUT_PARAMSET = vol.Schema( vol.Required(ATTR_ADDRESS): vol.All(cv.string, vol.Upper), vol.Required(ATTR_PARAMSET_KEY): vol.All(cv.string, vol.Upper), vol.Required(ATTR_PARAMSET): dict, + vol.Optional(ATTR_RX_MODE): vol.All(cv.string, vol.Upper), } ) @@ -392,15 +394,17 @@ def setup(hass, config): # here instead of a dict, so add this explicit cast. # The service schema makes sure that this cast works. paramset = dict(service.data.get(ATTR_PARAMSET)) + rx_mode = service.data.get(ATTR_RX_MODE) _LOGGER.debug( - "Calling putParamset: %s, %s, %s, %s", + "Calling putParamset: %s, %s, %s, %s, %s", interface, address, paramset_key, paramset, + rx_mode, ) - homematic.putParamset(interface, address, paramset_key, paramset) + homematic.putParamset(interface, address, paramset_key, paramset, rx_mode) hass.services.register( DOMAIN, diff --git a/homeassistant/components/homematic/const.py b/homeassistant/components/homematic/const.py index 22ac7972c4d..cd474428113 100644 --- a/homeassistant/components/homematic/const.py +++ b/homeassistant/components/homematic/const.py @@ -25,6 +25,7 @@ ATTR_TIME = "time" ATTR_UNIQUE_ID = "unique_id" ATTR_PARAMSET_KEY = "paramset_key" ATTR_PARAMSET = "paramset" +ATTR_RX_MODE = "rx_mode" ATTR_DISCOVERY_TYPE = "discovery_type" ATTR_LOW_BAT = "LOW_BAT" ATTR_LOWBAT = "LOWBAT" diff --git a/homeassistant/components/homematic/services.yaml b/homeassistant/components/homematic/services.yaml index d2a14101666..2dc850330f0 100644 --- a/homeassistant/components/homematic/services.yaml +++ b/homeassistant/components/homematic/services.yaml @@ -82,3 +82,6 @@ put_paramset: paramset: description: A paramset dictionary example: '{"WEEK_PROGRAM_POINTER": 1}' + rx_mode: + description: The receive mode used. + example: BURST