Toggle the value of an 1-bit group address.

        If the object has a value != 0, it will be set to 0, otherwise to 1

def group_toggle(self, addr, use_cache=True):
        """Toggle the value of an 1-bit group address.

        If the object has a value != 0, it will be set to 0, otherwise to 1
        """
        data = self.group_read(addr, use_cache)
        if len(data) != 1:
            problem = "Can't toggle a {}-octet group address {}".format(
                len(data), addr)
            logging.error(problem)
            raise KNXException(problem)

        if data[0] == 0:
            self.group_write(addr, [1])
        elif data[0] == 1:
            self.group_write(addr, [0])
        else:
            problem = "Can't toggle group address {} as value is {}".format(
                addr, data[0])
            logging.error(problem)
            raise KNXException(problem)