diff --git a/homeassistant/components/vivotek/camera.py b/homeassistant/components/vivotek/camera.py index 012c1e1df34..c39a9b495bd 100644 --- a/homeassistant/components/vivotek/camera.py +++ b/homeassistant/components/vivotek/camera.py @@ -20,9 +20,12 @@ _LOGGER = logging.getLogger(__name__) CONF_FRAMERATE = "framerate" +CONF_STREAM_PATH = "stream_path" + DEFAULT_CAMERA_BRAND = "Vivotek" DEFAULT_NAME = "Vivotek Camera" DEFAULT_EVENT_0_KEY = "event_i0_enable" +DEFAULT_STREAM_SOURCE = "live.sdp" PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( { @@ -33,12 +36,14 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( vol.Optional(CONF_SSL, default=False): cv.boolean, vol.Optional(CONF_VERIFY_SSL, default=True): cv.boolean, vol.Optional(CONF_FRAMERATE, default=2): cv.positive_int, + vol.Optional(CONF_STREAM_PATH, default=DEFAULT_STREAM_SOURCE): cv.string, } ) def setup_platform(hass, config, add_entities, discovery_info=None): """Set up a Vivotek IP Camera.""" + creds = f"{config[CONF_USERNAME]}:{config[CONF_PASSWORD]}" args = dict( config=config, cam=VivotekCamera( @@ -48,12 +53,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None): usr=config[CONF_USERNAME], pwd=config[CONF_PASSWORD], ), - stream_source=( - "rtsp://%s:%s@%s:554/live.sdp", - config[CONF_USERNAME], - config[CONF_PASSWORD], - config[CONF_IP_ADDRESS], - ), + stream_source=f"rtsp://{creds}@{config[CONF_IP_ADDRESS]}:554/{config[CONF_STREAM_PATH]}", ) add_entities([VivotekCam(**args)], True)