def __init__(self, host, api_key, port=<NUM_LIT>, ssl=False, loop=None):
self._host = host<EOL>self._api_key = api_key<EOL>self._port = port<EOL>self._ssl = ssl<EOL>self._sessions = None<EOL>self._devices = {}<EOL>_LOGGER.debug("<STR_LIT>",<EOL>__version__, host)<EOL>if loop is None:<EOL><INDENT>_LOGGER.info("<STR_LIT>")<EOL>self._event_loop = asyncio.new_event_loop()<EOL>self._own_loop = True<EOL><DEDENT>else:<EOL><INDENT>_LOGGER.info("<STR_LIT>")<EOL>self._event_loop = loop<EOL>self._own_loop = False<EOL><DEDENT>asyncio.set_event_loop(self._event_loop)<EOL>self._api_id = uuid.getnode()<EOL>headers = DEFAULT_HEADERS.copy()<EOL>headers.update({'<STR_LIT>':<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'.format(<EOL>self._api_id, __version__)})<EOL>conn = aiohttp.TCPConnector(verify_ssl=False)<EOL>self._api_session = aiohttp.ClientSession(<EOL>connector=conn, headers=headers, loop=self._event_loop)<EOL>self.wsck = None<EOL>self._new_devices_callbacks = []<EOL>self._stale_devices_callbacks = []<EOL>self._update_callbacks = []<EOL>self._shutdown = False<EOL>self._registered = False<EOL>
Initialize base class.