mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 11:47:06 +00:00
Bump aioesphomeapi to 31.0.0 (#144778)
* aioesphomeapi update * Bump aioesphomeapi to 31.0.0 There are some breaking changes with the protobuf naming and types required some refactoring changelog: https://github.com/esphome/aioesphomeapi/compare/v30.2.0...v31.0.0 * actually include the commit to bump the lib
This commit is contained in:
parent
6d809b0b5a
commit
c76239806d
@ -63,7 +63,7 @@ class EsphomeFan(EsphomeEntity[FanInfo, FanState], FanEntity):
|
|||||||
if self._supports_speed_levels:
|
if self._supports_speed_levels:
|
||||||
data["speed_level"] = math.ceil(
|
data["speed_level"] = math.ceil(
|
||||||
percentage_to_ranged_value(
|
percentage_to_ranged_value(
|
||||||
(1, self._static_info.supported_speed_levels), percentage
|
(1, self._static_info.supported_speed_count), percentage
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
@ -121,7 +121,7 @@ class EsphomeFan(EsphomeEntity[FanInfo, FanState], FanEntity):
|
|||||||
)
|
)
|
||||||
|
|
||||||
return ranged_value_to_percentage(
|
return ranged_value_to_percentage(
|
||||||
(1, self._static_info.supported_speed_levels), self._state.speed_level
|
(1, self._static_info.supported_speed_count), self._state.speed_level
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -164,7 +164,7 @@ class EsphomeFan(EsphomeEntity[FanInfo, FanState], FanEntity):
|
|||||||
if not supports_speed_levels:
|
if not supports_speed_levels:
|
||||||
self._attr_speed_count = len(ORDERED_NAMED_FAN_SPEEDS)
|
self._attr_speed_count = len(ORDERED_NAMED_FAN_SPEEDS)
|
||||||
else:
|
else:
|
||||||
self._attr_speed_count = static_info.supported_speed_levels
|
self._attr_speed_count = static_info.supported_speed_count
|
||||||
|
|
||||||
|
|
||||||
async_setup_entry = partial(
|
async_setup_entry = partial(
|
||||||
|
@ -8,6 +8,7 @@ from typing import TYPE_CHECKING, Any, cast
|
|||||||
|
|
||||||
from aioesphomeapi import (
|
from aioesphomeapi import (
|
||||||
APIVersion,
|
APIVersion,
|
||||||
|
ColorMode as ESPHomeColorMode,
|
||||||
EntityInfo,
|
EntityInfo,
|
||||||
LightColorCapability,
|
LightColorCapability,
|
||||||
LightInfo,
|
LightInfo,
|
||||||
@ -106,15 +107,15 @@ def _mired_to_kelvin(mired_temperature: float) -> int:
|
|||||||
|
|
||||||
|
|
||||||
@lru_cache
|
@lru_cache
|
||||||
def _color_mode_to_ha(mode: int) -> str:
|
def _color_mode_to_ha(mode: ESPHomeColorMode) -> ColorMode:
|
||||||
"""Convert an esphome color mode to a HA color mode constant.
|
"""Convert an esphome color mode to a HA color mode constant.
|
||||||
|
|
||||||
Choose the color mode that best matches the feature-set.
|
Choose the color mode that best matches the feature-set.
|
||||||
"""
|
"""
|
||||||
candidates = []
|
candidates: list[tuple[ColorMode, LightColorCapability]] = []
|
||||||
for ha_mode, cap_lists in _COLOR_MODE_MAPPING.items():
|
for ha_mode, cap_lists in _COLOR_MODE_MAPPING.items():
|
||||||
for caps in cap_lists:
|
for caps in cap_lists:
|
||||||
if caps == mode:
|
if caps.value == mode:
|
||||||
# exact match
|
# exact match
|
||||||
return ha_mode
|
return ha_mode
|
||||||
if (mode & caps) == caps:
|
if (mode & caps) == caps:
|
||||||
@ -131,8 +132,8 @@ def _color_mode_to_ha(mode: int) -> str:
|
|||||||
|
|
||||||
@lru_cache
|
@lru_cache
|
||||||
def _filter_color_modes(
|
def _filter_color_modes(
|
||||||
supported: list[int], features: LightColorCapability
|
supported: list[ESPHomeColorMode], features: LightColorCapability
|
||||||
) -> tuple[int, ...]:
|
) -> tuple[ESPHomeColorMode, ...]:
|
||||||
"""Filter the given supported color modes.
|
"""Filter the given supported color modes.
|
||||||
|
|
||||||
Excluding all values that don't have the requested features.
|
Excluding all values that don't have the requested features.
|
||||||
@ -156,7 +157,7 @@ def _least_complex_color_mode(color_modes: tuple[int, ...]) -> int:
|
|||||||
class EsphomeLight(EsphomeEntity[LightInfo, LightState], LightEntity):
|
class EsphomeLight(EsphomeEntity[LightInfo, LightState], LightEntity):
|
||||||
"""A light implementation for ESPHome."""
|
"""A light implementation for ESPHome."""
|
||||||
|
|
||||||
_native_supported_color_modes: tuple[int, ...]
|
_native_supported_color_modes: tuple[ESPHomeColorMode, ...]
|
||||||
_supports_color_mode = False
|
_supports_color_mode = False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
"mqtt": ["esphome/discover/#"],
|
"mqtt": ["esphome/discover/#"],
|
||||||
"quality_scale": "platinum",
|
"quality_scale": "platinum",
|
||||||
"requirements": [
|
"requirements": [
|
||||||
"aioesphomeapi==30.2.0",
|
"aioesphomeapi==31.0.0",
|
||||||
"esphome-dashboard-api==1.3.0",
|
"esphome-dashboard-api==1.3.0",
|
||||||
"bleak-esphome==2.15.1"
|
"bleak-esphome==2.15.1"
|
||||||
],
|
],
|
||||||
|
@ -88,9 +88,9 @@ class EsphomeSensor(EsphomeEntity[SensorInfo, SensorState], SensorEntity):
|
|||||||
return
|
return
|
||||||
if (
|
if (
|
||||||
state_class == EsphomeSensorStateClass.MEASUREMENT
|
state_class == EsphomeSensorStateClass.MEASUREMENT
|
||||||
and static_info.last_reset_type == LastResetType.AUTO
|
and static_info.legacy_last_reset_type == LastResetType.AUTO
|
||||||
):
|
):
|
||||||
# Legacy, last_reset_type auto was the equivalent to the
|
# Legacy, legacy_last_reset_type auto was the equivalent to the
|
||||||
# TOTAL_INCREASING state class
|
# TOTAL_INCREASING state class
|
||||||
self._attr_state_class = SensorStateClass.TOTAL_INCREASING
|
self._attr_state_class = SensorStateClass.TOTAL_INCREASING
|
||||||
else:
|
else:
|
||||||
|
2
requirements_all.txt
generated
2
requirements_all.txt
generated
@ -241,7 +241,7 @@ aioelectricitymaps==0.4.0
|
|||||||
aioemonitor==1.0.5
|
aioemonitor==1.0.5
|
||||||
|
|
||||||
# homeassistant.components.esphome
|
# homeassistant.components.esphome
|
||||||
aioesphomeapi==30.2.0
|
aioesphomeapi==31.0.0
|
||||||
|
|
||||||
# homeassistant.components.flo
|
# homeassistant.components.flo
|
||||||
aioflo==2021.11.0
|
aioflo==2021.11.0
|
||||||
|
2
requirements_test_all.txt
generated
2
requirements_test_all.txt
generated
@ -229,7 +229,7 @@ aioelectricitymaps==0.4.0
|
|||||||
aioemonitor==1.0.5
|
aioemonitor==1.0.5
|
||||||
|
|
||||||
# homeassistant.components.esphome
|
# homeassistant.components.esphome
|
||||||
aioesphomeapi==30.2.0
|
aioesphomeapi==31.0.0
|
||||||
|
|
||||||
# homeassistant.components.flo
|
# homeassistant.components.flo
|
||||||
aioflo==2021.11.0
|
aioflo==2021.11.0
|
||||||
|
@ -148,7 +148,7 @@ async def test_fan_entity_with_all_features_new_api(
|
|||||||
key=1,
|
key=1,
|
||||||
name="my fan",
|
name="my fan",
|
||||||
unique_id="my_fan",
|
unique_id="my_fan",
|
||||||
supported_speed_levels=4,
|
supported_speed_count=4,
|
||||||
supports_direction=True,
|
supports_direction=True,
|
||||||
supports_speed=True,
|
supports_speed=True,
|
||||||
supports_oscillation=True,
|
supports_oscillation=True,
|
||||||
|
@ -5,6 +5,7 @@ from unittest.mock import call
|
|||||||
from aioesphomeapi import (
|
from aioesphomeapi import (
|
||||||
APIClient,
|
APIClient,
|
||||||
APIVersion,
|
APIVersion,
|
||||||
|
ColorMode as ESPColorMode,
|
||||||
LightColorCapability,
|
LightColorCapability,
|
||||||
LightInfo,
|
LightInfo,
|
||||||
LightState,
|
LightState,
|
||||||
@ -58,7 +59,7 @@ async def test_light_on_off(
|
|||||||
unique_id="my_light",
|
unique_id="my_light",
|
||||||
min_mireds=153,
|
min_mireds=153,
|
||||||
max_mireds=400,
|
max_mireds=400,
|
||||||
supported_color_modes=[LightColorCapability.ON_OFF],
|
supported_color_modes=[ESPColorMode.ON_OFF],
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
states = [LightState(key=1, state=True)]
|
states = [LightState(key=1, state=True)]
|
||||||
@ -218,12 +219,14 @@ async def test_light_brightness_on_off(
|
|||||||
unique_id="my_light",
|
unique_id="my_light",
|
||||||
min_mireds=153,
|
min_mireds=153,
|
||||||
max_mireds=400,
|
max_mireds=400,
|
||||||
supported_color_modes=[
|
supported_color_modes=[ESPColorMode.ON_OFF, ESPColorMode.BRIGHTNESS],
|
||||||
LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS
|
)
|
||||||
],
|
]
|
||||||
|
states = [
|
||||||
|
LightState(
|
||||||
|
key=1, state=True, brightness=100, color_mode=ESPColorMode.BRIGHTNESS
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
states = [LightState(key=1, state=True, brightness=100)]
|
|
||||||
user_service = []
|
user_service = []
|
||||||
await mock_generic_device_entry(
|
await mock_generic_device_entry(
|
||||||
mock_client=mock_client,
|
mock_client=mock_client,
|
||||||
@ -234,6 +237,10 @@ async def test_light_brightness_on_off(
|
|||||||
state = hass.states.get("light.test_mylight")
|
state = hass.states.get("light.test_mylight")
|
||||||
assert state is not None
|
assert state is not None
|
||||||
assert state.state == STATE_ON
|
assert state.state == STATE_ON
|
||||||
|
assert state.attributes[ATTR_SUPPORTED_COLOR_MODES] == [
|
||||||
|
ColorMode.BRIGHTNESS,
|
||||||
|
]
|
||||||
|
assert state.attributes[ATTR_COLOR_MODE] == ColorMode.BRIGHTNESS
|
||||||
|
|
||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
LIGHT_DOMAIN,
|
LIGHT_DOMAIN,
|
||||||
@ -246,8 +253,7 @@ async def test_light_brightness_on_off(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=ESPColorMode.BRIGHTNESS.value,
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -264,8 +270,7 @@ async def test_light_brightness_on_off(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=ESPColorMode.BRIGHTNESS.value,
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
brightness=pytest.approx(0.4980392156862745),
|
brightness=pytest.approx(0.4980392156862745),
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -407,13 +412,18 @@ async def test_light_brightness_on_off_with_unknown_color_mode(
|
|||||||
min_mireds=153,
|
min_mireds=153,
|
||||||
max_mireds=400,
|
max_mireds=400,
|
||||||
supported_color_modes=[
|
supported_color_modes=[
|
||||||
LightColorCapability.ON_OFF
|
ESPColorMode.ON_OFF,
|
||||||
| LightColorCapability.BRIGHTNESS
|
ESPColorMode.BRIGHTNESS,
|
||||||
| LIGHT_COLOR_CAPABILITY_UNKNOWN
|
LIGHT_COLOR_CAPABILITY_UNKNOWN,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
states = [LightState(key=1, state=True, brightness=100)]
|
entity_info[0].supported_color_modes.append(LIGHT_COLOR_CAPABILITY_UNKNOWN)
|
||||||
|
states = [
|
||||||
|
LightState(
|
||||||
|
key=1, state=True, brightness=100, color_mode=LIGHT_COLOR_CAPABILITY_UNKNOWN
|
||||||
|
)
|
||||||
|
]
|
||||||
user_service = []
|
user_service = []
|
||||||
await mock_generic_device_entry(
|
await mock_generic_device_entry(
|
||||||
mock_client=mock_client,
|
mock_client=mock_client,
|
||||||
@ -436,9 +446,7 @@ async def test_light_brightness_on_off_with_unknown_color_mode(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=LIGHT_COLOR_CAPABILITY_UNKNOWN,
|
||||||
| LightColorCapability.BRIGHTNESS
|
|
||||||
| LIGHT_COLOR_CAPABILITY_UNKNOWN,
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -455,9 +463,7 @@ async def test_light_brightness_on_off_with_unknown_color_mode(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=ESPColorMode.BRIGHTNESS,
|
||||||
| LightColorCapability.BRIGHTNESS
|
|
||||||
| LIGHT_COLOR_CAPABILITY_UNKNOWN,
|
|
||||||
brightness=pytest.approx(0.4980392156862745),
|
brightness=pytest.approx(0.4980392156862745),
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -517,13 +523,10 @@ async def test_rgb_color_temp_light(
|
|||||||
) -> None:
|
) -> None:
|
||||||
"""Test a generic light that supports color temp and RGB."""
|
"""Test a generic light that supports color temp and RGB."""
|
||||||
color_modes = [
|
color_modes = [
|
||||||
LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS,
|
ESPColorMode.ON_OFF,
|
||||||
LightColorCapability.ON_OFF
|
ESPColorMode.BRIGHTNESS,
|
||||||
| LightColorCapability.BRIGHTNESS
|
ESPColorMode.COLOR_TEMPERATURE,
|
||||||
| LightColorCapability.COLOR_TEMPERATURE,
|
ESPColorMode.RGB,
|
||||||
LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS
|
|
||||||
| LightColorCapability.RGB,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
mock_client.api_version = APIVersion(1, 7)
|
mock_client.api_version = APIVersion(1, 7)
|
||||||
@ -538,7 +541,11 @@ async def test_rgb_color_temp_light(
|
|||||||
supported_color_modes=color_modes,
|
supported_color_modes=color_modes,
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
states = [LightState(key=1, state=True, brightness=100)]
|
states = [
|
||||||
|
LightState(
|
||||||
|
key=1, state=True, brightness=100, color_mode=ESPColorMode.BRIGHTNESS
|
||||||
|
)
|
||||||
|
]
|
||||||
user_service = []
|
user_service = []
|
||||||
await mock_generic_device_entry(
|
await mock_generic_device_entry(
|
||||||
mock_client=mock_client,
|
mock_client=mock_client,
|
||||||
@ -561,8 +568,7 @@ async def test_rgb_color_temp_light(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=ESPColorMode.BRIGHTNESS,
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -579,8 +585,7 @@ async def test_rgb_color_temp_light(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=ESPColorMode.BRIGHTNESS,
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
brightness=pytest.approx(0.4980392156862745),
|
brightness=pytest.approx(0.4980392156862745),
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -598,9 +603,7 @@ async def test_rgb_color_temp_light(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=ESPColorMode.COLOR_TEMPERATURE,
|
||||||
| LightColorCapability.BRIGHTNESS
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE,
|
|
||||||
color_temperature=400,
|
color_temperature=400,
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -908,12 +911,14 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
min_mireds=153,
|
min_mireds=153,
|
||||||
max_mireds=400,
|
max_mireds=400,
|
||||||
supported_color_modes=[
|
supported_color_modes=[
|
||||||
LightColorCapability.RGB
|
ESPColorMode.RGB,
|
||||||
| LightColorCapability.WHITE
|
ESPColorMode.WHITE,
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
ESPColorMode.COLOR_TEMPERATURE,
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
ESPColorMode.COLD_WARM_WHITE,
|
||||||
| LightColorCapability.ON_OFF
|
ESPColorMode.ON_OFF,
|
||||||
| LightColorCapability.BRIGHTNESS
|
ESPColorMode.BRIGHTNESS,
|
||||||
|
ESPColorMode.RGB_COLD_WARM_WHITE,
|
||||||
|
ESPColorMode.RGB_WHITE,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -928,12 +933,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
blue=1,
|
blue=1,
|
||||||
warm_white=1,
|
warm_white=1,
|
||||||
cold_white=1,
|
cold_white=1,
|
||||||
color_mode=LightColorCapability.RGB
|
color_mode=ESPColorMode.RGB_COLD_WARM_WHITE,
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
user_service = []
|
user_service = []
|
||||||
@ -946,7 +946,13 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
state = hass.states.get("light.test_mylight")
|
state = hass.states.get("light.test_mylight")
|
||||||
assert state is not None
|
assert state is not None
|
||||||
assert state.state == STATE_ON
|
assert state.state == STATE_ON
|
||||||
assert state.attributes[ATTR_SUPPORTED_COLOR_MODES] == [ColorMode.RGBWW]
|
assert state.attributes[ATTR_SUPPORTED_COLOR_MODES] == [
|
||||||
|
ColorMode.COLOR_TEMP,
|
||||||
|
ColorMode.RGB,
|
||||||
|
ColorMode.RGBW,
|
||||||
|
ColorMode.RGBWW,
|
||||||
|
ColorMode.WHITE,
|
||||||
|
]
|
||||||
assert state.attributes[ATTR_COLOR_MODE] == ColorMode.RGBWW
|
assert state.attributes[ATTR_COLOR_MODE] == ColorMode.RGBWW
|
||||||
assert state.attributes[ATTR_RGBWW_COLOR] == (255, 255, 255, 255, 255)
|
assert state.attributes[ATTR_RGBWW_COLOR] == (255, 255, 255, 255, 255)
|
||||||
|
|
||||||
@ -961,12 +967,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.RGB
|
color_mode=ESPColorMode.RGB_COLD_WARM_WHITE,
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -983,12 +984,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.RGB
|
color_mode=ESPColorMode.RGB_COLD_WARM_WHITE,
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
brightness=pytest.approx(0.4980392156862745),
|
brightness=pytest.approx(0.4980392156862745),
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -1011,14 +1007,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_brightness=1.0,
|
color_brightness=1.0,
|
||||||
color_mode=LightColorCapability.RGB
|
color_mode=ESPColorMode.RGB,
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
cold_white=0,
|
|
||||||
warm_white=0,
|
|
||||||
rgb=(pytest.approx(0.3333333333333333), 1.0, 0.0),
|
rgb=(pytest.approx(0.3333333333333333), 1.0, 0.0),
|
||||||
brightness=pytest.approx(0.4980392156862745),
|
brightness=pytest.approx(0.4980392156862745),
|
||||||
)
|
)
|
||||||
@ -1037,16 +1026,9 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_brightness=pytest.approx(0.4235294117647059),
|
color_brightness=1.0,
|
||||||
cold_white=1,
|
color_mode=ESPColorMode.RGB,
|
||||||
warm_white=1,
|
rgb=(1.0, 1.0, 1.0),
|
||||||
color_mode=LightColorCapability.RGB
|
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
rgb=(0, pytest.approx(0.5462962962962963), 1.0),
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -1063,16 +1045,10 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_brightness=pytest.approx(0.4235294117647059),
|
color_brightness=1.0,
|
||||||
cold_white=1,
|
white=1,
|
||||||
warm_white=1,
|
color_mode=ESPColorMode.RGB_WHITE,
|
||||||
color_mode=LightColorCapability.RGB
|
rgb=(1.0, 1.0, 1.0),
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
rgb=(0, pytest.approx(0.5462962962962963), 1.0),
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -1095,12 +1071,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
color_brightness=1,
|
color_brightness=1,
|
||||||
cold_white=1,
|
cold_white=1,
|
||||||
warm_white=1,
|
warm_white=1,
|
||||||
color_mode=LightColorCapability.RGB
|
color_mode=ESPColorMode.RGB_COLD_WARM_WHITE,
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
rgb=(1, 1, 1),
|
rgb=(1, 1, 1),
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
@ -1118,16 +1089,8 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_brightness=0,
|
color_temperature=400.0,
|
||||||
cold_white=0,
|
color_mode=ESPColorMode.COLOR_TEMPERATURE,
|
||||||
warm_white=100,
|
|
||||||
color_mode=LightColorCapability.RGB
|
|
||||||
| LightColorCapability.WHITE
|
|
||||||
| LightColorCapability.COLOR_TEMPERATURE
|
|
||||||
| LightColorCapability.COLD_WARM_WHITE
|
|
||||||
| LightColorCapability.ON_OFF
|
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
rgb=(0, 0, 0),
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -1733,11 +1696,16 @@ async def test_light_effects(
|
|||||||
max_mireds=400,
|
max_mireds=400,
|
||||||
effects=["effect1", "effect2"],
|
effects=["effect1", "effect2"],
|
||||||
supported_color_modes=[
|
supported_color_modes=[
|
||||||
LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS,
|
ESPColorMode.ON_OFF,
|
||||||
|
ESPColorMode.BRIGHTNESS,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
states = [LightState(key=1, state=True, brightness=100)]
|
states = [
|
||||||
|
LightState(
|
||||||
|
key=1, state=True, brightness=100, color_mode=ESPColorMode.BRIGHTNESS
|
||||||
|
)
|
||||||
|
]
|
||||||
user_service = []
|
user_service = []
|
||||||
await mock_generic_device_entry(
|
await mock_generic_device_entry(
|
||||||
mock_client=mock_client,
|
mock_client=mock_client,
|
||||||
@ -1761,8 +1729,7 @@ async def test_light_effects(
|
|||||||
call(
|
call(
|
||||||
key=1,
|
key=1,
|
||||||
state=True,
|
state=True,
|
||||||
color_mode=LightColorCapability.ON_OFF
|
color_mode=ESPColorMode.BRIGHTNESS,
|
||||||
| LightColorCapability.BRIGHTNESS,
|
|
||||||
effect="effect1",
|
effect="effect1",
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
@ -203,7 +203,7 @@ async def test_generic_numeric_sensor_legacy_last_reset_convert(
|
|||||||
key=1,
|
key=1,
|
||||||
name="my sensor",
|
name="my sensor",
|
||||||
unique_id="my_sensor",
|
unique_id="my_sensor",
|
||||||
last_reset_type=LastResetType.AUTO,
|
legacy_last_reset_type=LastResetType.AUTO,
|
||||||
state_class=ESPHomeSensorStateClass.MEASUREMENT,
|
state_class=ESPHomeSensorStateClass.MEASUREMENT,
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user