:param away: a boolean of true (away) or false ('home')
        :return nothing

        This function handles both ecobee and nest thermostats
        which use a different field for away/home status.

def set_away(self, away=True):
        """
        :param away: a boolean of true (away) or false ('home')
        :return nothing

        This function handles both ecobee and nest thermostats
        which use a different field for away/home status.
        """
        if self.profile() is not None:
            if away:
                desired_state = {"profile": "away"}
            else:
                desired_state = {"profile": "home"}
        else:
            desired_state = {"users_away": away}

        response = self.api_interface.set_device_state(self, {
            "desired_state": desired_state
        })

        self._update_state_from_response(response)