code: async def get_supported_methods(self):
          
          response = await self.request_supported_methods()
  
          if "result" in response:
              services = response["result"][0]
              _LOGGER.debug("Got %s services!" % len(services))
  
              for x in services:
                  serv = await Service.from_payload(
                      x, self.endpoint, self.idgen, self.debug, self.force_protocol
                  )
                  if serv is not None:
                      self.services[x["service"]] = serv
                  else:
                      _LOGGER.warning("Unable to create service %s", x["service"])
  
              for service in self.services.values():
                  if self.debug > 1:
                      _LOGGER.debug("Service %s", service)
                  for api in service.methods:
                      # self.logger.debug("%s > %s" % (service, api))
                      if self.debug > 1:
                          _LOGGER.debug("> %s" % api)
              return self.services
  
          return None
docs: Get information about supported methods.
  
          Calling this as the first thing before doing anything else is
          necessary to fill the available services table.