From c4381f56a0a981e15765ec4e7e360a81ec95a0af Mon Sep 17 00:00:00 2001 From: Mike Degatano Date: Thu, 19 Jan 2023 11:35:25 -0500 Subject: [PATCH] Allow number entities to alexa --- homeassistant/components/alexa/entities.py | 2 ++ tests/components/alexa/test_smart_home.py | 34 ++++++++++++---------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/alexa/entities.py b/homeassistant/components/alexa/entities.py index 40aec23001..81a2075320 100644 --- a/homeassistant/components/alexa/entities.py +++ b/homeassistant/components/alexa/entities.py @@ -23,6 +23,7 @@ from homeassistant.components import ( light, lock, media_player, + number, scene, script, sensor, @@ -853,6 +854,7 @@ class ImageProcessingCapabilities(AlexaEntity): @ENTITY_ADAPTERS.register(input_number.DOMAIN) +@ENTITY_ADAPTERS.register(number.DOMAIN) class InputNumberCapabilities(AlexaEntity): """Class to represent input_number capabilities.""" diff --git a/tests/components/alexa/test_smart_home.py b/tests/components/alexa/test_smart_home.py index 54f5ca38f6..b8124d442c 100644 --- a/tests/components/alexa/test_smart_home.py +++ b/tests/components/alexa/test_smart_home.py @@ -3344,10 +3344,11 @@ async def test_cover_semantics_position_and_tilt(hass): } in tilt_state_mappings -async def test_input_number(hass): - """Test input_number discovery.""" +@pytest.mark.parametrize("domain", ["input_number", "number"]) +async def test_input_number(hass, domain: str): + """Test input_number and number discovery.""" device = ( - "input_number.test_slider", + f"{domain}.test_slider", 30, { "initial": 30, @@ -3360,7 +3361,7 @@ async def test_input_number(hass): ) appliance = await discovery_test(device, hass) - assert appliance["endpointId"] == "input_number#test_slider" + assert appliance["endpointId"] == f"{domain}#test_slider" assert appliance["displayCategories"][0] == "OTHER" assert appliance["friendlyName"] == "Test Slider" @@ -3409,8 +3410,8 @@ async def test_input_number(hass): call, _ = await assert_request_calls_service( "Alexa.RangeController", "SetRangeValue", - "input_number#test_slider", - "input_number.set_value", + f"{domain}#test_slider", + f"{domain}.set_value", hass, payload={"rangeValue": 10}, instance="input_number.value", @@ -3422,17 +3423,18 @@ async def test_input_number(hass): [(25, -5, False), (35, 5, False), (-20, -100, False), (35, 100, False)], "Alexa.RangeController", "AdjustRangeValue", - "input_number#test_slider", - "input_number.set_value", + f"{domain}#test_slider", + f"{domain}.set_value", "value", instance="input_number.value", ) -async def test_input_number_float(hass): - """Test input_number discovery.""" +@pytest.mark.parametrize("domain", ["input_number", "number"]) +async def test_input_number_float(hass, domain: str): + """Test input_number and number discovery.""" device = ( - "input_number.test_slider_float", + f"{domain}.test_slider_float", 0.5, { "initial": 0.5, @@ -3445,7 +3447,7 @@ async def test_input_number_float(hass): ) appliance = await discovery_test(device, hass) - assert appliance["endpointId"] == "input_number#test_slider_float" + assert appliance["endpointId"] == f"{domain}#test_slider_float" assert appliance["displayCategories"][0] == "OTHER" assert appliance["friendlyName"] == "Test Slider Float" @@ -3494,8 +3496,8 @@ async def test_input_number_float(hass): call, _ = await assert_request_calls_service( "Alexa.RangeController", "SetRangeValue", - "input_number#test_slider_float", - "input_number.set_value", + f"{domain}#test_slider_float", + f"{domain}.set_value", hass, payload={"rangeValue": 0.333}, instance="input_number.value", @@ -3513,8 +3515,8 @@ async def test_input_number_float(hass): ], "Alexa.RangeController", "AdjustRangeValue", - "input_number#test_slider_float", - "input_number.set_value", + f"{domain}#test_slider_float", + f"{domain}.set_value", "value", instance="input_number.value", )