mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 10:47:10 +00:00
Update AdjustRange Handler Service Calls. (#31016)
Add a AlexaGlobalCatalog value to all labels.
This commit is contained in:
parent
93d109e524
commit
4015a046d2
@ -1203,7 +1203,10 @@ class AlexaModeController(AlexaCapability):
|
|||||||
f"{cover.ATTR_POSITION}.{cover.STATE_CLOSED}",
|
f"{cover.ATTR_POSITION}.{cover.STATE_CLOSED}",
|
||||||
[AlexaGlobalCatalog.VALUE_CLOSE],
|
[AlexaGlobalCatalog.VALUE_CLOSE],
|
||||||
)
|
)
|
||||||
self._resource.add_mode(f"{cover.ATTR_POSITION}.custom", ["Custom"])
|
self._resource.add_mode(
|
||||||
|
f"{cover.ATTR_POSITION}.custom",
|
||||||
|
["Custom", AlexaGlobalCatalog.SETTING_PRESET],
|
||||||
|
)
|
||||||
return self._resource.serialize_capability_resources()
|
return self._resource.serialize_capability_resources()
|
||||||
|
|
||||||
return None
|
return None
|
||||||
@ -1397,7 +1400,7 @@ class AlexaRangeController(AlexaCapability):
|
|||||||
unit = self.entity.attributes.get(input_number.ATTR_UNIT_OF_MEASUREMENT)
|
unit = self.entity.attributes.get(input_number.ATTR_UNIT_OF_MEASUREMENT)
|
||||||
|
|
||||||
self._resource = AlexaPresetResource(
|
self._resource = AlexaPresetResource(
|
||||||
["Value"],
|
["Value", AlexaGlobalCatalog.SETTING_PRESET],
|
||||||
min_value=min_value,
|
min_value=min_value,
|
||||||
max_value=max_value,
|
max_value=max_value,
|
||||||
precision=precision,
|
precision=precision,
|
||||||
|
@ -1211,18 +1211,26 @@ async def async_api_adjust_range(hass, config, directive, context):
|
|||||||
range_delta = int(range_delta)
|
range_delta = int(range_delta)
|
||||||
service = SERVICE_SET_COVER_POSITION
|
service = SERVICE_SET_COVER_POSITION
|
||||||
current = entity.attributes.get(cover.ATTR_POSITION)
|
current = entity.attributes.get(cover.ATTR_POSITION)
|
||||||
data[cover.ATTR_POSITION] = response_value = min(
|
position = response_value = min(100, max(0, range_delta + current))
|
||||||
100, max(0, range_delta + current)
|
if position == 100:
|
||||||
)
|
service = cover.SERVICE_OPEN_COVER
|
||||||
|
elif position == 0:
|
||||||
|
service = cover.SERVICE_CLOSE_COVER
|
||||||
|
else:
|
||||||
|
data[cover.ATTR_POSITION] = position
|
||||||
|
|
||||||
# Cover Tilt
|
# Cover Tilt
|
||||||
elif instance == f"{cover.DOMAIN}.tilt":
|
elif instance == f"{cover.DOMAIN}.tilt":
|
||||||
range_delta = int(range_delta)
|
range_delta = int(range_delta)
|
||||||
service = SERVICE_SET_COVER_TILT_POSITION
|
service = SERVICE_SET_COVER_TILT_POSITION
|
||||||
current = entity.attributes.get(cover.ATTR_TILT_POSITION)
|
current = entity.attributes.get(cover.ATTR_TILT_POSITION)
|
||||||
data[cover.ATTR_TILT_POSITION] = response_value = min(
|
tilt_position = response_value = min(100, max(0, range_delta + current))
|
||||||
100, max(0, range_delta + current)
|
if tilt_position == 100:
|
||||||
)
|
service = cover.SERVICE_OPEN_COVER_TILT
|
||||||
|
elif tilt_position == 0:
|
||||||
|
service = cover.SERVICE_CLOSE_COVER_TILT
|
||||||
|
else:
|
||||||
|
data[cover.ATTR_TILT_POSITION] = tilt_position
|
||||||
|
|
||||||
# Input Number Value
|
# Input Number Value
|
||||||
elif instance == f"{input_number.DOMAIN}.{input_number.ATTR_VALUE}":
|
elif instance == f"{input_number.DOMAIN}.{input_number.ATTR_VALUE}":
|
||||||
|
@ -1553,9 +1553,37 @@ async def test_cover_position_range(hass):
|
|||||||
assert properties["namespace"] == "Alexa.RangeController"
|
assert properties["namespace"] == "Alexa.RangeController"
|
||||||
assert properties["value"] == 100
|
assert properties["value"] == 100
|
||||||
|
|
||||||
|
call, msg = await assert_request_calls_service(
|
||||||
|
"Alexa.RangeController",
|
||||||
|
"AdjustRangeValue",
|
||||||
|
"cover#test_range",
|
||||||
|
"cover.open_cover",
|
||||||
|
hass,
|
||||||
|
payload={"rangeValueDelta": "99"},
|
||||||
|
instance="cover.position",
|
||||||
|
)
|
||||||
|
properties = msg["context"]["properties"][0]
|
||||||
|
assert properties["name"] == "rangeValue"
|
||||||
|
assert properties["namespace"] == "Alexa.RangeController"
|
||||||
|
assert properties["value"] == 100
|
||||||
|
|
||||||
|
call, msg = await assert_request_calls_service(
|
||||||
|
"Alexa.RangeController",
|
||||||
|
"AdjustRangeValue",
|
||||||
|
"cover#test_range",
|
||||||
|
"cover.close_cover",
|
||||||
|
hass,
|
||||||
|
payload={"rangeValueDelta": "-99"},
|
||||||
|
instance="cover.position",
|
||||||
|
)
|
||||||
|
properties = msg["context"]["properties"][0]
|
||||||
|
assert properties["name"] == "rangeValue"
|
||||||
|
assert properties["namespace"] == "Alexa.RangeController"
|
||||||
|
assert properties["value"] == 0
|
||||||
|
|
||||||
await assert_range_changes(
|
await assert_range_changes(
|
||||||
hass,
|
hass,
|
||||||
[(25, "-5"), (35, "5"), (0, "-99"), (100, "99")],
|
[(25, "-5"), (35, "5")],
|
||||||
"Alexa.RangeController",
|
"Alexa.RangeController",
|
||||||
"AdjustRangeValue",
|
"AdjustRangeValue",
|
||||||
"cover#test_range",
|
"cover#test_range",
|
||||||
@ -2769,9 +2797,37 @@ async def test_cover_tilt_position_range(hass):
|
|||||||
assert properties["namespace"] == "Alexa.RangeController"
|
assert properties["namespace"] == "Alexa.RangeController"
|
||||||
assert properties["value"] == 100
|
assert properties["value"] == 100
|
||||||
|
|
||||||
|
call, msg = await assert_request_calls_service(
|
||||||
|
"Alexa.RangeController",
|
||||||
|
"AdjustRangeValue",
|
||||||
|
"cover#test_tilt_range",
|
||||||
|
"cover.open_cover_tilt",
|
||||||
|
hass,
|
||||||
|
payload={"rangeValueDelta": "99"},
|
||||||
|
instance="cover.tilt",
|
||||||
|
)
|
||||||
|
properties = msg["context"]["properties"][0]
|
||||||
|
assert properties["name"] == "rangeValue"
|
||||||
|
assert properties["namespace"] == "Alexa.RangeController"
|
||||||
|
assert properties["value"] == 100
|
||||||
|
|
||||||
|
call, msg = await assert_request_calls_service(
|
||||||
|
"Alexa.RangeController",
|
||||||
|
"AdjustRangeValue",
|
||||||
|
"cover#test_tilt_range",
|
||||||
|
"cover.close_cover_tilt",
|
||||||
|
hass,
|
||||||
|
payload={"rangeValueDelta": "-99"},
|
||||||
|
instance="cover.tilt",
|
||||||
|
)
|
||||||
|
properties = msg["context"]["properties"][0]
|
||||||
|
assert properties["name"] == "rangeValue"
|
||||||
|
assert properties["namespace"] == "Alexa.RangeController"
|
||||||
|
assert properties["value"] == 0
|
||||||
|
|
||||||
await assert_range_changes(
|
await assert_range_changes(
|
||||||
hass,
|
hass,
|
||||||
[(25, "-5"), (35, "5"), (0, "-99"), (100, "99")],
|
[(25, "-5"), (35, "5")],
|
||||||
"Alexa.RangeController",
|
"Alexa.RangeController",
|
||||||
"AdjustRangeValue",
|
"AdjustRangeValue",
|
||||||
"cover#test_tilt_range",
|
"cover#test_tilt_range",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user