Optimising Heating And Cooling of Smart Buildings