'Handle the data changes for node values.'

def update_properties(self):

    if self.values.mode:
        self._current_operation = self.values.mode.data
        operation_list = self.values.mode.data_items
        if operation_list:
            self._operation_list = list(operation_list)
    _LOGGER.debug('self._operation_list=%s', self._operation_list)
    _LOGGER.debug('self._current_operation=%s', self._current_operation)
    if self.values.temperature:
        self._current_temperature = self.values.temperature.data
        device_unit = self.values.temperature.units
        if (device_unit is not None):
            self._unit = device_unit
    if self.values.fan_mode:
        self._current_fan_mode = self.values.fan_mode.data
        fan_list = self.values.fan_mode.data_items
        if fan_list:
            self._fan_list = list(fan_list)
    _LOGGER.debug('self._fan_list=%s', self._fan_list)
    _LOGGER.debug('self._current_fan_mode=%s', self._current_fan_mode)
    if (self._zxt_120 == 1):
        if self.values.zxt_120_swing_mode:
            self._current_swing_mode = self.values.zxt_120_swing_mode.data
            swing_list = self.values.zxt_120_swing_mode.data_items
            if swing_list:
                self._swing_list = list(swing_list)
        _LOGGER.debug('self._swing_list=%s', self._swing_list)
        _LOGGER.debug('self._current_swing_mode=%s', self._current_swing_mode)
    if (self.values.primary.data == 0):
        _LOGGER.debug('Setpoint    is    0,    setting    default    to    current_temperature=%s', self._current_temperature)
        if (self._current_temperature is not None):
            self._target_temperature = round(float(self._current_temperature), 1)
    else:
        self._target_temperature = round(float(self.values.primary.data), 1)
    if self.values.operating_state:
        self._operating_state = self.values.operating_state.data
    if self.values.fan_state:
        self._fan_state = self.values.fan_state.data
