code: async def set_outside_temp(self, temp, timeout=OTGW_DEFAULT_TIMEOUT):
          
          cmd = OTGW_CMD_OUTSIDE_TEMP
          status = {}
          if temp < -40:
              return None
          value = '{:2.1f}'.format(temp)
          ret = await self._wait_for_cmd(cmd, value, timeout)
          if ret is None:
              return
          if ret not in ['-', None]:
              ret = float(ret)
          if ret == '-':
              status[DATA_OUTSIDE_TEMP] = 0.0
          else:
              status[DATA_OUTSIDE_TEMP] = ret
          self._update_status(status)
          return ret
docs: Configure the outside temperature to send to the thermostat.
          Allowed values are between -40.0 and +64.0, although
          thermostats may not display the full range. Specify a value
          above 64 (suggestion: 99) to clear a previously configured
          value.
          Return the accepted value on success, '-' if a previously
          configured value has been cleared or None on failure.
  
          This method is a coroutine