def METHOD_NAME(self):
    self.logging_serial("Error", "ZigateTransport: reconnect: %s" % self._connection)
    delay = 1
    while self.running:
        try:
            if self._connection:
                self.self._connection.close()
            if open_serial(self):
                return
        except serial.SerialException:
            pass
        self.logging_serial("Error", "ZigateTransport: reconnect: %s delay: %s" % (self._connection, delay))
        time.sleep( float(delay))
        if delay < 30:
            delay *= 1.5
        else:
            return