Rinse the octopus under cold, running water and place in pot dripping wet (you don't want to dry it off - this is the moisture it will cook in).
Add the red wine, garlic, onion, bay leaf and cinnamon and cover the pot.
Bring to the boil over low heat.
It is tender when pierced easily with a fork (this can vary from octopus to octopus, so time is not a good indicator of doneness in this case).
Remove the octopus and let cool until cool enough to handle and cut into bite-size pieces.
Meanwhile, in pot you have cooked the octopus in, add tomatoes and olive oil. Boil for 8-10 minutes to bind the sauce.
Stir in the cut octopus and nearly-cooked macaroni and simmer for the remaining 3-4 minutes required to cook your macaroni (if mixture appears too dry, add some of the pasta cooking water - you want this quite 'moist' but not soupy).
Stir in butter. Remove bay leaf and cinnamon stick.
Note: I use digitali pasta for this, but I can't get it into the ingredient list with the new Zaar format.