Fix extracting entity and device IDs from scripts (#44048)
* Fix extracting entity and device IDs from scripts * Fix extracting from data_template
This commit is contained in:
parent
0b7b6b1d81
commit
ac2af69d26
5 changed files with 86 additions and 27 deletions
|
@ -1338,6 +1338,18 @@ async def test_referenced_entities(hass):
|
|||
"service": "test.script",
|
||||
"data": {"entity_id": "{{ 'light.service_template' }}"},
|
||||
},
|
||||
{
|
||||
"service": "test.script",
|
||||
"entity_id": "light.direct_entity_referenced",
|
||||
},
|
||||
{
|
||||
"service": "test.script",
|
||||
"target": {"entity_id": "light.entity_in_target"},
|
||||
},
|
||||
{
|
||||
"service": "test.script",
|
||||
"data_template": {"entity_id": "light.entity_in_data_template"},
|
||||
},
|
||||
{
|
||||
"condition": "state",
|
||||
"entity_id": "sensor.condition",
|
||||
|
@ -1357,6 +1369,9 @@ async def test_referenced_entities(hass):
|
|||
"light.service_list",
|
||||
"sensor.condition",
|
||||
"scene.hello",
|
||||
"light.direct_entity_referenced",
|
||||
"light.entity_in_target",
|
||||
"light.entity_in_data_template",
|
||||
}
|
||||
# Test we cache results.
|
||||
assert script_obj.referenced_entities is script_obj.referenced_entities
|
||||
|
@ -1374,12 +1389,36 @@ async def test_referenced_devices(hass):
|
|||
"device_id": "condition-dev-id",
|
||||
"domain": "switch",
|
||||
},
|
||||
{
|
||||
"service": "test.script",
|
||||
"data": {"device_id": "data-string-id"},
|
||||
},
|
||||
{
|
||||
"service": "test.script",
|
||||
"data_template": {"device_id": "data-template-string-id"},
|
||||
},
|
||||
{
|
||||
"service": "test.script",
|
||||
"target": {"device_id": "target-string-id"},
|
||||
},
|
||||
{
|
||||
"service": "test.script",
|
||||
"target": {"device_id": ["target-list-id-1", "target-list-id-2"]},
|
||||
},
|
||||
]
|
||||
),
|
||||
"Test Name",
|
||||
"test_domain",
|
||||
)
|
||||
assert script_obj.referenced_devices == {"script-dev-id", "condition-dev-id"}
|
||||
assert script_obj.referenced_devices == {
|
||||
"script-dev-id",
|
||||
"condition-dev-id",
|
||||
"data-string-id",
|
||||
"data-template-string-id",
|
||||
"target-string-id",
|
||||
"target-list-id-1",
|
||||
"target-list-id-2",
|
||||
}
|
||||
# Test we cache results.
|
||||
assert script_obj.referenced_devices is script_obj.referenced_devices
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue