'Update the state of this climate device.'

def update(self):

    self._store.update()
    data = self._store.get_data(self._data_id)
    if (data is None):
        _LOGGER.debug('Recieved    no    data    for    zone    %s', self.zone_name)
        return
    if ('sensorDataPoints' in data):
        sensor_data = data['sensorDataPoints']
        unit = TEMP_CELSIUS
        if ('insideTemperature' in sensor_data):
            temperature = float(sensor_data['insideTemperature']['celsius'])
            self._cur_temp = self.hass.config.units.temperature(temperature, unit)
        if ('humidity' in sensor_data):
            humidity = float(sensor_data['humidity']['percentage'])
            self._cur_humidity = humidity
        if (('temperature' in data['setting']) and (data['setting']['temperature'] is not None)):
            setting = float(data['setting']['temperature']['celsius'])
            self._target_temp = self.hass.config.units.temperature(setting, unit)
    if ('tadoMode' in data):
        mode = data['tadoMode']
        self._is_away = (mode == 'AWAY')
    if ('setting' in data):
        power = data['setting']['power']
        if (power == 'OFF'):
            self._current_operation = CONST_MODE_OFF
            self._current_fan = CONST_MODE_OFF
            self._overlay_mode = CONST_MODE_SMART_SCHEDULE
            self._device_is_active = False
        else:
            self._device_is_active = True
    overlay = False
    overlay_data = None
    termination = self._current_operation
    cooling = False
    fan_speed = CONST_MODE_OFF
    if ('overlay' in data):
        overlay_data = data['overlay']
        overlay = (overlay_data is not None)
    if overlay:
        termination = overlay_data['termination']['type']
        if ('setting' in overlay_data):
            setting_data = overlay_data['setting']
            setting = (setting_data is not None)
        if setting:
            if ('mode' in setting_data):
                cooling = (setting_data['mode'] == 'COOL')
            if ('fanSpeed' in setting_data):
                fan_speed = setting_data['fanSpeed']
    if self._device_is_active:
        self._overlay_mode = termination
        self._current_operation = termination
    self._cooling = cooling
    self._current_fan = fan_speed
