> And Most applications need "man in the middle" services anyway
For all instant communication (VoIP, chat, file transfer, setting your thermostat), a man in the middle schema is a hindrance. The communication where you publish, and then somebody reads data need a man in the middle.
If your thermostat does not have a public IP, you must buy it as a service, and it'll never really be your property. One can live with that in a thermostat (but let's not pretend it's a good thing), just think twice before automating more of your home...