Use DeviceClass Enums in homekit (#62218)
This commit is contained in:
parent
6cf9f1a0cc
commit
168fefad88
6 changed files with 54 additions and 53 deletions
|
@ -18,6 +18,7 @@ from homeassistant.components.homekit.const import (
|
||||||
TYPE_VALVE,
|
TYPE_VALVE,
|
||||||
)
|
)
|
||||||
import homeassistant.components.media_player.const as media_player_c
|
import homeassistant.components.media_player.const as media_player_c
|
||||||
|
from homeassistant.components.sensor import SensorDeviceClass
|
||||||
import homeassistant.components.vacuum as vacuum
|
import homeassistant.components.vacuum as vacuum
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_CODE,
|
ATTR_CODE,
|
||||||
|
@ -26,8 +27,6 @@ from homeassistant.const import (
|
||||||
ATTR_UNIT_OF_MEASUREMENT,
|
ATTR_UNIT_OF_MEASUREMENT,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
CONF_TYPE,
|
CONF_TYPE,
|
||||||
DEVICE_CLASS_CO,
|
|
||||||
DEVICE_CLASS_CO2,
|
|
||||||
LIGHT_LUX,
|
LIGHT_LUX,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
STATE_UNKNOWN,
|
STATE_UNKNOWN,
|
||||||
|
@ -219,14 +218,14 @@ def test_type_media_player(type_name, entity_id, state, attrs, config):
|
||||||
"CarbonMonoxideSensor",
|
"CarbonMonoxideSensor",
|
||||||
"sensor.co",
|
"sensor.co",
|
||||||
"2",
|
"2",
|
||||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_CO},
|
{ATTR_DEVICE_CLASS: SensorDeviceClass.CO},
|
||||||
),
|
),
|
||||||
("CarbonDioxideSensor", "sensor.airmeter_co2", "500", {}),
|
("CarbonDioxideSensor", "sensor.airmeter_co2", "500", {}),
|
||||||
(
|
(
|
||||||
"CarbonDioxideSensor",
|
"CarbonDioxideSensor",
|
||||||
"sensor.co2",
|
"sensor.co2",
|
||||||
"500",
|
"500",
|
||||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_CO2},
|
{ATTR_DEVICE_CLASS: SensorDeviceClass.CO2},
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"HumiditySensor",
|
"HumiditySensor",
|
||||||
|
|
|
@ -11,10 +11,7 @@ import pytest
|
||||||
|
|
||||||
from homeassistant import config as hass_config
|
from homeassistant import config as hass_config
|
||||||
from homeassistant.components import homekit as homekit_base, zeroconf
|
from homeassistant.components import homekit as homekit_base, zeroconf
|
||||||
from homeassistant.components.binary_sensor import (
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
|
||||||
DEVICE_CLASS_BATTERY_CHARGING,
|
|
||||||
DEVICE_CLASS_MOTION,
|
|
||||||
)
|
|
||||||
from homeassistant.components.homekit import (
|
from homeassistant.components.homekit import (
|
||||||
MAX_DEVICES,
|
MAX_DEVICES,
|
||||||
STATUS_READY,
|
STATUS_READY,
|
||||||
|
@ -37,6 +34,7 @@ from homeassistant.components.homekit.const import (
|
||||||
)
|
)
|
||||||
from homeassistant.components.homekit.type_triggers import DeviceTriggerAccessory
|
from homeassistant.components.homekit.type_triggers import DeviceTriggerAccessory
|
||||||
from homeassistant.components.homekit.util import get_persist_fullpath_for_entry_id
|
from homeassistant.components.homekit.util import get_persist_fullpath_for_entry_id
|
||||||
|
from homeassistant.components.sensor import SensorDeviceClass
|
||||||
from homeassistant.config_entries import SOURCE_IMPORT
|
from homeassistant.config_entries import SOURCE_IMPORT
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_DEVICE_CLASS,
|
ATTR_DEVICE_CLASS,
|
||||||
|
@ -45,8 +43,6 @@ from homeassistant.const import (
|
||||||
ATTR_UNIT_OF_MEASUREMENT,
|
ATTR_UNIT_OF_MEASUREMENT,
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
DEVICE_CLASS_BATTERY,
|
|
||||||
DEVICE_CLASS_HUMIDITY,
|
|
||||||
EVENT_HOMEASSISTANT_STARTED,
|
EVENT_HOMEASSISTANT_STARTED,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
SERVICE_RELOAD,
|
SERVICE_RELOAD,
|
||||||
|
@ -1118,14 +1114,14 @@ async def test_homekit_finds_linked_batteries(
|
||||||
"powerwall",
|
"powerwall",
|
||||||
"battery_charging",
|
"battery_charging",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_BATTERY_CHARGING,
|
original_device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
|
||||||
)
|
)
|
||||||
battery_sensor = entity_reg.async_get_or_create(
|
battery_sensor = entity_reg.async_get_or_create(
|
||||||
"sensor",
|
"sensor",
|
||||||
"powerwall",
|
"powerwall",
|
||||||
"battery",
|
"battery",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_BATTERY,
|
original_device_class=SensorDeviceClass.BATTERY,
|
||||||
)
|
)
|
||||||
light = entity_reg.async_get_or_create(
|
light = entity_reg.async_get_or_create(
|
||||||
"light", "powerwall", "demo", device_id=device_entry.id
|
"light", "powerwall", "demo", device_id=device_entry.id
|
||||||
|
@ -1134,10 +1130,10 @@ async def test_homekit_finds_linked_batteries(
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
binary_charging_sensor.entity_id,
|
binary_charging_sensor.entity_id,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING},
|
{ATTR_DEVICE_CLASS: BinarySensorDeviceClass.BATTERY_CHARGING},
|
||||||
)
|
)
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
battery_sensor.entity_id, 30, {ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY}
|
battery_sensor.entity_id, 30, {ATTR_DEVICE_CLASS: SensorDeviceClass.BATTERY}
|
||||||
)
|
)
|
||||||
hass.states.async_set(light.entity_id, STATE_ON)
|
hass.states.async_set(light.entity_id, STATE_ON)
|
||||||
|
|
||||||
|
@ -1187,14 +1183,14 @@ async def test_homekit_async_get_integration_fails(
|
||||||
"invalid_integration_does_not_exist",
|
"invalid_integration_does_not_exist",
|
||||||
"battery_charging",
|
"battery_charging",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_BATTERY_CHARGING,
|
original_device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
|
||||||
)
|
)
|
||||||
battery_sensor = entity_reg.async_get_or_create(
|
battery_sensor = entity_reg.async_get_or_create(
|
||||||
"sensor",
|
"sensor",
|
||||||
"invalid_integration_does_not_exist",
|
"invalid_integration_does_not_exist",
|
||||||
"battery",
|
"battery",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_BATTERY,
|
original_device_class=SensorDeviceClass.BATTERY,
|
||||||
)
|
)
|
||||||
light = entity_reg.async_get_or_create(
|
light = entity_reg.async_get_or_create(
|
||||||
"light", "invalid_integration_does_not_exist", "demo", device_id=device_entry.id
|
"light", "invalid_integration_does_not_exist", "demo", device_id=device_entry.id
|
||||||
|
@ -1203,10 +1199,10 @@ async def test_homekit_async_get_integration_fails(
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
binary_charging_sensor.entity_id,
|
binary_charging_sensor.entity_id,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING},
|
{ATTR_DEVICE_CLASS: BinarySensorDeviceClass.BATTERY_CHARGING},
|
||||||
)
|
)
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
battery_sensor.entity_id, 30, {ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY}
|
battery_sensor.entity_id, 30, {ATTR_DEVICE_CLASS: SensorDeviceClass.BATTERY}
|
||||||
)
|
)
|
||||||
hass.states.async_set(light.entity_id, STATE_ON)
|
hass.states.async_set(light.entity_id, STATE_ON)
|
||||||
|
|
||||||
|
@ -1334,14 +1330,14 @@ async def test_homekit_ignored_missing_devices(
|
||||||
"powerwall",
|
"powerwall",
|
||||||
"battery_charging",
|
"battery_charging",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_BATTERY_CHARGING,
|
original_device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
|
||||||
)
|
)
|
||||||
entity_reg.async_get_or_create(
|
entity_reg.async_get_or_create(
|
||||||
"sensor",
|
"sensor",
|
||||||
"powerwall",
|
"powerwall",
|
||||||
"battery",
|
"battery",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_BATTERY,
|
original_device_class=SensorDeviceClass.BATTERY,
|
||||||
)
|
)
|
||||||
light = entity_reg.async_get_or_create(
|
light = entity_reg.async_get_or_create(
|
||||||
"light", "powerwall", "demo", device_id=device_entry.id
|
"light", "powerwall", "demo", device_id=device_entry.id
|
||||||
|
@ -1404,7 +1400,7 @@ async def test_homekit_finds_linked_motion_sensors(
|
||||||
"camera",
|
"camera",
|
||||||
"motion_sensor",
|
"motion_sensor",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_MOTION,
|
original_device_class=BinarySensorDeviceClass.MOTION,
|
||||||
)
|
)
|
||||||
camera = entity_reg.async_get_or_create(
|
camera = entity_reg.async_get_or_create(
|
||||||
"camera", "camera", "demo", device_id=device_entry.id
|
"camera", "camera", "demo", device_id=device_entry.id
|
||||||
|
@ -1413,7 +1409,7 @@ async def test_homekit_finds_linked_motion_sensors(
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
binary_motion_sensor.entity_id,
|
binary_motion_sensor.entity_id,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION},
|
{ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION},
|
||||||
)
|
)
|
||||||
hass.states.async_set(camera.entity_id, STATE_ON)
|
hass.states.async_set(camera.entity_id, STATE_ON)
|
||||||
|
|
||||||
|
@ -1466,7 +1462,7 @@ async def test_homekit_finds_linked_humidity_sensors(
|
||||||
"humidifier",
|
"humidifier",
|
||||||
"humidity_sensor",
|
"humidity_sensor",
|
||||||
device_id=device_entry.id,
|
device_id=device_entry.id,
|
||||||
original_device_class=DEVICE_CLASS_HUMIDITY,
|
original_device_class=SensorDeviceClass.HUMIDITY,
|
||||||
)
|
)
|
||||||
humidifier = entity_reg.async_get_or_create(
|
humidifier = entity_reg.async_get_or_create(
|
||||||
"humidifier", "humidifier", "demo", device_id=device_entry.id
|
"humidifier", "humidifier", "demo", device_id=device_entry.id
|
||||||
|
@ -1476,7 +1472,7 @@ async def test_homekit_finds_linked_humidity_sensors(
|
||||||
humidity_sensor.entity_id,
|
humidity_sensor.entity_id,
|
||||||
"42",
|
"42",
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY,
|
ATTR_DEVICE_CLASS: SensorDeviceClass.HUMIDITY,
|
||||||
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,10 +8,7 @@ from pyhap.accessory_driver import AccessoryDriver
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from homeassistant.components import camera, ffmpeg
|
from homeassistant.components import camera, ffmpeg
|
||||||
from homeassistant.components.binary_sensor import (
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
|
||||||
DEVICE_CLASS_MOTION,
|
|
||||||
DEVICE_CLASS_OCCUPANCY,
|
|
||||||
)
|
|
||||||
from homeassistant.components.camera.img_util import TurboJPEGSingleton
|
from homeassistant.components.camera.img_util import TurboJPEGSingleton
|
||||||
from homeassistant.components.homekit.accessories import HomeBridge
|
from homeassistant.components.homekit.accessories import HomeBridge
|
||||||
from homeassistant.components.homekit.const import (
|
from homeassistant.components.homekit.const import (
|
||||||
|
@ -610,7 +607,7 @@ async def test_camera_with_linked_motion_sensor(hass, run_driver, events):
|
||||||
motion_entity_id = "binary_sensor.motion"
|
motion_entity_id = "binary_sensor.motion"
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
motion_entity_id, STATE_ON, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION}
|
motion_entity_id, STATE_ON, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
entity_id = "camera.demo_camera"
|
entity_id = "camera.demo_camera"
|
||||||
|
@ -647,14 +644,14 @@ async def test_camera_with_linked_motion_sensor(hass, run_driver, events):
|
||||||
assert char.value is True
|
assert char.value is True
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
motion_entity_id, STATE_OFF, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION}
|
motion_entity_id, STATE_OFF, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert char.value is False
|
assert char.value is False
|
||||||
|
|
||||||
char.set_value(True)
|
char.set_value(True)
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
motion_entity_id, STATE_ON, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION}
|
motion_entity_id, STATE_ON, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert char.value is True
|
assert char.value is True
|
||||||
|
@ -708,7 +705,9 @@ async def test_camera_with_linked_doorbell_sensor(hass, run_driver, events):
|
||||||
doorbell_entity_id = "binary_sensor.doorbell"
|
doorbell_entity_id = "binary_sensor.doorbell"
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
doorbell_entity_id, STATE_ON, {ATTR_DEVICE_CLASS: DEVICE_CLASS_OCCUPANCY}
|
doorbell_entity_id,
|
||||||
|
STATE_ON,
|
||||||
|
{ATTR_DEVICE_CLASS: BinarySensorDeviceClass.OCCUPANCY},
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
entity_id = "camera.demo_camera"
|
entity_id = "camera.demo_camera"
|
||||||
|
@ -752,7 +751,9 @@ async def test_camera_with_linked_doorbell_sensor(hass, run_driver, events):
|
||||||
assert char2.value is None
|
assert char2.value is None
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
doorbell_entity_id, STATE_OFF, {ATTR_DEVICE_CLASS: DEVICE_CLASS_OCCUPANCY}
|
doorbell_entity_id,
|
||||||
|
STATE_OFF,
|
||||||
|
{ATTR_DEVICE_CLASS: BinarySensorDeviceClass.OCCUPANCY},
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert char.value is None
|
assert char.value is None
|
||||||
|
@ -761,7 +762,9 @@ async def test_camera_with_linked_doorbell_sensor(hass, run_driver, events):
|
||||||
char.set_value(True)
|
char.set_value(True)
|
||||||
char2.set_value(True)
|
char2.set_value(True)
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
doorbell_entity_id, STATE_ON, {ATTR_DEVICE_CLASS: DEVICE_CLASS_OCCUPANCY}
|
doorbell_entity_id,
|
||||||
|
STATE_ON,
|
||||||
|
{ATTR_DEVICE_CLASS: BinarySensorDeviceClass.OCCUPANCY},
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert char.value is None
|
assert char.value is None
|
||||||
|
|
|
@ -27,11 +27,11 @@ from homeassistant.components.humidifier.const import (
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
SERVICE_SET_HUMIDITY,
|
SERVICE_SET_HUMIDITY,
|
||||||
)
|
)
|
||||||
|
from homeassistant.components.sensor import SensorDeviceClass
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_DEVICE_CLASS,
|
ATTR_DEVICE_CLASS,
|
||||||
ATTR_ENTITY_ID,
|
ATTR_ENTITY_ID,
|
||||||
ATTR_UNIT_OF_MEASUREMENT,
|
ATTR_UNIT_OF_MEASUREMENT,
|
||||||
DEVICE_CLASS_HUMIDITY,
|
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
SERVICE_TURN_OFF,
|
SERVICE_TURN_OFF,
|
||||||
SERVICE_TURN_ON,
|
SERVICE_TURN_ON,
|
||||||
|
@ -313,7 +313,7 @@ async def test_humidifier_with_linked_humidity_sensor(hass, hk_driver):
|
||||||
humidity_sensor_entity_id,
|
humidity_sensor_entity_id,
|
||||||
"42.0",
|
"42.0",
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY,
|
ATTR_DEVICE_CLASS: SensorDeviceClass.HUMIDITY,
|
||||||
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
@ -341,7 +341,7 @@ async def test_humidifier_with_linked_humidity_sensor(hass, hk_driver):
|
||||||
humidity_sensor_entity_id,
|
humidity_sensor_entity_id,
|
||||||
"43.0",
|
"43.0",
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY,
|
ATTR_DEVICE_CLASS: SensorDeviceClass.HUMIDITY,
|
||||||
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
@ -353,7 +353,7 @@ async def test_humidifier_with_linked_humidity_sensor(hass, hk_driver):
|
||||||
humidity_sensor_entity_id,
|
humidity_sensor_entity_id,
|
||||||
STATE_UNAVAILABLE,
|
STATE_UNAVAILABLE,
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY,
|
ATTR_DEVICE_CLASS: SensorDeviceClass.HUMIDITY,
|
||||||
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
@ -18,7 +18,7 @@ from homeassistant.components.homekit.type_media_players import (
|
||||||
MediaPlayer,
|
MediaPlayer,
|
||||||
TelevisionMediaPlayer,
|
TelevisionMediaPlayer,
|
||||||
)
|
)
|
||||||
from homeassistant.components.media_player import DEVICE_CLASS_TV
|
from homeassistant.components.media_player import MediaPlayerDeviceClass
|
||||||
from homeassistant.components.media_player.const import (
|
from homeassistant.components.media_player.const import (
|
||||||
ATTR_INPUT_SOURCE,
|
ATTR_INPUT_SOURCE,
|
||||||
ATTR_INPUT_SOURCE_LIST,
|
ATTR_INPUT_SOURCE_LIST,
|
||||||
|
@ -181,7 +181,7 @@ async def test_media_player_television(hass, hk_driver, events, caplog):
|
||||||
entity_id,
|
entity_id,
|
||||||
None,
|
None,
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TV,
|
ATTR_DEVICE_CLASS: MediaPlayerDeviceClass.TV,
|
||||||
ATTR_SUPPORTED_FEATURES: 3469,
|
ATTR_SUPPORTED_FEATURES: 3469,
|
||||||
ATTR_MEDIA_VOLUME_MUTED: False,
|
ATTR_MEDIA_VOLUME_MUTED: False,
|
||||||
ATTR_INPUT_SOURCE_LIST: ["HDMI 1", "HDMI 2", "HDMI 3", "HDMI 4"],
|
ATTR_INPUT_SOURCE_LIST: ["HDMI 1", "HDMI 2", "HDMI 3", "HDMI 4"],
|
||||||
|
@ -358,7 +358,7 @@ async def test_media_player_television_basic(hass, hk_driver, events, caplog):
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
entity_id,
|
entity_id,
|
||||||
None,
|
None,
|
||||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_TV, ATTR_SUPPORTED_FEATURES: 384},
|
{ATTR_DEVICE_CLASS: MediaPlayerDeviceClass.TV, ATTR_SUPPORTED_FEATURES: 384},
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
acc = TelevisionMediaPlayer(hass, hk_driver, "MediaPlayer", entity_id, 2, None)
|
acc = TelevisionMediaPlayer(hass, hk_driver, "MediaPlayer", entity_id, 2, None)
|
||||||
|
@ -394,7 +394,7 @@ async def test_media_player_television_supports_source_select_no_sources(
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
entity_id,
|
entity_id,
|
||||||
None,
|
None,
|
||||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_TV, ATTR_SUPPORTED_FEATURES: 3469},
|
{ATTR_DEVICE_CLASS: MediaPlayerDeviceClass.TV, ATTR_SUPPORTED_FEATURES: 3469},
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
acc = TelevisionMediaPlayer(hass, hk_driver, "MediaPlayer", entity_id, 2, None)
|
acc = TelevisionMediaPlayer(hass, hk_driver, "MediaPlayer", entity_id, 2, None)
|
||||||
|
@ -415,7 +415,7 @@ async def test_tv_restore(hass, hk_driver, events):
|
||||||
"generic",
|
"generic",
|
||||||
"1234",
|
"1234",
|
||||||
suggested_object_id="simple",
|
suggested_object_id="simple",
|
||||||
original_device_class=DEVICE_CLASS_TV,
|
original_device_class=MediaPlayerDeviceClass.TV,
|
||||||
)
|
)
|
||||||
registry.async_get_or_create(
|
registry.async_get_or_create(
|
||||||
"media_player",
|
"media_player",
|
||||||
|
@ -426,7 +426,7 @@ async def test_tv_restore(hass, hk_driver, events):
|
||||||
ATTR_INPUT_SOURCE_LIST: ["HDMI 1", "HDMI 2", "HDMI 3", "HDMI 4"],
|
ATTR_INPUT_SOURCE_LIST: ["HDMI 1", "HDMI 2", "HDMI 3", "HDMI 4"],
|
||||||
},
|
},
|
||||||
supported_features=3469,
|
supported_features=3469,
|
||||||
original_device_class=DEVICE_CLASS_TV,
|
original_device_class=MediaPlayerDeviceClass.TV,
|
||||||
)
|
)
|
||||||
|
|
||||||
hass.bus.async_fire(EVENT_HOMEASSISTANT_START, {})
|
hass.bus.async_fire(EVENT_HOMEASSISTANT_START, {})
|
||||||
|
@ -465,7 +465,7 @@ async def test_media_player_television_max_sources(hass, hk_driver, events, capl
|
||||||
entity_id,
|
entity_id,
|
||||||
None,
|
None,
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TV,
|
ATTR_DEVICE_CLASS: MediaPlayerDeviceClass.TV,
|
||||||
ATTR_SUPPORTED_FEATURES: 3469,
|
ATTR_SUPPORTED_FEATURES: 3469,
|
||||||
ATTR_MEDIA_VOLUME_MUTED: False,
|
ATTR_MEDIA_VOLUME_MUTED: False,
|
||||||
ATTR_INPUT_SOURCE: "HDMI 3",
|
ATTR_INPUT_SOURCE: "HDMI 3",
|
||||||
|
@ -489,7 +489,7 @@ async def test_media_player_television_max_sources(hass, hk_driver, events, capl
|
||||||
entity_id,
|
entity_id,
|
||||||
None,
|
None,
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TV,
|
ATTR_DEVICE_CLASS: MediaPlayerDeviceClass.TV,
|
||||||
ATTR_SUPPORTED_FEATURES: 3469,
|
ATTR_SUPPORTED_FEATURES: 3469,
|
||||||
ATTR_MEDIA_VOLUME_MUTED: False,
|
ATTR_MEDIA_VOLUME_MUTED: False,
|
||||||
ATTR_INPUT_SOURCE: "HDMI 90",
|
ATTR_INPUT_SOURCE: "HDMI 90",
|
||||||
|
@ -503,7 +503,7 @@ async def test_media_player_television_max_sources(hass, hk_driver, events, capl
|
||||||
entity_id,
|
entity_id,
|
||||||
None,
|
None,
|
||||||
{
|
{
|
||||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TV,
|
ATTR_DEVICE_CLASS: MediaPlayerDeviceClass.TV,
|
||||||
ATTR_SUPPORTED_FEATURES: 3469,
|
ATTR_SUPPORTED_FEATURES: 3469,
|
||||||
ATTR_MEDIA_VOLUME_MUTED: False,
|
ATTR_MEDIA_VOLUME_MUTED: False,
|
||||||
ATTR_INPUT_SOURCE: "HDMI 91",
|
ATTR_INPUT_SOURCE: "HDMI 91",
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
"""Test different accessory types: Sensors."""
|
"""Test different accessory types: Sensors."""
|
||||||
from homeassistant.components.binary_sensor import DEVICE_CLASS_MOTION
|
|
||||||
|
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
|
||||||
from homeassistant.components.homekit import get_accessory
|
from homeassistant.components.homekit import get_accessory
|
||||||
from homeassistant.components.homekit.const import (
|
from homeassistant.components.homekit.const import (
|
||||||
PROP_CELSIUS,
|
PROP_CELSIUS,
|
||||||
|
@ -269,7 +270,7 @@ async def test_motion_uses_bool(hass, hk_driver):
|
||||||
entity_id = "binary_sensor.motion"
|
entity_id = "binary_sensor.motion"
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
entity_id, STATE_UNKNOWN, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION}
|
entity_id, STATE_UNKNOWN, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
@ -282,24 +283,26 @@ async def test_motion_uses_bool(hass, hk_driver):
|
||||||
|
|
||||||
assert acc.char_detected.value is False
|
assert acc.char_detected.value is False
|
||||||
|
|
||||||
hass.states.async_set(entity_id, STATE_ON, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION})
|
hass.states.async_set(
|
||||||
|
entity_id, STATE_ON, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert acc.char_detected.value is True
|
assert acc.char_detected.value is True
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
entity_id, STATE_OFF, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION}
|
entity_id, STATE_OFF, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert acc.char_detected.value is False
|
assert acc.char_detected.value is False
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
entity_id, STATE_HOME, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION}
|
entity_id, STATE_HOME, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert acc.char_detected.value is True
|
assert acc.char_detected.value is True
|
||||||
|
|
||||||
hass.states.async_set(
|
hass.states.async_set(
|
||||||
entity_id, STATE_NOT_HOME, {ATTR_DEVICE_CLASS: DEVICE_CLASS_MOTION}
|
entity_id, STATE_NOT_HOME, {ATTR_DEVICE_CLASS: BinarySensorDeviceClass.MOTION}
|
||||||
)
|
)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
assert acc.char_detected.value is False
|
assert acc.char_detected.value is False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue