From 7a8aa79f191ed633babc1134238017c164b306f3 Mon Sep 17 00:00:00 2001 From: Chris Helming Date: Fri, 5 Apr 2019 23:02:38 -0400 Subject: [PATCH] Add optional rtsp_port for Foscam (#22786) * add optional rtsp port for config * getting rid of default=None * removing vol.Any --- homeassistant/components/foscam/camera.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/foscam/camera.py b/homeassistant/components/foscam/camera.py index 1b4ee039053..8adac658625 100644 --- a/homeassistant/components/foscam/camera.py +++ b/homeassistant/components/foscam/camera.py @@ -19,6 +19,7 @@ _LOGGER = logging.getLogger(__name__) REQUIREMENTS = ['libpyfoscam==1.0'] CONF_IP = 'ip' +CONF_RTSP_PORT = 'rtsp_port' DEFAULT_NAME = 'Foscam Camera' DEFAULT_PORT = 88 @@ -31,6 +32,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_USERNAME): cv.string, vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + vol.Optional(CONF_RTSP_PORT): cv.port }) @@ -58,11 +60,12 @@ class FoscamCam(Camera): self._foscam_session = FoscamCamera( ip_address, port, self._username, self._password, verbose=False) - self._rtsp_port = None - result, response = self._foscam_session.get_port_info() - if result == 0: - self._rtsp_port = response.get('rtspPort') or \ - response.get('mediaPort') + self._rtsp_port = device_info.get(CONF_RTSP_PORT) + if not self._rtsp_port: + result, response = self._foscam_session.get_port_info() + if result == 0: + self._rtsp_port = response.get('rtspPort') or \ + response.get('mediaPort') def camera_image(self): """Return a still image response from the camera."""