I have the GoControl zwave thermostat. It's very barbones and has no real smarts on it's own but can be fully controlled by zwave. This is what I was looking for as I wanted full control over the algorithm, but if you want to it have more intelligence without having to write the code yourself you should consider other options.