Hubitat Thermostat Limitations - Mini Splits

For context, this specifically affects mini split system integrations, as they support more features and modes than traditional AC systems.

I have a fork of the Sensibo App and Driver on my GitHub page - it's a port of a SmartThings integration and I have all of my supported fan speeds and modes.

Ignoring all the "climate react" stuff, It's Sensibo's "smart feature" for ppl without home automation systems, the important parts are the supported fan settings and modes.

Basically, Hubitat seems to choke on the Dry mode (dehumidify), mode fan, and the fan speeds like “quiet”, “medium low” or “medium high” etc.

The most obvious issue is when you try to use the dashboard thermostat tile - it basically doesn’t work at all, it will only show the current states.

It also means I can’t share my thermostat with Homekit as it comes up as unsupported.

I could be wrong, but it appears that the thermostat support in Hubitat was created with hard coded modes and fan speeds and isn’t flexible enough to accommodate modern mini split systems?

Oh and the thermostat tile doesn’t display humidity either.

So my ask is that Hubitat please make thermostat support more flexible. @bobbyD @bcopeland @bravenel

FWIW, my actual system is made by Daikin, Sensibo just make the IR to Wifi bridge.

metadata {
	definition (name: "SensiboPod", namespace: "joyfulhouse", author: "Bryan Li", oauth: false) {
		capability "Relative Humidity Measurement"
		capability "Temperature Measurement"
		capability "Polling"
        capability "Refresh"
        capability "Switch"
        capability "Thermostat"
        capability "Battery"
        capability "Actuator"
        capability "Sensor"
        capability "Health Check"
        capability "Power Source"
        capability "Voltage Measurement"
        
        attribute "swing", "String"
        attribute "temperatureUnit","String"
        attribute "productModel","String"
        attribute "firmwareVersion","String"
        attribute "Climate","String"
		attribute "targetTemperature","Double"
        attribute "statusText","String"
        attribute "currentmode","String"
        attribute "fanLevel","String"
        attribute "on","String"   // Added by request of NateG
        
        
        command "setAll"
        command "switchFanLevel"
        command "switchMode"
        command "raiseCoolSetpoint"
        command "lowerCoolSetpoint"
        command "raiseHeatSetpoint"
        command "lowerHeatSetpoint" 
        command "voltage"
        command "raiseTemperature"
        command "lowerTemperature"
        command "switchSwing"
        command "modeSwing", [
            [
                name:"Swing Mode", type: "ENUM", description: "Pick an option", constraints: [
                    "fixedTop",
                    "fixedMiddleTop",
                    "fixedMiddle",
                    "fixedMiddleBottom",
                    "fixedBottom",
                    "rangeTop",
                    "rangeMiddle",
                    "rangeBottom",
                    "rangeFull",
                    "horizontal",
                    "both",
                    "stopped"
                ] 
            ]
        ]
        command "setThermostatMode"
        command "modeHeat"
        command "modeCool"
        command "modeDry"
        command "modeFan"
        command "modeAuto"
        command "lowfan"
        command "mediumlowfan"
        command "mediumfan"
        command "mediumhighfan"
        command "highfan"
        command "quietfan"
        command "strongfan"
        command "autofan"
        command "fullswing"
        command "setAirConditionerMode"
        command "toggleClimateReact"
        command "setClimateReact"
        command "configureClimateReact"
	}
1 Like

PS, this is what those modes etc look like in the Sensibo app.

1 Like

If you're using a custom driver, you can make it as flexible as you want, and have all of the modes and fan modes that the thermostat supports. The only app that won't honor those that I know of is the dashboard thermostat tile. Making that more flexible is on the to-do list.

I will look into the HomeKit issue -- not sure why it would show as unsupported.

Yes, there are predefined modes and fan modes, but these can be extended / modified with the supportedThermostatModes and supportedThermostatFanModes attributes. Your driver would need to set these appropriately.

2 Likes

Thank you, that would be great.

Much appreciated.

I’m happy to update the driver, is there documentation with examples on how to do this? I’m not a developer, just a tinkerer so I really need an idiots guide.

See this:

The initialize() method there has 2 lines of code that set the two attributes.

3 Likes

Cheers, I’ll take a look.

From my very limited tinkering with an Ecobee and an iPad, I don't belive the HomeKit protocol has much flexibilty either. Although i do recall some specific functionality related to mini splits. My hope has been that the roll out of Matter would lead to some degree of integration standardization between the different types of systems.

UPDATE: It looks like you've gone down the same rabbit hole i did with HADB... the dev's of HADB were kind enough to humor my request to add support for climate devices (starting around post 219 of that thread) .

1 Like

I managed to get it into homekit via Home bridge, but I’d like to get rid of home bridge as I don’t have any devices being shared from Hubitat through it anymore.