From 2390a7f365a78bf9c33f0711ddd4a7adfa3e77c8 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 28 Feb 2020 11:46:06 +0100 Subject: [PATCH] Pass in aiohttp session for onvif (#32045) --- homeassistant/components/onvif/camera.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/onvif/camera.py b/homeassistant/components/onvif/camera.py index acedf229bdb..f87da72936d 100644 --- a/homeassistant/components/onvif/camera.py +++ b/homeassistant/components/onvif/camera.py @@ -11,6 +11,7 @@ from haffmpeg.tools import IMAGE_JPEG, ImageFrame import onvif from onvif import ONVIFCamera, exceptions import voluptuous as vol +from zeep.asyncio import AsyncTransport from zeep.exceptions import Fault from homeassistant.components.camera import PLATFORM_SCHEMA, SUPPORT_STREAM, Camera @@ -25,7 +26,10 @@ from homeassistant.const import ( CONF_USERNAME, ) from homeassistant.exceptions import PlatformNotReady -from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream +from homeassistant.helpers.aiohttp_client import ( + async_aiohttp_proxy_stream, + async_get_clientsession, +) import homeassistant.helpers.config_validation as cv from homeassistant.helpers.service import async_extract_entity_ids import homeassistant.util.dt as dt_util @@ -143,12 +147,15 @@ class ONVIFHassCamera(Camera): "Setting up the ONVIF camera device @ '%s:%s'", self._host, self._port ) + session = async_get_clientsession(hass) + transport = AsyncTransport(None, session=session) self._camera = ONVIFCamera( self._host, self._port, self._username, self._password, "{}/wsdl/".format(os.path.dirname(onvif.__file__)), + transport=transport, ) async def async_initialize(self):