Help with a water heater rule

Here are the modes and states that a thermostat would support in Hubitat
https://docs.hubitat.com/index.php?title=Driver_Capability_List#Thermostat
Then you have to send an event if you change
Sendevent(data goes here)

Here are the modes it supports:

Not sure if that helps. According to the documentation posted here, this needs added to the attributes:
supportedThermostatModes - ENUM ["auto", "off", "heat", "emergency heat", "cool"]

That list should include High Demand, Electric Energy Saver and Heat Pump, shouldn't it?

So, I added some more code to add these variables.

Upon adding it to Google Home I still get this error:

app:8502020-03-22 09:43:26.785 pm warnThe following devices are not supported by Google Home and will be removed from your device list:[Water Heater]

These are my states now:

Current States

  • heatingSetpoint : 110.0
  • temperature : 110
  • thermostatMode : Heat Pump Only
  • thermostatOperatingState : idle
  • thermostatSetpoint : 110
  • supportedThermostatModes : [auto, off, heat, emergency heat]
  • lowerTemp : 91
  • ambientTemp : 72
  • supportedThermostatFanModes : [on, auto]

Update - I am making some progress. Once I get this updated I will post new code.

1 Like

Cool! Excited to see where you end up.

I am trying to figure out why the Dashboard Thermostat capability does not show the Heating/Cooling Setpoints So you can adjust them.

1 Like

My guess is you have to support all the commands defined in the thermostat device.

I think I am... I am done for the night but I will go through with a fine tooth comb again.

Capabilities too maybe?

For temperature control to Google Assistant, you have to comply with the specific device traits.

https://developers.google.com/assistant/smarthome/traits/temperaturesetting

I got the device to show up in Google home, but it is pretty useless because it doesn't allow control as high as a water heater is set.

What I am struggling with now is getting the setpoint controls to show on the hubitat dashboard for thermostat.

I see this section in the API.

thermostatTemperatureRange Object. Optional. Contains two float values that indicate the supported minimum and maximum temperature range for this device (in degrees Celsius):

  • minThresholdCelsius
  • maxThresholdCelsius

But how do I present this to Google? It looks like it could fix my problem.

These present as the top and bottom of the range that the thermostat can be set to. I don't believe this is what you are looking for.

Try updating the app and driver and let me know if there is any improvements.

@mike.maxwell Do you know why my thermostat dashboard tile does not show the increment decrements buttons?

Here is my furnace which is working:
image

Here is my water heater which is NOT working:
image

Broken app and driver are located here:

Brian,

I don't know if you remember this, but your previous driver was broken for the newer Gen 4 HPWH. From this previous post of mine, it has the fixes for the newer model. Is there a way to incorporate this into your driver?

I realize it adds some complication, but it would be nice if we didn't have to find/replace a bunch of things every time you update the driver.

I have looked at your app/driver many times in the past year or so, and compared it to many other HVAC code sources, and I also cannot find anything obvious that would make the dashboard not work correctly. I am completely awful with code, but I can copy and paste with the best of them. Hopefully you can get some guidance from Mike or someone else to fix this.

First, I made the edits to the code as I noted in the linked post above. Wow, this new code sure is quick to respond! I change states in Hubitat, and it nearly simultaneously changes in the phone app. At a quick glance, everything seems to work fine except the dashboard.

I can't be certain, but your driver uses several overlapping capabilities, it really only needs thermostat and temperature measurement. All the other thermostat capabilities aren't needed.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.