docs: async def start(self, **kwargs):
          """Start the pairing server and publish service."""
          zeroconf = kwargs['zeroconf']
          self._name = kwargs['name']
          self._pairing_guid = kwargs.get('pairing_guid', None) or \
              self._generate_random_guid()
  
          self._web_server = web.Server(self.handle_request, loop=self._loop)
          self._server = await self._loop.create_server(
              self._web_server, '0.0.0.0')
  
          # Get the allocated (random port) and include it in zeroconf service
          allocated_port = self._server.sockets[0].getsockname()[1]
          _LOGGER.debug('Started pairing web server at port %d', allocated_port)
  
          self._setup_zeroconf(zeroconf, allocated_port)