Use BinarySensorDeviceClass enum in binary_sensor device automations (#62635)
parent
7e4414710d
commit
411fcad798
|
@ -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(
|
||||
|
|
|
@ -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},
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
Loading…
Reference in New Issue