home-assistant-core/tests/components/knx/test_scene.py
Dave T c7b910ca33
Use new enums in knx tests (#62513)
* Use new enums in knx tests

* Code review: Swap == for is
2021-12-22 09:31:23 +01:00

42 lines
1.3 KiB
Python

"""Test KNX scene."""
from homeassistant.components.knx.const import KNX_ADDRESS
from homeassistant.components.knx.schema import SceneSchema
from homeassistant.const import CONF_ENTITY_CATEGORY, CONF_NAME
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import EntityCategory
from homeassistant.helpers.entity_registry import (
async_get_registry as async_get_entity_registry,
)
from .conftest import KNXTestKit
async def test_activate_knx_scene(hass: HomeAssistant, knx: KNXTestKit):
"""Test KNX scene."""
await knx.setup_integration(
{
SceneSchema.PLATFORM: [
{
CONF_NAME: "test",
SceneSchema.CONF_SCENE_NUMBER: 24,
KNX_ADDRESS: "1/1/1",
CONF_ENTITY_CATEGORY: EntityCategory.DIAGNOSTIC,
},
]
}
)
assert len(hass.states.async_all()) == 1
registry = await async_get_entity_registry(hass)
entity = registry.async_get("scene.test")
assert entity.entity_category is EntityCategory.DIAGNOSTIC
assert entity.unique_id == "1/1/1_24"
await hass.services.async_call(
"scene", "turn_on", {"entity_id": "scene.test"}, blocking=True
)
# assert scene was called on bus
await knx.assert_write("1/1/1", (0x17,))