only preload when stream is setup (#23134)
parent
8b86bf7dd2
commit
e7102eaf30
|
@ -15,7 +15,7 @@ import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, \
|
from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, \
|
||||||
SERVICE_TURN_ON, EVENT_HOMEASSISTANT_START, CONF_FILENAME
|
SERVICE_TURN_ON, CONF_FILENAME
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.loader import bind_hass
|
from homeassistant.loader import bind_hass
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
|
@ -32,6 +32,7 @@ from homeassistant.components.stream.const import (
|
||||||
CONF_DURATION, SERVICE_RECORD, DOMAIN as DOMAIN_STREAM)
|
CONF_DURATION, SERVICE_RECORD, DOMAIN as DOMAIN_STREAM)
|
||||||
from homeassistant.components import websocket_api
|
from homeassistant.components import websocket_api
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
from homeassistant.setup import async_when_setup
|
||||||
|
|
||||||
from .const import DOMAIN, DATA_CAMERA_PREFS
|
from .const import DOMAIN, DATA_CAMERA_PREFS
|
||||||
from .prefs import CameraPreferences
|
from .prefs import CameraPreferences
|
||||||
|
@ -217,14 +218,13 @@ async def async_setup(hass, config):
|
||||||
|
|
||||||
await component.async_setup(config)
|
await component.async_setup(config)
|
||||||
|
|
||||||
@callback
|
async def preload_stream(hass, _):
|
||||||
def preload_stream(event):
|
|
||||||
for camera in component.entities:
|
for camera in component.entities:
|
||||||
camera_prefs = prefs.get(camera.entity_id)
|
camera_prefs = prefs.get(camera.entity_id)
|
||||||
if camera.stream_source and camera_prefs.preload_stream:
|
if camera.stream_source and camera_prefs.preload_stream:
|
||||||
request_stream(hass, camera.stream_source, keepalive=True)
|
request_stream(hass, camera.stream_source, keepalive=True)
|
||||||
|
|
||||||
hass.bus.async_listen_once(EVENT_HOMEASSISTANT_START, preload_stream)
|
async_when_setup(hass, DOMAIN_STREAM, preload_stream)
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def update_tokens(time):
|
def update_tokens(time):
|
||||||
|
|
Loading…
Reference in New Issue