code: async def change_mode(self, area, new_mode):
          
          if not isinstance(new_mode, AreaMode):
              raise TypeError("new_mode must be an AreaMode")
  
          AREA_MODE_COMMAND_MAP = {
              AreaMode.UNSET: 'unset',
              AreaMode.PART_SET_A: 'set_a',
              AreaMode.PART_SET_B: 'set_b',
              AreaMode.FULL_SET: 'set'
          }
          if isinstance(area, Area):
              area_id = area.id
          else:
              area_id = area
  
          url = urljoin(self._api_url, "spc/area/{area_id}/{command}".format(
              area_id=area_id, command=AREA_MODE_COMMAND_MAP[new_mode]))
  
          return await async_request(self._session.put, url)
docs: Set/unset/part set an area.