Creating radiant heat thermostat driver

I've got a couple of questions about how to correctly implement a driver using the thermostat capability when the underlying thermostat doesn't support all the commands. Specifically, I'm working on a custom driver for the Schluter DITRA-HEAT in-floor heating thermostat. Fan mode and cooling make no sense for floor heating.

Alternatively, is there a good heat only thermostat driver to use as a reference? I didn't see any that were obviously radiant heat looking at the list.

supportedThermostatFanModes - Is it better to set to an empty array or just use "auto"
supportedThermostatModes - With no cooling use only heat and off? Or should I include auto as well?
*Setpoint - Implement heatingSetpoint or thermostatSetpoint?

What should I do about commands that make no sense like cool()? Just don't implement since the caller should have verified capabilities?

I have a GoControl thermostats that control zones of a propane boiler. The boiler also has no idea what "fan" or "cool" means. I just keep the fan set to auto, and don't use cool mode. Works fine. Bottom line: Just don't use those things you don't need.

1 Like

My experience is that if you remove or do not implement the dummy functions of the standard thermostat Cool(), Fan controls, etc.. that do not make any sense for eTRVs or heating-only thermostats - there's always a risk that something will not work in HE - it may be the HE dashboard, or the built-in Thermostat controllers apps, or community apps (some of them expect the thermostat to report also the humidity!). It also breaks either Google Home or Alexa or HomeKit or some other integration.

I implement both. heatingSetpoint is the standard, but Google Home was not happy if thermostatSetpoint is not set as well. I don't remember all the details, except that every time I tried to minimize the unused capabilities and attributes for a heating-only thermostat - something broke.

Like Krassimir said, you must have all expected methods in the driver for compatibility, just leave them empty so that no error is called if another app / dashboard or whatever calls it.

Makes sense - I will stub out the methods to just log.

For the supportedFanModes array, are there any best practices for what to report there?

Any update on this? I have a Ditra WiFi thermostat for my sunroom I'd love to pull under Hubitat control.

Thanks for the reminder. The basic working drivers are here:

marcre/hubitat-drivers: Hubitat drivers I've created (github.com)

1 Like

I have DITRA-HEAT-E-RS1 it sounds like it has a different endpoint