code: async def running(self):
          
          try:
              async with self._session.ws_connect(self._url) as ws:
                  self.state = STATE_RUNNING
                  async for msg in ws:
                      if msg.type == aiohttp.WSMsgType.TEXT:
                          ensure_future(self._async_callback(
                              json.loads(msg.data)))
                          _LOGGER.debug('Websocket data: %s', msg.data)
                      elif msg.type == aiohttp.WSMsgType.CLOSED:
                          break
                      elif msg.type == aiohttp.WSMsgType.ERROR:
                          break
          except aiohttp.ClientConnectorError:
              if self.state != STATE_STOPPED:
                  self.retry()
          except Exception as err:
              _LOGGER.error('Unexpected error %s', err)
              if self.state != STATE_STOPPED:
                  self.retry()
          else:
              if self.state != STATE_STOPPED:
                  self.retry()
docs: Start websocket connection.