I just got a smart water heater and wanted to hook it into Hubitat, but I couldn't find a driver for it. So I wrote one, drawing heavily from two different projects.
A.O. Smith and State (same company for both brands) have a connectivity service called iCOMM that allows their app to talk to their smart hybrid water heaters. This driver polls the iCOMM service and fetches the same data that shows in the app to expose to Hubitat. You can adjust the setpoint (within bounds) and the mode from Hubitat commands.
A couple of caveats:
- The API apparently only wants one active client at a time. When the driver logs in, it will log you out of the app. (If you log in on the app and log out the driver, it will log back in automatically on its next refresh.)
- Any iCOMM-capable hybrid water heater should work, but I only have the one, so please confirm what other models work or don't.
- It should support multiple water heaters connected to your account, but again, I only have the one.
- I haven't attempted to touch any of the recirculation features because I don't have that; if you have a need for it, I'm happy to see what I can work out
- I haven't attempted to mess with schedule manipulation, both because their "schedule" capabilities are pitiful and because I assume that if you're doing that, you'll just do the schedule in Rule Machine. (I mostly care about switching it to Vacation mode when we're out of town, personally.)
- There are iCOMM-capable non-heat-pump water heaters; I don't think they'll work as-is, but I'm not certain how big a gap it would be. If you have one and want to work with me on it, send me a message!
Available on HPM or GitHub.