mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Use custom app to play camera stream using Google Assistant (#40750)
This commit is contained in:
parent
ebacc15e72
commit
c802a63700
@ -29,6 +29,7 @@ from homeassistant.const import (
|
|||||||
ATTR_ENTITY_ID,
|
ATTR_ENTITY_ID,
|
||||||
ATTR_SUPPORTED_FEATURES,
|
ATTR_SUPPORTED_FEATURES,
|
||||||
ATTR_TEMPERATURE,
|
ATTR_TEMPERATURE,
|
||||||
|
CAST_APP_ID_HOMEASSISTANT,
|
||||||
SERVICE_ALARM_ARM_AWAY,
|
SERVICE_ALARM_ARM_AWAY,
|
||||||
SERVICE_ALARM_ARM_CUSTOM_BYPASS,
|
SERVICE_ALARM_ARM_CUSTOM_BYPASS,
|
||||||
SERVICE_ALARM_ARM_HOME,
|
SERVICE_ALARM_ARM_HOME,
|
||||||
@ -287,7 +288,10 @@ class CameraStreamTrait(_Trait):
|
|||||||
url = await self.hass.components.camera.async_request_stream(
|
url = await self.hass.components.camera.async_request_stream(
|
||||||
self.state.entity_id, "hls"
|
self.state.entity_id, "hls"
|
||||||
)
|
)
|
||||||
self.stream_info = {"cameraStreamAccessUrl": f"{get_url(self.hass)}{url}"}
|
self.stream_info = {
|
||||||
|
"cameraStreamAccessUrl": f"{get_url(self.hass)}{url}",
|
||||||
|
"cameraStreamReceiverAppId": CAST_APP_ID_HOMEASSISTANT,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@register_trait
|
@register_trait
|
||||||
|
@ -608,3 +608,6 @@ PRECISION_TENTHS = 0.1
|
|||||||
# Static list of entities that will never be exposed to
|
# Static list of entities that will never be exposed to
|
||||||
# cloud, alexa, or google_home components
|
# cloud, alexa, or google_home components
|
||||||
CLOUD_NEVER_EXPOSED_ENTITIES = ["group.all_locks"]
|
CLOUD_NEVER_EXPOSED_ENTITIES = ["group.all_locks"]
|
||||||
|
|
||||||
|
# The ID of the Home Assistant Cast App
|
||||||
|
CAST_APP_ID_HOMEASSISTANT = "B12CE3CA"
|
||||||
|
@ -976,6 +976,7 @@ async def test_trait_execute_adding_query_data(hass):
|
|||||||
"states": {
|
"states": {
|
||||||
"online": True,
|
"online": True,
|
||||||
"cameraStreamAccessUrl": "https://example.com/api/streams/bla",
|
"cameraStreamAccessUrl": "https://example.com/api/streams/bla",
|
||||||
|
"cameraStreamReceiverAppId": "B12CE3CA",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -135,7 +135,8 @@ async def test_camera_stream(hass):
|
|||||||
await trt.execute(trait.COMMAND_GET_CAMERA_STREAM, BASIC_DATA, {}, {})
|
await trt.execute(trait.COMMAND_GET_CAMERA_STREAM, BASIC_DATA, {}, {})
|
||||||
|
|
||||||
assert trt.query_attributes() == {
|
assert trt.query_attributes() == {
|
||||||
"cameraStreamAccessUrl": "https://example.com/api/streams/bla"
|
"cameraStreamAccessUrl": "https://example.com/api/streams/bla",
|
||||||
|
"cameraStreamReceiverAppId": "B12CE3CA",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user