mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Use the ESPHome object_id to suggest the entity id (#95852)
This commit is contained in:
parent
87f284c7e9
commit
7dc03ef301
@ -23,6 +23,7 @@ from homeassistant.const import (
|
||||
EntityCategory,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import entity_platform
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
import homeassistant.helpers.device_registry as dr
|
||||
from homeassistant.helpers.dispatcher import (
|
||||
@ -60,6 +61,7 @@ async def platform_async_setup_entry(
|
||||
entry_data: RuntimeEntryData = DomainData.get(hass).get_entry_data(entry)
|
||||
entry_data.info[info_type] = {}
|
||||
entry_data.state.setdefault(state_type, {})
|
||||
platform = entity_platform.async_get_current_platform()
|
||||
|
||||
@callback
|
||||
def async_list_entities(infos: list[EntityInfo]) -> None:
|
||||
@ -71,7 +73,7 @@ async def platform_async_setup_entry(
|
||||
for info in infos:
|
||||
if not current_infos.pop(info.key, None):
|
||||
# Create new entity
|
||||
entity = entity_type(entry_data, info, state_type)
|
||||
entity = entity_type(entry_data, platform.domain, info, state_type)
|
||||
add_entities.append(entity)
|
||||
new_infos[info.key] = info
|
||||
|
||||
@ -145,10 +147,12 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
|
||||
def __init__(
|
||||
self,
|
||||
entry_data: RuntimeEntryData,
|
||||
domain: str,
|
||||
entity_info: EntityInfo,
|
||||
state_type: type[_StateT],
|
||||
) -> None:
|
||||
"""Initialize."""
|
||||
|
||||
self._entry_data = entry_data
|
||||
self._on_entry_data_changed()
|
||||
self._key = entity_info.key
|
||||
@ -157,6 +161,9 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
|
||||
assert entry_data.device_info is not None
|
||||
device_info = entry_data.device_info
|
||||
self._device_info = device_info
|
||||
if object_id := entity_info.object_id:
|
||||
# Use the object_id to suggest the entity_id
|
||||
self.entity_id = f"{domain}.{device_info.name}_{object_id}"
|
||||
self._attr_has_entity_name = bool(device_info.friendly_name)
|
||||
self._attr_device_info = DeviceInfo(
|
||||
connections={(dr.CONNECTION_NETWORK_MAC, device_info.mac_address)}
|
||||
|
@ -61,7 +61,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("alarm_control_panel.test_my_alarm_control_panel")
|
||||
state = hass.states.get("alarm_control_panel.test_myalarm_control_panel")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ALARM_ARMED_AWAY
|
||||
|
||||
@ -69,7 +69,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_ARM_AWAY,
|
||||
{
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel",
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel",
|
||||
ATTR_CODE: 1234,
|
||||
},
|
||||
blocking=True,
|
||||
@ -83,7 +83,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_ARM_CUSTOM_BYPASS,
|
||||
{
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel",
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel",
|
||||
ATTR_CODE: 1234,
|
||||
},
|
||||
blocking=True,
|
||||
@ -97,7 +97,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_ARM_HOME,
|
||||
{
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel",
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel",
|
||||
ATTR_CODE: 1234,
|
||||
},
|
||||
blocking=True,
|
||||
@ -111,7 +111,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_ARM_NIGHT,
|
||||
{
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel",
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel",
|
||||
ATTR_CODE: 1234,
|
||||
},
|
||||
blocking=True,
|
||||
@ -125,7 +125,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_ARM_VACATION,
|
||||
{
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel",
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel",
|
||||
ATTR_CODE: 1234,
|
||||
},
|
||||
blocking=True,
|
||||
@ -139,7 +139,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_TRIGGER,
|
||||
{
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel",
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel",
|
||||
ATTR_CODE: 1234,
|
||||
},
|
||||
blocking=True,
|
||||
@ -153,7 +153,7 @@ async def test_generic_alarm_control_panel_requires_code(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_DISARM,
|
||||
{
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel",
|
||||
ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel",
|
||||
ATTR_CODE: 1234,
|
||||
},
|
||||
blocking=True,
|
||||
@ -196,14 +196,14 @@ async def test_generic_alarm_control_panel_no_code(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("alarm_control_panel.test_my_alarm_control_panel")
|
||||
state = hass.states.get("alarm_control_panel.test_myalarm_control_panel")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ALARM_ARMED_AWAY
|
||||
|
||||
await hass.services.async_call(
|
||||
ALARM_CONTROL_PANEL_DOMAIN,
|
||||
SERVICE_ALARM_DISARM,
|
||||
{ATTR_ENTITY_ID: "alarm_control_panel.test_my_alarm_control_panel"},
|
||||
{ATTR_ENTITY_ID: "alarm_control_panel.test_myalarm_control_panel"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.alarm_control_panel_command.assert_has_calls(
|
||||
@ -242,6 +242,6 @@ async def test_generic_alarm_control_panel_missing_state(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("alarm_control_panel.test_my_alarm_control_panel")
|
||||
state = hass.states.get("alarm_control_panel.test_myalarm_control_panel")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
@ -73,7 +73,7 @@ async def test_binary_sensor_generic_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.state == hass_state
|
||||
|
||||
@ -104,7 +104,7 @@ async def test_status_binary_sensor(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
@ -134,7 +134,7 @@ async def test_binary_sensor_missing_state(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
||||
@ -164,12 +164,12 @@ async def test_binary_sensor_has_state_false(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
||||
mock_device.set_state(BinarySensorState(key=1, state=True, missing_state=False))
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
@ -33,22 +33,22 @@ async def test_button_generic_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("button.test_my_button")
|
||||
state = hass.states.get("button.test_mybutton")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
||||
await hass.services.async_call(
|
||||
BUTTON_DOMAIN,
|
||||
SERVICE_PRESS,
|
||||
{ATTR_ENTITY_ID: "button.test_my_button"},
|
||||
{ATTR_ENTITY_ID: "button.test_mybutton"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.button_command.assert_has_calls([call(1)])
|
||||
state = hass.states.get("button.test_my_button")
|
||||
state = hass.states.get("button.test_mybutton")
|
||||
assert state is not None
|
||||
assert state.state != STATE_UNKNOWN
|
||||
|
||||
await mock_device.mock_disconnect(False)
|
||||
state = hass.states.get("button.test_my_button")
|
||||
state = hass.states.get("button.test_mybutton")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNAVAILABLE
|
||||
|
@ -54,7 +54,7 @@ async def test_camera_single_image(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
|
||||
@ -64,9 +64,9 @@ async def test_camera_single_image(
|
||||
mock_client.request_single_image = _mock_camera_image
|
||||
|
||||
client = await hass_client()
|
||||
resp = await client.get("/api/camera_proxy/camera.test_my_camera")
|
||||
resp = await client.get("/api/camera_proxy/camera.test_mycamera")
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
|
||||
@ -102,15 +102,15 @@ async def test_camera_single_image_unavailable_before_requested(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
await mock_device.mock_disconnect(False)
|
||||
|
||||
client = await hass_client()
|
||||
resp = await client.get("/api/camera_proxy/camera.test_my_camera")
|
||||
resp = await client.get("/api/camera_proxy/camera.test_mycamera")
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNAVAILABLE
|
||||
|
||||
@ -143,7 +143,7 @@ async def test_camera_single_image_unavailable_during_request(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
|
||||
@ -153,9 +153,9 @@ async def test_camera_single_image_unavailable_during_request(
|
||||
mock_client.request_single_image = _mock_camera_image
|
||||
|
||||
client = await hass_client()
|
||||
resp = await client.get("/api/camera_proxy/camera.test_my_camera")
|
||||
resp = await client.get("/api/camera_proxy/camera.test_mycamera")
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNAVAILABLE
|
||||
|
||||
@ -188,7 +188,7 @@ async def test_camera_stream(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
remaining_responses = 3
|
||||
@ -204,9 +204,9 @@ async def test_camera_stream(
|
||||
mock_client.request_single_image = _mock_camera_image
|
||||
|
||||
client = await hass_client()
|
||||
resp = await client.get("/api/camera_proxy_stream/camera.test_my_camera")
|
||||
resp = await client.get("/api/camera_proxy_stream/camera.test_mycamera")
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
|
||||
@ -248,16 +248,16 @@ async def test_camera_stream_unavailable(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
|
||||
await mock_device.mock_disconnect(False)
|
||||
|
||||
client = await hass_client()
|
||||
await client.get("/api/camera_proxy_stream/camera.test_my_camera")
|
||||
await client.get("/api/camera_proxy_stream/camera.test_mycamera")
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNAVAILABLE
|
||||
|
||||
@ -288,7 +288,7 @@ async def test_camera_stream_with_disconnection(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_IDLE
|
||||
remaining_responses = 3
|
||||
@ -306,8 +306,8 @@ async def test_camera_stream_with_disconnection(
|
||||
mock_client.request_single_image = _mock_camera_image
|
||||
|
||||
client = await hass_client()
|
||||
await client.get("/api/camera_proxy_stream/camera.test_my_camera")
|
||||
await client.get("/api/camera_proxy_stream/camera.test_mycamera")
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("camera.test_my_camera")
|
||||
state = hass.states.get("camera.test_mycamera")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNAVAILABLE
|
||||
|
@ -71,14 +71,14 @@ async def test_climate_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("climate.test_my_climate")
|
||||
state = hass.states.get("climate.test_myclimate")
|
||||
assert state is not None
|
||||
assert state.state == HVACMode.COOL
|
||||
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_TEMPERATURE: 25},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_TEMPERATURE: 25},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls([call(key=1, target_temperature=25.0)])
|
||||
@ -123,14 +123,14 @@ async def test_climate_entity_with_step_and_two_point(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("climate.test_my_climate")
|
||||
state = hass.states.get("climate.test_myclimate")
|
||||
assert state is not None
|
||||
assert state.state == HVACMode.COOL
|
||||
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_TEMPERATURE: 25},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_TEMPERATURE: 25},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls([call(key=1, target_temperature=25.0)])
|
||||
@ -140,7 +140,7 @@ async def test_climate_entity_with_step_and_two_point(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{
|
||||
ATTR_ENTITY_ID: "climate.test_my_climate",
|
||||
ATTR_ENTITY_ID: "climate.test_myclimate",
|
||||
ATTR_HVAC_MODE: HVACMode.AUTO,
|
||||
ATTR_TARGET_TEMP_LOW: 20,
|
||||
ATTR_TARGET_TEMP_HIGH: 30,
|
||||
@ -202,14 +202,14 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("climate.test_my_climate")
|
||||
state = hass.states.get("climate.test_myclimate")
|
||||
assert state is not None
|
||||
assert state.state == HVACMode.COOL
|
||||
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_TEMPERATURE: 25},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_TEMPERATURE: 25},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls([call(key=1, target_temperature=25.0)])
|
||||
@ -219,7 +219,7 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
{
|
||||
ATTR_ENTITY_ID: "climate.test_my_climate",
|
||||
ATTR_ENTITY_ID: "climate.test_myclimate",
|
||||
ATTR_HVAC_MODE: HVACMode.AUTO,
|
||||
ATTR_TARGET_TEMP_LOW: 20,
|
||||
ATTR_TARGET_TEMP_HIGH: 30,
|
||||
@ -242,7 +242,7 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_HVAC_MODE,
|
||||
{
|
||||
ATTR_ENTITY_ID: "climate.test_my_climate",
|
||||
ATTR_ENTITY_ID: "climate.test_myclimate",
|
||||
ATTR_HVAC_MODE: HVACMode.HEAT,
|
||||
},
|
||||
blocking=True,
|
||||
@ -260,7 +260,7 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_PRESET_MODE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_PRESET_MODE: "away"},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_PRESET_MODE: "away"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls(
|
||||
@ -276,7 +276,7 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_PRESET_MODE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_PRESET_MODE: "preset1"},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_PRESET_MODE: "preset1"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls([call(key=1, custom_preset="preset1")])
|
||||
@ -285,7 +285,7 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_FAN_MODE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_FAN_MODE: FAN_HIGH},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_FAN_MODE: FAN_HIGH},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls(
|
||||
@ -296,7 +296,7 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_FAN_MODE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_FAN_MODE: "fan2"},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_FAN_MODE: "fan2"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls([call(key=1, custom_fan_mode="fan2")])
|
||||
@ -305,7 +305,7 @@ async def test_climate_entity_with_step_and_target_temp(
|
||||
await hass.services.async_call(
|
||||
CLIMATE_DOMAIN,
|
||||
SERVICE_SET_SWING_MODE,
|
||||
{ATTR_ENTITY_ID: "climate.test_my_climate", ATTR_SWING_MODE: SWING_BOTH},
|
||||
{ATTR_ENTITY_ID: "climate.test_myclimate", ATTR_SWING_MODE: SWING_BOTH},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.climate_command.assert_has_calls(
|
||||
|
@ -72,7 +72,7 @@ async def test_cover_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("cover.test_my_cover")
|
||||
state = hass.states.get("cover.test_mycover")
|
||||
assert state is not None
|
||||
assert state.state == STATE_OPENING
|
||||
assert state.attributes[ATTR_CURRENT_POSITION] == 50
|
||||
@ -81,7 +81,7 @@ async def test_cover_entity(
|
||||
await hass.services.async_call(
|
||||
COVER_DOMAIN,
|
||||
SERVICE_CLOSE_COVER,
|
||||
{ATTR_ENTITY_ID: "cover.test_my_cover"},
|
||||
{ATTR_ENTITY_ID: "cover.test_mycover"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.cover_command.assert_has_calls([call(key=1, position=0.0)])
|
||||
@ -90,7 +90,7 @@ async def test_cover_entity(
|
||||
await hass.services.async_call(
|
||||
COVER_DOMAIN,
|
||||
SERVICE_OPEN_COVER,
|
||||
{ATTR_ENTITY_ID: "cover.test_my_cover"},
|
||||
{ATTR_ENTITY_ID: "cover.test_mycover"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.cover_command.assert_has_calls([call(key=1, position=1.0)])
|
||||
@ -99,7 +99,7 @@ async def test_cover_entity(
|
||||
await hass.services.async_call(
|
||||
COVER_DOMAIN,
|
||||
SERVICE_SET_COVER_POSITION,
|
||||
{ATTR_ENTITY_ID: "cover.test_my_cover", ATTR_POSITION: 50},
|
||||
{ATTR_ENTITY_ID: "cover.test_mycover", ATTR_POSITION: 50},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.cover_command.assert_has_calls([call(key=1, position=0.5)])
|
||||
@ -108,7 +108,7 @@ async def test_cover_entity(
|
||||
await hass.services.async_call(
|
||||
COVER_DOMAIN,
|
||||
SERVICE_STOP_COVER,
|
||||
{ATTR_ENTITY_ID: "cover.test_my_cover"},
|
||||
{ATTR_ENTITY_ID: "cover.test_mycover"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.cover_command.assert_has_calls([call(key=1, stop=True)])
|
||||
@ -117,7 +117,7 @@ async def test_cover_entity(
|
||||
await hass.services.async_call(
|
||||
COVER_DOMAIN,
|
||||
SERVICE_OPEN_COVER_TILT,
|
||||
{ATTR_ENTITY_ID: "cover.test_my_cover"},
|
||||
{ATTR_ENTITY_ID: "cover.test_mycover"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.cover_command.assert_has_calls([call(key=1, tilt=1.0)])
|
||||
@ -126,7 +126,7 @@ async def test_cover_entity(
|
||||
await hass.services.async_call(
|
||||
COVER_DOMAIN,
|
||||
SERVICE_CLOSE_COVER_TILT,
|
||||
{ATTR_ENTITY_ID: "cover.test_my_cover"},
|
||||
{ATTR_ENTITY_ID: "cover.test_mycover"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.cover_command.assert_has_calls([call(key=1, tilt=0.0)])
|
||||
@ -135,7 +135,7 @@ async def test_cover_entity(
|
||||
await hass.services.async_call(
|
||||
COVER_DOMAIN,
|
||||
SERVICE_SET_COVER_TILT_POSITION,
|
||||
{ATTR_ENTITY_ID: "cover.test_my_cover", ATTR_TILT_POSITION: 50},
|
||||
{ATTR_ENTITY_ID: "cover.test_mycover", ATTR_TILT_POSITION: 50},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.cover_command.assert_has_calls([call(key=1, tilt=0.5)])
|
||||
@ -145,7 +145,7 @@ async def test_cover_entity(
|
||||
CoverState(key=1, position=0.0, current_operation=CoverOperation.IDLE)
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("cover.test_my_cover")
|
||||
state = hass.states.get("cover.test_mycover")
|
||||
assert state is not None
|
||||
assert state.state == STATE_CLOSED
|
||||
|
||||
@ -153,7 +153,7 @@ async def test_cover_entity(
|
||||
CoverState(key=1, position=0.5, current_operation=CoverOperation.IS_CLOSING)
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("cover.test_my_cover")
|
||||
state = hass.states.get("cover.test_mycover")
|
||||
assert state is not None
|
||||
assert state.state == STATE_CLOSING
|
||||
|
||||
@ -161,7 +161,7 @@ async def test_cover_entity(
|
||||
CoverState(key=1, position=1.0, current_operation=CoverOperation.IDLE)
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get("cover.test_my_cover")
|
||||
state = hass.states.get("cover.test_mycover")
|
||||
assert state is not None
|
||||
assert state.state == STATE_OPEN
|
||||
|
||||
@ -201,7 +201,7 @@ async def test_cover_entity_without_position(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("cover.test_my_cover")
|
||||
state = hass.states.get("cover.test_mycover")
|
||||
assert state is not None
|
||||
assert state.state == STATE_OPENING
|
||||
assert ATTR_CURRENT_TILT_POSITION not in state.attributes
|
||||
|
@ -55,10 +55,10 @@ async def test_entities_removed(
|
||||
entry = mock_device.entry
|
||||
entry_id = entry.entry_id
|
||||
storage_key = f"esphome.{entry_id}"
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor_to_be_removed")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor_to_be_removed")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
@ -67,10 +67,10 @@ async def test_entities_removed(
|
||||
|
||||
assert len(hass_storage[storage_key]["data"]["binary_sensor"]) == 2
|
||||
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.attributes[ATTR_RESTORED] is True
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor_to_be_removed")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor_to_be_removed")
|
||||
assert state is not None
|
||||
assert state.attributes[ATTR_RESTORED] is True
|
||||
|
||||
@ -93,11 +93,40 @@ async def test_entities_removed(
|
||||
entry=entry,
|
||||
)
|
||||
assert mock_device.entry.entry_id == entry_id
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
state = hass.states.get("binary_sensor.test_my_binary_sensor_to_be_removed")
|
||||
state = hass.states.get("binary_sensor.test_mybinary_sensor_to_be_removed")
|
||||
assert state is None
|
||||
await hass.config_entries.async_unload(entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
assert len(hass_storage[storage_key]["data"]["binary_sensor"]) == 1
|
||||
|
||||
|
||||
async def test_entity_info_object_ids(
|
||||
hass: HomeAssistant,
|
||||
mock_client: APIClient,
|
||||
mock_esphome_device: Callable[
|
||||
[APIClient, list[EntityInfo], list[UserService], list[EntityState]],
|
||||
Awaitable[MockESPHomeDevice],
|
||||
],
|
||||
) -> None:
|
||||
"""Test how object ids affect entity id."""
|
||||
entity_info = [
|
||||
BinarySensorInfo(
|
||||
object_id="object_id_is_used",
|
||||
key=1,
|
||||
name="my binary_sensor",
|
||||
unique_id="my_binary_sensor",
|
||||
)
|
||||
]
|
||||
states = []
|
||||
user_service = []
|
||||
await mock_esphome_device(
|
||||
mock_client=mock_client,
|
||||
entity_info=entity_info,
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("binary_sensor.test_object_id_is_used")
|
||||
assert state is not None
|
||||
|
@ -61,14 +61,14 @@ async def test_fan_entity_with_all_features_old_api(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("fan.test_my_fan")
|
||||
state = hass.states.get("fan.test_myfan")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_PERCENTAGE: 20},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_PERCENTAGE: 20},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls(
|
||||
@ -79,7 +79,7 @@ async def test_fan_entity_with_all_features_old_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_PERCENTAGE: 50},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_PERCENTAGE: 50},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls(
|
||||
@ -90,7 +90,7 @@ async def test_fan_entity_with_all_features_old_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_DECREASE_SPEED,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls(
|
||||
@ -101,7 +101,7 @@ async def test_fan_entity_with_all_features_old_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_INCREASE_SPEED,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls(
|
||||
@ -112,7 +112,7 @@ async def test_fan_entity_with_all_features_old_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, state=False)])
|
||||
@ -121,7 +121,7 @@ async def test_fan_entity_with_all_features_old_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_SET_PERCENTAGE,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_PERCENTAGE: 100},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_PERCENTAGE: 100},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls(
|
||||
@ -163,14 +163,14 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("fan.test_my_fan")
|
||||
state = hass.states.get("fan.test_myfan")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_PERCENTAGE: 20},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_PERCENTAGE: 20},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, speed_level=1, state=True)])
|
||||
@ -179,7 +179,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_PERCENTAGE: 50},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_PERCENTAGE: 50},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, speed_level=2, state=True)])
|
||||
@ -188,7 +188,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_DECREASE_SPEED,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, speed_level=2, state=True)])
|
||||
@ -197,7 +197,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_INCREASE_SPEED,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, speed_level=4, state=True)])
|
||||
@ -206,7 +206,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, state=False)])
|
||||
@ -215,7 +215,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_SET_PERCENTAGE,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_PERCENTAGE: 100},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_PERCENTAGE: 100},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, speed_level=4, state=True)])
|
||||
@ -224,7 +224,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_SET_PERCENTAGE,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_PERCENTAGE: 0},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_PERCENTAGE: 0},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, state=False)])
|
||||
@ -233,7 +233,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_OSCILLATE,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_OSCILLATING: True},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_OSCILLATING: True},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, oscillating=True)])
|
||||
@ -242,7 +242,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_OSCILLATE,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_OSCILLATING: False},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_OSCILLATING: False},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, oscillating=False)])
|
||||
@ -251,7 +251,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_SET_DIRECTION,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_DIRECTION: "forward"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_DIRECTION: "forward"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls(
|
||||
@ -262,7 +262,7 @@ async def test_fan_entity_with_all_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_SET_DIRECTION,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan", ATTR_DIRECTION: "reverse"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan", ATTR_DIRECTION: "reverse"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls(
|
||||
@ -295,14 +295,14 @@ async def test_fan_entity_with_no_features_new_api(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("fan.test_my_fan")
|
||||
state = hass.states.get("fan.test_myfan")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, state=True)])
|
||||
@ -311,7 +311,7 @@ async def test_fan_entity_with_no_features_new_api(
|
||||
await hass.services.async_call(
|
||||
FAN_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "fan.test_my_fan"},
|
||||
{ATTR_ENTITY_ID: "fan.test_myfan"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.fan_command.assert_has_calls([call(key=1, state=False)])
|
||||
|
@ -65,14 +65,14 @@ async def test_light_on_off(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -105,14 +105,14 @@ async def test_light_brightness(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -123,7 +123,7 @@ async def test_light_brightness(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -141,7 +141,7 @@ async def test_light_brightness(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_TRANSITION: 2},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_TRANSITION: 2},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -152,7 +152,7 @@ async def test_light_brightness(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_FLASH: FLASH_LONG},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_FLASH: FLASH_LONG},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -163,7 +163,7 @@ async def test_light_brightness(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_TRANSITION: 2},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_TRANSITION: 2},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -181,7 +181,7 @@ async def test_light_brightness(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_FLASH: FLASH_SHORT},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_FLASH: FLASH_SHORT},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -223,14 +223,14 @@ async def test_light_brightness_on_off(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -248,7 +248,7 @@ async def test_light_brightness_on_off(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -293,14 +293,14 @@ async def test_light_legacy_white_converted_to_brightness(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -343,14 +343,14 @@ async def test_light_brightness_on_off_with_unknown_color_mode(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -369,7 +369,7 @@ async def test_light_brightness_on_off_with_unknown_color_mode(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -414,14 +414,14 @@ async def test_light_on_and_brightness(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -464,14 +464,14 @@ async def test_rgb_color_temp_light(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -489,7 +489,7 @@ async def test_rgb_color_temp_light(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -508,7 +508,7 @@ async def test_rgb_color_temp_light(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_COLOR_TEMP_KELVIN: 2500},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_COLOR_TEMP_KELVIN: 2500},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -552,14 +552,14 @@ async def test_light_rgb(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -578,7 +578,7 @@ async def test_light_rgb(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -599,7 +599,7 @@ async def test_light_rgb(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{
|
||||
ATTR_ENTITY_ID: "light.test_my_light",
|
||||
ATTR_ENTITY_ID: "light.test_mylight",
|
||||
ATTR_BRIGHTNESS: 127,
|
||||
ATTR_HS_COLOR: (100, 100),
|
||||
},
|
||||
@ -624,7 +624,7 @@ async def test_light_rgb(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -684,7 +684,7 @@ async def test_light_rgbw(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
assert state.attributes[ATTR_SUPPORTED_COLOR_MODES] == [ColorMode.RGBW]
|
||||
@ -693,7 +693,7 @@ async def test_light_rgbw(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -713,7 +713,7 @@ async def test_light_rgbw(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -735,7 +735,7 @@ async def test_light_rgbw(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{
|
||||
ATTR_ENTITY_ID: "light.test_my_light",
|
||||
ATTR_ENTITY_ID: "light.test_mylight",
|
||||
ATTR_BRIGHTNESS: 127,
|
||||
ATTR_HS_COLOR: (100, 100),
|
||||
},
|
||||
@ -762,7 +762,7 @@ async def test_light_rgbw(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -785,7 +785,7 @@ async def test_light_rgbw(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGBW_COLOR: (255, 255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGBW_COLOR: (255, 255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -855,7 +855,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
assert state.attributes[ATTR_SUPPORTED_COLOR_MODES] == [ColorMode.RGBWW]
|
||||
@ -865,7 +865,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -887,7 +887,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -911,7 +911,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{
|
||||
ATTR_ENTITY_ID: "light.test_my_light",
|
||||
ATTR_ENTITY_ID: "light.test_mylight",
|
||||
ATTR_BRIGHTNESS: 127,
|
||||
ATTR_HS_COLOR: (100, 100),
|
||||
},
|
||||
@ -941,7 +941,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -967,7 +967,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGBW_COLOR: (255, 255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGBW_COLOR: (255, 255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -994,7 +994,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{
|
||||
ATTR_ENTITY_ID: "light.test_my_light",
|
||||
ATTR_ENTITY_ID: "light.test_mylight",
|
||||
ATTR_RGBWW_COLOR: (255, 255, 255, 255, 255),
|
||||
},
|
||||
blocking=True,
|
||||
@ -1022,7 +1022,7 @@ async def test_light_rgbww_with_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_COLOR_TEMP_KELVIN: 2500},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_COLOR_TEMP_KELVIN: 2500},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1092,7 +1092,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
assert state.attributes[ATTR_SUPPORTED_COLOR_MODES] == [ColorMode.RGBWW]
|
||||
@ -1102,7 +1102,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1123,7 +1123,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_BRIGHTNESS: 127},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_BRIGHTNESS: 127},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1146,7 +1146,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{
|
||||
ATTR_ENTITY_ID: "light.test_my_light",
|
||||
ATTR_ENTITY_ID: "light.test_mylight",
|
||||
ATTR_BRIGHTNESS: 127,
|
||||
ATTR_HS_COLOR: (100, 100),
|
||||
},
|
||||
@ -1175,7 +1175,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1200,7 +1200,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGBW_COLOR: (255, 255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGBW_COLOR: (255, 255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1226,7 +1226,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{
|
||||
ATTR_ENTITY_ID: "light.test_my_light",
|
||||
ATTR_ENTITY_ID: "light.test_mylight",
|
||||
ATTR_RGBWW_COLOR: (255, 255, 255, 255, 255),
|
||||
},
|
||||
blocking=True,
|
||||
@ -1253,7 +1253,7 @@ async def test_light_rgbww_without_cold_warm_white_support(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_COLOR_TEMP_KELVIN: 2500},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_COLOR_TEMP_KELVIN: 2500},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1312,7 +1312,7 @@ async def test_light_color_temp(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
attributes = state.attributes
|
||||
@ -1325,7 +1325,7 @@ async def test_light_color_temp(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1344,7 +1344,7 @@ async def test_light_color_temp(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls([call(key=1, state=False)])
|
||||
@ -1387,7 +1387,7 @@ async def test_light_color_temp_no_mireds_set(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
attributes = state.attributes
|
||||
@ -1400,7 +1400,7 @@ async def test_light_color_temp_no_mireds_set(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1419,7 +1419,7 @@ async def test_light_color_temp_no_mireds_set(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_COLOR_TEMP_KELVIN: 6000},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_COLOR_TEMP_KELVIN: 6000},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1439,7 +1439,7 @@ async def test_light_color_temp_no_mireds_set(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls([call(key=1, state=False)])
|
||||
@ -1489,7 +1489,7 @@ async def test_light_color_temp_legacy(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
attributes = state.attributes
|
||||
@ -1504,7 +1504,7 @@ async def test_light_color_temp_legacy(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1523,7 +1523,7 @@ async def test_light_color_temp_legacy(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls([call(key=1, state=False)])
|
||||
@ -1575,7 +1575,7 @@ async def test_light_rgb_legacy(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
attributes = state.attributes
|
||||
@ -1585,7 +1585,7 @@ async def test_light_rgb_legacy(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1601,7 +1601,7 @@ async def test_light_rgb_legacy(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls([call(key=1, state=False)])
|
||||
@ -1610,7 +1610,7 @@ async def test_light_rgb_legacy(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_RGB_COLOR: (255, 255, 255)},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
@ -1653,7 +1653,7 @@ async def test_light_effects(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("light.test_my_light")
|
||||
state = hass.states.get("light.test_mylight")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
assert state.attributes[ATTR_EFFECT_LIST] == ["effect1", "effect2"]
|
||||
@ -1661,7 +1661,7 @@ async def test_light_effects(
|
||||
await hass.services.async_call(
|
||||
LIGHT_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "light.test_my_light", ATTR_EFFECT: "effect1"},
|
||||
{ATTR_ENTITY_ID: "light.test_mylight", ATTR_EFFECT: "effect1"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.light_command.assert_has_calls(
|
||||
|
@ -40,14 +40,14 @@ async def test_lock_entity_no_open(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("lock.test_my_lock")
|
||||
state = hass.states.get("lock.test_mylock")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNLOCKING
|
||||
|
||||
await hass.services.async_call(
|
||||
LOCK_DOMAIN,
|
||||
SERVICE_LOCK,
|
||||
{ATTR_ENTITY_ID: "lock.test_my_lock"},
|
||||
{ATTR_ENTITY_ID: "lock.test_mylock"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.lock_command.assert_has_calls([call(1, LockCommand.LOCK)])
|
||||
@ -74,7 +74,7 @@ async def test_lock_entity_start_locked(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("lock.test_my_lock")
|
||||
state = hass.states.get("lock.test_mylock")
|
||||
assert state is not None
|
||||
assert state.state == STATE_LOCKED
|
||||
|
||||
@ -101,14 +101,14 @@ async def test_lock_entity_supports_open(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("lock.test_my_lock")
|
||||
state = hass.states.get("lock.test_mylock")
|
||||
assert state is not None
|
||||
assert state.state == STATE_LOCKING
|
||||
|
||||
await hass.services.async_call(
|
||||
LOCK_DOMAIN,
|
||||
SERVICE_LOCK,
|
||||
{ATTR_ENTITY_ID: "lock.test_my_lock"},
|
||||
{ATTR_ENTITY_ID: "lock.test_mylock"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.lock_command.assert_has_calls([call(1, LockCommand.LOCK)])
|
||||
@ -117,7 +117,7 @@ async def test_lock_entity_supports_open(
|
||||
await hass.services.async_call(
|
||||
LOCK_DOMAIN,
|
||||
SERVICE_UNLOCK,
|
||||
{ATTR_ENTITY_ID: "lock.test_my_lock"},
|
||||
{ATTR_ENTITY_ID: "lock.test_mylock"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.lock_command.assert_has_calls([call(1, LockCommand.UNLOCK, None)])
|
||||
@ -126,7 +126,7 @@ async def test_lock_entity_supports_open(
|
||||
await hass.services.async_call(
|
||||
LOCK_DOMAIN,
|
||||
SERVICE_OPEN,
|
||||
{ATTR_ENTITY_ID: "lock.test_my_lock"},
|
||||
{ATTR_ENTITY_ID: "lock.test_mylock"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.lock_command.assert_has_calls([call(1, LockCommand.OPEN)])
|
||||
|
@ -63,7 +63,7 @@ async def test_media_player_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("media_player.test_my_media_player")
|
||||
state = hass.states.get("media_player.test_mymedia_player")
|
||||
assert state is not None
|
||||
assert state.state == "paused"
|
||||
|
||||
@ -71,7 +71,7 @@ async def test_media_player_entity(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_VOLUME_MUTE,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
ATTR_MEDIA_VOLUME_MUTED: True,
|
||||
},
|
||||
blocking=True,
|
||||
@ -85,7 +85,7 @@ async def test_media_player_entity(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_VOLUME_MUTE,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
ATTR_MEDIA_VOLUME_MUTED: True,
|
||||
},
|
||||
blocking=True,
|
||||
@ -99,7 +99,7 @@ async def test_media_player_entity(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_VOLUME_SET,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
ATTR_MEDIA_VOLUME_LEVEL: 0.5,
|
||||
},
|
||||
blocking=True,
|
||||
@ -111,7 +111,7 @@ async def test_media_player_entity(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_MEDIA_PAUSE,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
},
|
||||
blocking=True,
|
||||
)
|
||||
@ -124,7 +124,7 @@ async def test_media_player_entity(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_MEDIA_PLAY,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
},
|
||||
blocking=True,
|
||||
)
|
||||
@ -137,7 +137,7 @@ async def test_media_player_entity(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_MEDIA_STOP,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
},
|
||||
blocking=True,
|
||||
)
|
||||
@ -206,7 +206,7 @@ async def test_media_player_entity_with_source(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("media_player.test_my_media_player")
|
||||
state = hass.states.get("media_player.test_mymedia_player")
|
||||
assert state is not None
|
||||
assert state.state == "playing"
|
||||
|
||||
@ -215,7 +215,7 @@ async def test_media_player_entity_with_source(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_PLAY_MEDIA,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
ATTR_MEDIA_CONTENT_TYPE: MediaType.MUSIC,
|
||||
ATTR_MEDIA_CONTENT_ID: "media-source://local/xz",
|
||||
},
|
||||
@ -228,7 +228,7 @@ async def test_media_player_entity_with_source(
|
||||
{
|
||||
"id": 1,
|
||||
"type": "media_player/browse_media",
|
||||
"entity_id": "media_player.test_my_media_player",
|
||||
"entity_id": "media_player.test_mymedia_player",
|
||||
}
|
||||
)
|
||||
response = await client.receive_json()
|
||||
@ -238,7 +238,7 @@ async def test_media_player_entity_with_source(
|
||||
MEDIA_PLAYER_DOMAIN,
|
||||
SERVICE_PLAY_MEDIA,
|
||||
{
|
||||
ATTR_ENTITY_ID: "media_player.test_my_media_player",
|
||||
ATTR_ENTITY_ID: "media_player.test_mymedia_player",
|
||||
ATTR_MEDIA_CONTENT_TYPE: MediaType.URL,
|
||||
ATTR_MEDIA_CONTENT_ID: "media-source://tts?message=hello",
|
||||
},
|
||||
|
@ -45,14 +45,14 @@ async def test_generic_number_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("number.test_my_number")
|
||||
state = hass.states.get("number.test_mynumber")
|
||||
assert state is not None
|
||||
assert state.state == "50"
|
||||
|
||||
await hass.services.async_call(
|
||||
NUMBER_DOMAIN,
|
||||
SERVICE_SET_VALUE,
|
||||
{ATTR_ENTITY_ID: "number.test_my_number", ATTR_VALUE: 50},
|
||||
{ATTR_ENTITY_ID: "number.test_mynumber", ATTR_VALUE: 50},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.number_command.assert_has_calls([call(1, 50)])
|
||||
@ -86,6 +86,6 @@ async def test_generic_number_nan(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("number.test_my_number")
|
||||
state = hass.states.get("number.test_mynumber")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
@ -60,14 +60,14 @@ async def test_select_generic_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("select.test_my_select")
|
||||
state = hass.states.get("select.test_myselect")
|
||||
assert state is not None
|
||||
assert state.state == "a"
|
||||
|
||||
await hass.services.async_call(
|
||||
SELECT_DOMAIN,
|
||||
SERVICE_SELECT_OPTION,
|
||||
{ATTR_ENTITY_ID: "select.test_my_select", ATTR_OPTION: "b"},
|
||||
{ATTR_ENTITY_ID: "select.test_myselect", ATTR_OPTION: "b"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.select_command.assert_has_calls([call(1, "b")])
|
||||
|
@ -41,7 +41,7 @@ async def test_generic_numeric_sensor(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == "50"
|
||||
|
||||
@ -70,12 +70,12 @@ async def test_generic_numeric_sensor_with_entity_category_and_icon(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == "50"
|
||||
assert state.attributes[ATTR_ICON] == "mdi:leaf"
|
||||
entity_reg = er.async_get(hass)
|
||||
entry = entity_reg.async_get("sensor.test_my_sensor")
|
||||
entry = entity_reg.async_get("sensor.test_mysensor")
|
||||
assert entry is not None
|
||||
assert entry.unique_id == "my_sensor"
|
||||
assert entry.entity_category is EntityCategory.CONFIG
|
||||
@ -106,12 +106,12 @@ async def test_generic_numeric_sensor_state_class_measurement(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == "50"
|
||||
assert state.attributes[ATTR_STATE_CLASS] == SensorStateClass.MEASUREMENT
|
||||
entity_reg = er.async_get(hass)
|
||||
entry = entity_reg.async_get("sensor.test_my_sensor")
|
||||
entry = entity_reg.async_get("sensor.test_mysensor")
|
||||
assert entry is not None
|
||||
assert entry.unique_id == "my_sensor"
|
||||
assert entry.entity_category is None
|
||||
@ -140,7 +140,7 @@ async def test_generic_numeric_sensor_device_class_timestamp(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == "2023-06-22T18:43:52+00:00"
|
||||
|
||||
@ -169,7 +169,7 @@ async def test_generic_numeric_sensor_legacy_last_reset_convert(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == "50"
|
||||
assert state.attributes[ATTR_STATE_CLASS] == SensorStateClass.TOTAL_INCREASING
|
||||
@ -195,7 +195,7 @@ async def test_generic_numeric_sensor_no_state(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
||||
@ -220,7 +220,7 @@ async def test_generic_numeric_sensor_nan_state(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
||||
@ -245,7 +245,7 @@ async def test_generic_numeric_sensor_missing_state(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == STATE_UNKNOWN
|
||||
|
||||
@ -272,6 +272,6 @@ async def test_generic_text_sensor(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("sensor.test_my_sensor")
|
||||
state = hass.states.get("sensor.test_mysensor")
|
||||
assert state is not None
|
||||
assert state.state == "i am a teapot"
|
||||
|
@ -34,14 +34,14 @@ async def test_switch_generic_entity(
|
||||
user_service=user_service,
|
||||
states=states,
|
||||
)
|
||||
state = hass.states.get("switch.test_my_switch")
|
||||
state = hass.states.get("switch.test_myswitch")
|
||||
assert state is not None
|
||||
assert state.state == STATE_ON
|
||||
|
||||
await hass.services.async_call(
|
||||
SWITCH_DOMAIN,
|
||||
SERVICE_TURN_ON,
|
||||
{ATTR_ENTITY_ID: "switch.test_my_switch"},
|
||||
{ATTR_ENTITY_ID: "switch.test_myswitch"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.switch_command.assert_has_calls([call(1, True)])
|
||||
@ -49,7 +49,7 @@ async def test_switch_generic_entity(
|
||||
await hass.services.async_call(
|
||||
SWITCH_DOMAIN,
|
||||
SERVICE_TURN_OFF,
|
||||
{ATTR_ENTITY_ID: "switch.test_my_switch"},
|
||||
{ATTR_ENTITY_ID: "switch.test_myswitch"},
|
||||
blocking=True,
|
||||
)
|
||||
mock_client.switch_command.assert_has_calls([call(1, False)])
|
||||
|
Loading…
x
Reference in New Issue
Block a user