'Get the state from KNX bus or cache.'

def update(self):

    from knxip.core import KNXException
    try:
        if self.state_address:
            res = KNXTUNNEL.group_read(self.state_address, use_cache=self.cache)
        else:
            res = KNXTUNNEL.group_read(self.address, use_cache=self.cache)
        if res:
            self._state = res[0]
            self._data = res
        else:
            _LOGGER.debug('%s:    unable    to    read    from    KNX    address:    %s    (None)', self.name, self.address)
    except KNXException:
        _LOGGER.exception('%s:    unable    to    read    from    KNX    address:    %s', self.name, self.address)
        return False
