<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)