Use BinarySensorDeviceClass enum in binary_sensor device automations (#62635)

pull/63388/head
epenet 2022-01-04 16:46:21 +01:00 committed by GitHub
parent 7e4414710d
commit 411fcad798
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 196 additions and 130 deletions

View File

@ -14,37 +14,7 @@ from homeassistant.helpers.entity_registry import (
)
from homeassistant.helpers.typing import ConfigType
from . import (
DEVICE_CLASS_BATTERY,
DEVICE_CLASS_BATTERY_CHARGING,
DEVICE_CLASS_CO,
DEVICE_CLASS_COLD,
DEVICE_CLASS_CONNECTIVITY,
DEVICE_CLASS_DOOR,
DEVICE_CLASS_GARAGE_DOOR,
DEVICE_CLASS_GAS,
DEVICE_CLASS_HEAT,
DEVICE_CLASS_LIGHT,
DEVICE_CLASS_LOCK,
DEVICE_CLASS_MOISTURE,
DEVICE_CLASS_MOTION,
DEVICE_CLASS_MOVING,
DEVICE_CLASS_OCCUPANCY,
DEVICE_CLASS_OPENING,
DEVICE_CLASS_PLUG,
DEVICE_CLASS_POWER,
DEVICE_CLASS_PRESENCE,
DEVICE_CLASS_PROBLEM,
DEVICE_CLASS_RUNNING,
DEVICE_CLASS_SAFETY,
DEVICE_CLASS_SMOKE,
DEVICE_CLASS_SOUND,
DEVICE_CLASS_TAMPER,
DEVICE_CLASS_UPDATE,
DEVICE_CLASS_VIBRATION,
DEVICE_CLASS_WINDOW,
DOMAIN,
)
from . import DOMAIN, BinarySensorDeviceClass
# mypy: disallow-any-generics
@ -160,71 +130,122 @@ IS_OFF = [
]
ENTITY_CONDITIONS = {
DEVICE_CLASS_BATTERY: [
BinarySensorDeviceClass.BATTERY: [
{CONF_TYPE: CONF_IS_BAT_LOW},
{CONF_TYPE: CONF_IS_NOT_BAT_LOW},
],
DEVICE_CLASS_BATTERY_CHARGING: [
BinarySensorDeviceClass.BATTERY_CHARGING: [
{CONF_TYPE: CONF_IS_CHARGING},
{CONF_TYPE: CONF_IS_NOT_CHARGING},
],
DEVICE_CLASS_CO: [{CONF_TYPE: CONF_IS_CO}, {CONF_TYPE: CONF_IS_NO_CO}],
DEVICE_CLASS_COLD: [{CONF_TYPE: CONF_IS_COLD}, {CONF_TYPE: CONF_IS_NOT_COLD}],
DEVICE_CLASS_CONNECTIVITY: [
BinarySensorDeviceClass.CO: [
{CONF_TYPE: CONF_IS_CO},
{CONF_TYPE: CONF_IS_NO_CO},
],
BinarySensorDeviceClass.COLD: [
{CONF_TYPE: CONF_IS_COLD},
{CONF_TYPE: CONF_IS_NOT_COLD},
],
BinarySensorDeviceClass.CONNECTIVITY: [
{CONF_TYPE: CONF_IS_CONNECTED},
{CONF_TYPE: CONF_IS_NOT_CONNECTED},
],
DEVICE_CLASS_DOOR: [{CONF_TYPE: CONF_IS_OPEN}, {CONF_TYPE: CONF_IS_NOT_OPEN}],
DEVICE_CLASS_GARAGE_DOOR: [
BinarySensorDeviceClass.DOOR: [
{CONF_TYPE: CONF_IS_OPEN},
{CONF_TYPE: CONF_IS_NOT_OPEN},
],
DEVICE_CLASS_GAS: [{CONF_TYPE: CONF_IS_GAS}, {CONF_TYPE: CONF_IS_NO_GAS}],
DEVICE_CLASS_HEAT: [{CONF_TYPE: CONF_IS_HOT}, {CONF_TYPE: CONF_IS_NOT_HOT}],
DEVICE_CLASS_LIGHT: [{CONF_TYPE: CONF_IS_LIGHT}, {CONF_TYPE: CONF_IS_NO_LIGHT}],
DEVICE_CLASS_LOCK: [{CONF_TYPE: CONF_IS_LOCKED}, {CONF_TYPE: CONF_IS_NOT_LOCKED}],
DEVICE_CLASS_MOISTURE: [{CONF_TYPE: CONF_IS_MOIST}, {CONF_TYPE: CONF_IS_NOT_MOIST}],
DEVICE_CLASS_MOTION: [{CONF_TYPE: CONF_IS_MOTION}, {CONF_TYPE: CONF_IS_NO_MOTION}],
DEVICE_CLASS_MOVING: [{CONF_TYPE: CONF_IS_MOVING}, {CONF_TYPE: CONF_IS_NOT_MOVING}],
DEVICE_CLASS_OCCUPANCY: [
BinarySensorDeviceClass.GARAGE_DOOR: [
{CONF_TYPE: CONF_IS_OPEN},
{CONF_TYPE: CONF_IS_NOT_OPEN},
],
BinarySensorDeviceClass.GAS: [
{CONF_TYPE: CONF_IS_GAS},
{CONF_TYPE: CONF_IS_NO_GAS},
],
BinarySensorDeviceClass.HEAT: [
{CONF_TYPE: CONF_IS_HOT},
{CONF_TYPE: CONF_IS_NOT_HOT},
],
BinarySensorDeviceClass.LIGHT: [
{CONF_TYPE: CONF_IS_LIGHT},
{CONF_TYPE: CONF_IS_NO_LIGHT},
],
BinarySensorDeviceClass.LOCK: [
{CONF_TYPE: CONF_IS_LOCKED},
{CONF_TYPE: CONF_IS_NOT_LOCKED},
],
BinarySensorDeviceClass.MOISTURE: [
{CONF_TYPE: CONF_IS_MOIST},
{CONF_TYPE: CONF_IS_NOT_MOIST},
],
BinarySensorDeviceClass.MOTION: [
{CONF_TYPE: CONF_IS_MOTION},
{CONF_TYPE: CONF_IS_NO_MOTION},
],
BinarySensorDeviceClass.MOVING: [
{CONF_TYPE: CONF_IS_MOVING},
{CONF_TYPE: CONF_IS_NOT_MOVING},
],
BinarySensorDeviceClass.OCCUPANCY: [
{CONF_TYPE: CONF_IS_OCCUPIED},
{CONF_TYPE: CONF_IS_NOT_OCCUPIED},
],
DEVICE_CLASS_OPENING: [{CONF_TYPE: CONF_IS_OPEN}, {CONF_TYPE: CONF_IS_NOT_OPEN}],
DEVICE_CLASS_PLUG: [
BinarySensorDeviceClass.OPENING: [
{CONF_TYPE: CONF_IS_OPEN},
{CONF_TYPE: CONF_IS_NOT_OPEN},
],
BinarySensorDeviceClass.PLUG: [
{CONF_TYPE: CONF_IS_PLUGGED_IN},
{CONF_TYPE: CONF_IS_NOT_PLUGGED_IN},
],
DEVICE_CLASS_POWER: [
BinarySensorDeviceClass.POWER: [
{CONF_TYPE: CONF_IS_POWERED},
{CONF_TYPE: CONF_IS_NOT_POWERED},
],
DEVICE_CLASS_PRESENCE: [
BinarySensorDeviceClass.PRESENCE: [
{CONF_TYPE: CONF_IS_PRESENT},
{CONF_TYPE: CONF_IS_NOT_PRESENT},
],
DEVICE_CLASS_PROBLEM: [
BinarySensorDeviceClass.PROBLEM: [
{CONF_TYPE: CONF_IS_PROBLEM},
{CONF_TYPE: CONF_IS_NO_PROBLEM},
],
DEVICE_CLASS_RUNNING: [
BinarySensorDeviceClass.RUNNING: [
{CONF_TYPE: CONF_IS_RUNNING},
{CONF_TYPE: CONF_IS_NOT_RUNNING},
],
DEVICE_CLASS_SAFETY: [{CONF_TYPE: CONF_IS_UNSAFE}, {CONF_TYPE: CONF_IS_NOT_UNSAFE}],
DEVICE_CLASS_SMOKE: [{CONF_TYPE: CONF_IS_SMOKE}, {CONF_TYPE: CONF_IS_NO_SMOKE}],
DEVICE_CLASS_SOUND: [{CONF_TYPE: CONF_IS_SOUND}, {CONF_TYPE: CONF_IS_NO_SOUND}],
DEVICE_CLASS_TAMPER: [
BinarySensorDeviceClass.SAFETY: [
{CONF_TYPE: CONF_IS_UNSAFE},
{CONF_TYPE: CONF_IS_NOT_UNSAFE},
],
BinarySensorDeviceClass.SMOKE: [
{CONF_TYPE: CONF_IS_SMOKE},
{CONF_TYPE: CONF_IS_NO_SMOKE},
],
BinarySensorDeviceClass.SOUND: [
{CONF_TYPE: CONF_IS_SOUND},
{CONF_TYPE: CONF_IS_NO_SOUND},
],
BinarySensorDeviceClass.TAMPER: [
{CONF_TYPE: CONF_IS_TAMPERED},
{CONF_TYPE: CONF_IS_NOT_TAMPERED},
],
DEVICE_CLASS_UPDATE: [{CONF_TYPE: CONF_IS_UPDATE}, {CONF_TYPE: CONF_IS_NO_UPDATE}],
DEVICE_CLASS_VIBRATION: [
BinarySensorDeviceClass.UPDATE: [
{CONF_TYPE: CONF_IS_UPDATE},
{CONF_TYPE: CONF_IS_NO_UPDATE},
],
BinarySensorDeviceClass.VIBRATION: [
{CONF_TYPE: CONF_IS_VIBRATION},
{CONF_TYPE: CONF_IS_NO_VIBRATION},
],
DEVICE_CLASS_WINDOW: [{CONF_TYPE: CONF_IS_OPEN}, {CONF_TYPE: CONF_IS_NOT_OPEN}],
DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_IS_ON}, {CONF_TYPE: CONF_IS_OFF}],
BinarySensorDeviceClass.WINDOW: [
{CONF_TYPE: CONF_IS_OPEN},
{CONF_TYPE: CONF_IS_NOT_OPEN},
],
DEVICE_CLASS_NONE: [
{CONF_TYPE: CONF_IS_ON},
{CONF_TYPE: CONF_IS_OFF},
],
}
CONDITION_SCHEMA = cv.DEVICE_CONDITION_BASE_SCHEMA.extend(

View File

@ -12,37 +12,7 @@ from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.entity import get_device_class
from homeassistant.helpers.entity_registry import async_entries_for_device
from . import (
DEVICE_CLASS_BATTERY,
DEVICE_CLASS_BATTERY_CHARGING,
DEVICE_CLASS_CO,
DEVICE_CLASS_COLD,
DEVICE_CLASS_CONNECTIVITY,
DEVICE_CLASS_DOOR,
DEVICE_CLASS_GARAGE_DOOR,
DEVICE_CLASS_GAS,
DEVICE_CLASS_HEAT,
DEVICE_CLASS_LIGHT,
DEVICE_CLASS_LOCK,
DEVICE_CLASS_MOISTURE,
DEVICE_CLASS_MOTION,
DEVICE_CLASS_MOVING,
DEVICE_CLASS_OCCUPANCY,
DEVICE_CLASS_OPENING,
DEVICE_CLASS_PLUG,
DEVICE_CLASS_POWER,
DEVICE_CLASS_PRESENCE,
DEVICE_CLASS_PROBLEM,
DEVICE_CLASS_RUNNING,
DEVICE_CLASS_SAFETY,
DEVICE_CLASS_SMOKE,
DEVICE_CLASS_SOUND,
DEVICE_CLASS_TAMPER,
DEVICE_CLASS_UPDATE,
DEVICE_CLASS_VIBRATION,
DEVICE_CLASS_WINDOW,
DOMAIN,
)
from . import DOMAIN, BinarySensorDeviceClass
# mypy: allow-untyped-defs, no-check-untyped-defs
@ -157,47 +127,122 @@ TURNED_OFF = [
ENTITY_TRIGGERS = {
DEVICE_CLASS_BATTERY: [{CONF_TYPE: CONF_BAT_LOW}, {CONF_TYPE: CONF_NOT_BAT_LOW}],
DEVICE_CLASS_BATTERY_CHARGING: [
BinarySensorDeviceClass.BATTERY: [
{CONF_TYPE: CONF_BAT_LOW},
{CONF_TYPE: CONF_NOT_BAT_LOW},
],
BinarySensorDeviceClass.BATTERY_CHARGING: [
{CONF_TYPE: CONF_CHARGING},
{CONF_TYPE: CONF_NOT_CHARGING},
],
DEVICE_CLASS_CO: [{CONF_TYPE: CONF_CO}, {CONF_TYPE: CONF_NO_CO}],
DEVICE_CLASS_COLD: [{CONF_TYPE: CONF_COLD}, {CONF_TYPE: CONF_NOT_COLD}],
DEVICE_CLASS_CONNECTIVITY: [
BinarySensorDeviceClass.CO: [
{CONF_TYPE: CONF_CO},
{CONF_TYPE: CONF_NO_CO},
],
BinarySensorDeviceClass.COLD: [
{CONF_TYPE: CONF_COLD},
{CONF_TYPE: CONF_NOT_COLD},
],
BinarySensorDeviceClass.CONNECTIVITY: [
{CONF_TYPE: CONF_CONNECTED},
{CONF_TYPE: CONF_NOT_CONNECTED},
],
DEVICE_CLASS_DOOR: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
DEVICE_CLASS_GARAGE_DOOR: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
DEVICE_CLASS_GAS: [{CONF_TYPE: CONF_GAS}, {CONF_TYPE: CONF_NO_GAS}],
DEVICE_CLASS_HEAT: [{CONF_TYPE: CONF_HOT}, {CONF_TYPE: CONF_NOT_HOT}],
DEVICE_CLASS_LIGHT: [{CONF_TYPE: CONF_LIGHT}, {CONF_TYPE: CONF_NO_LIGHT}],
DEVICE_CLASS_LOCK: [{CONF_TYPE: CONF_LOCKED}, {CONF_TYPE: CONF_NOT_LOCKED}],
DEVICE_CLASS_MOISTURE: [{CONF_TYPE: CONF_MOIST}, {CONF_TYPE: CONF_NOT_MOIST}],
DEVICE_CLASS_MOTION: [{CONF_TYPE: CONF_MOTION}, {CONF_TYPE: CONF_NO_MOTION}],
DEVICE_CLASS_MOVING: [{CONF_TYPE: CONF_MOVING}, {CONF_TYPE: CONF_NOT_MOVING}],
DEVICE_CLASS_OCCUPANCY: [
BinarySensorDeviceClass.DOOR: [
{CONF_TYPE: CONF_OPENED},
{CONF_TYPE: CONF_NOT_OPENED},
],
BinarySensorDeviceClass.GARAGE_DOOR: [
{CONF_TYPE: CONF_OPENED},
{CONF_TYPE: CONF_NOT_OPENED},
],
BinarySensorDeviceClass.GAS: [
{CONF_TYPE: CONF_GAS},
{CONF_TYPE: CONF_NO_GAS},
],
BinarySensorDeviceClass.HEAT: [
{CONF_TYPE: CONF_HOT},
{CONF_TYPE: CONF_NOT_HOT},
],
BinarySensorDeviceClass.LIGHT: [
{CONF_TYPE: CONF_LIGHT},
{CONF_TYPE: CONF_NO_LIGHT},
],
BinarySensorDeviceClass.LOCK: [
{CONF_TYPE: CONF_LOCKED},
{CONF_TYPE: CONF_NOT_LOCKED},
],
BinarySensorDeviceClass.MOISTURE: [
{CONF_TYPE: CONF_MOIST},
{CONF_TYPE: CONF_NOT_MOIST},
],
BinarySensorDeviceClass.MOTION: [
{CONF_TYPE: CONF_MOTION},
{CONF_TYPE: CONF_NO_MOTION},
],
BinarySensorDeviceClass.MOVING: [
{CONF_TYPE: CONF_MOVING},
{CONF_TYPE: CONF_NOT_MOVING},
],
BinarySensorDeviceClass.OCCUPANCY: [
{CONF_TYPE: CONF_OCCUPIED},
{CONF_TYPE: CONF_NOT_OCCUPIED},
],
DEVICE_CLASS_OPENING: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
DEVICE_CLASS_PLUG: [{CONF_TYPE: CONF_PLUGGED_IN}, {CONF_TYPE: CONF_NOT_PLUGGED_IN}],
DEVICE_CLASS_POWER: [{CONF_TYPE: CONF_POWERED}, {CONF_TYPE: CONF_NOT_POWERED}],
DEVICE_CLASS_PRESENCE: [{CONF_TYPE: CONF_PRESENT}, {CONF_TYPE: CONF_NOT_PRESENT}],
DEVICE_CLASS_PROBLEM: [{CONF_TYPE: CONF_PROBLEM}, {CONF_TYPE: CONF_NO_PROBLEM}],
DEVICE_CLASS_RUNNING: [{CONF_TYPE: CONF_RUNNING}, {CONF_TYPE: CONF_NOT_RUNNING}],
DEVICE_CLASS_SAFETY: [{CONF_TYPE: CONF_UNSAFE}, {CONF_TYPE: CONF_NOT_UNSAFE}],
DEVICE_CLASS_SMOKE: [{CONF_TYPE: CONF_SMOKE}, {CONF_TYPE: CONF_NO_SMOKE}],
DEVICE_CLASS_SOUND: [{CONF_TYPE: CONF_SOUND}, {CONF_TYPE: CONF_NO_SOUND}],
DEVICE_CLASS_UPDATE: [{CONF_TYPE: CONF_UPDATE}, {CONF_TYPE: CONF_NO_UPDATE}],
DEVICE_CLASS_TAMPER: [{CONF_TYPE: CONF_TAMPERED}, {CONF_TYPE: CONF_NOT_TAMPERED}],
DEVICE_CLASS_VIBRATION: [
BinarySensorDeviceClass.OPENING: [
{CONF_TYPE: CONF_OPENED},
{CONF_TYPE: CONF_NOT_OPENED},
],
BinarySensorDeviceClass.PLUG: [
{CONF_TYPE: CONF_PLUGGED_IN},
{CONF_TYPE: CONF_NOT_PLUGGED_IN},
],
BinarySensorDeviceClass.POWER: [
{CONF_TYPE: CONF_POWERED},
{CONF_TYPE: CONF_NOT_POWERED},
],
BinarySensorDeviceClass.PRESENCE: [
{CONF_TYPE: CONF_PRESENT},
{CONF_TYPE: CONF_NOT_PRESENT},
],
BinarySensorDeviceClass.PROBLEM: [
{CONF_TYPE: CONF_PROBLEM},
{CONF_TYPE: CONF_NO_PROBLEM},
],
BinarySensorDeviceClass.RUNNING: [
{CONF_TYPE: CONF_RUNNING},
{CONF_TYPE: CONF_NOT_RUNNING},
],
BinarySensorDeviceClass.SAFETY: [
{CONF_TYPE: CONF_UNSAFE},
{CONF_TYPE: CONF_NOT_UNSAFE},
],
BinarySensorDeviceClass.SMOKE: [
{CONF_TYPE: CONF_SMOKE},
{CONF_TYPE: CONF_NO_SMOKE},
],
BinarySensorDeviceClass.SOUND: [
{CONF_TYPE: CONF_SOUND},
{CONF_TYPE: CONF_NO_SOUND},
],
BinarySensorDeviceClass.UPDATE: [
{CONF_TYPE: CONF_UPDATE},
{CONF_TYPE: CONF_NO_UPDATE},
],
BinarySensorDeviceClass.TAMPER: [
{CONF_TYPE: CONF_TAMPERED},
{CONF_TYPE: CONF_NOT_TAMPERED},
],
BinarySensorDeviceClass.VIBRATION: [
{CONF_TYPE: CONF_VIBRATION},
{CONF_TYPE: CONF_NO_VIBRATION},
],
DEVICE_CLASS_WINDOW: [{CONF_TYPE: CONF_OPENED}, {CONF_TYPE: CONF_NOT_OPENED}],
DEVICE_CLASS_NONE: [{CONF_TYPE: CONF_TURNED_ON}, {CONF_TYPE: CONF_TURNED_OFF}],
BinarySensorDeviceClass.WINDOW: [
{CONF_TYPE: CONF_OPENED},
{CONF_TYPE: CONF_NOT_OPENED},
],
DEVICE_CLASS_NONE: [
{CONF_TYPE: CONF_TURNED_ON},
{CONF_TYPE: CONF_TURNED_OFF},
],
}

View File

@ -5,7 +5,7 @@ from unittest.mock import patch
import pytest
import homeassistant.components.automation as automation
from homeassistant.components.binary_sensor import DEVICE_CLASSES, DOMAIN
from homeassistant.components.binary_sensor import DOMAIN, BinarySensorDeviceClass
from homeassistant.components.binary_sensor.device_condition import ENTITY_CONDITIONS
from homeassistant.components.device_automation import DeviceAutomationType
from homeassistant.const import CONF_PLATFORM, STATE_OFF, STATE_ON
@ -53,7 +53,7 @@ async def test_get_conditions(hass, device_reg, entity_reg, enable_custom_integr
config_entry_id=config_entry.entry_id,
connections={(device_registry.CONNECTION_NETWORK_MAC, "12:34:56:AB:CD:EF")},
)
for device_class in DEVICE_CLASSES:
for device_class in BinarySensorDeviceClass:
entity_reg.async_get_or_create(
DOMAIN,
"test",
@ -72,7 +72,7 @@ async def test_get_conditions(hass, device_reg, entity_reg, enable_custom_integr
"device_id": device_entry.id,
"entity_id": platform.ENTITIES[device_class].entity_id,
}
for device_class in DEVICE_CLASSES
for device_class in BinarySensorDeviceClass
for condition in ENTITY_CONDITIONS[device_class]
]
conditions = await async_get_device_automations(
@ -90,7 +90,7 @@ async def test_get_conditions_no_state(hass, device_reg, entity_reg):
connections={(device_registry.CONNECTION_NETWORK_MAC, "12:34:56:AB:CD:EF")},
)
entity_ids = {}
for device_class in DEVICE_CLASSES:
for device_class in BinarySensorDeviceClass:
entity_ids[device_class] = entity_reg.async_get_or_create(
DOMAIN,
"test",
@ -109,7 +109,7 @@ async def test_get_conditions_no_state(hass, device_reg, entity_reg):
"device_id": device_entry.id,
"entity_id": entity_ids[device_class],
}
for device_class in DEVICE_CLASSES
for device_class in BinarySensorDeviceClass
for condition in ENTITY_CONDITIONS[device_class]
]
conditions = await async_get_device_automations(

View File

@ -4,7 +4,7 @@ from datetime import timedelta
import pytest
import homeassistant.components.automation as automation
from homeassistant.components.binary_sensor import DEVICE_CLASSES, DOMAIN
from homeassistant.components.binary_sensor import DOMAIN, BinarySensorDeviceClass
from homeassistant.components.binary_sensor.device_trigger import ENTITY_TRIGGERS
from homeassistant.components.device_automation import DeviceAutomationType
from homeassistant.const import CONF_PLATFORM, STATE_OFF, STATE_ON
@ -53,7 +53,7 @@ async def test_get_triggers(hass, device_reg, entity_reg, enable_custom_integrat
config_entry_id=config_entry.entry_id,
connections={(device_registry.CONNECTION_NETWORK_MAC, "12:34:56:AB:CD:EF")},
)
for device_class in DEVICE_CLASSES:
for device_class in BinarySensorDeviceClass:
entity_reg.async_get_or_create(
DOMAIN,
"test",
@ -72,7 +72,7 @@ async def test_get_triggers(hass, device_reg, entity_reg, enable_custom_integrat
"device_id": device_entry.id,
"entity_id": platform.ENTITIES[device_class].entity_id,
}
for device_class in DEVICE_CLASSES
for device_class in BinarySensorDeviceClass
for trigger in ENTITY_TRIGGERS[device_class]
]
triggers = await async_get_device_automations(
@ -93,7 +93,7 @@ async def test_get_triggers_no_state(hass, device_reg, entity_reg):
config_entry_id=config_entry.entry_id,
connections={(device_registry.CONNECTION_NETWORK_MAC, "12:34:56:AB:CD:EF")},
)
for device_class in DEVICE_CLASSES:
for device_class in BinarySensorDeviceClass:
entity_ids[device_class] = entity_reg.async_get_or_create(
DOMAIN,
"test",
@ -112,7 +112,7 @@ async def test_get_triggers_no_state(hass, device_reg, entity_reg):
"device_id": device_entry.id,
"entity_id": entity_ids[device_class],
}
for device_class in DEVICE_CLASSES
for device_class in BinarySensorDeviceClass
for trigger in ENTITY_TRIGGERS[device_class]
]
triggers = await async_get_device_automations(