code: async def _async_get_data(self, resource, id=None):
          
          if id:
              url = urljoin(self._api_url, "spc/{}/{}".format(resource, id))
          else:
              url = urljoin(self._api_url, "spc/{}".format(resource))
          data = await async_request(self._session.get, url)
          if not data:
              return False
          if id and isinstance(data['data'][resource], list):
              # for some reason the gateway returns an array with a single
              # element for areas but not for zones...
              return data['data'][resource][0]
          elif id:
              return data['data'][resource]
  
          return [item for item in data['data'][resource]]
docs: Get the data from the resource.