docs: def disconnect(self):
          """Disconnect an open tunnel connection"""
          if self.connected and self.channel:
              logging.debug("Disconnecting KNX/IP tunnel...")
  
              frame = KNXIPFrame(KNXIPFrame.DISCONNECT_REQUEST)
              frame.body = self.hpai_body()
  
              # TODO: Glaube Sequence erhoehen ist nicht notwendig im Control
              # Tunnel beim Disconnect???
              if self.seq < 0xff:
                  self.seq += 1
              else:
                  self.seq = 0
  
              self.control_socket.sendto(
                  bytes(frame.to_frame()), (self.remote_ip, self.remote_port))
              # TODO: Impelement the Disconnect_Response Handling from Gateway
              # Control Channel > Client Control Channel
  
          else:
              logging.debug("Disconnect - no connection, nothing to do")
  
          self.channel = None
          self.connected = False