vThermostat Google Home compatibility

So I have an app/driver called Advanced vThermostat that works with Alexa but not with Google Home, I've been searching for a while to find info on why it would not work.

The internal virtual thermostat does work with Google home (but of course we don't have access to the code). I have looked through several thermostat driver codes to see if I could find clues to where it's failing, temperature setpoints just don't want to update when asking a change via Google Home (I even have a catch all variable types just in case with loging to see what is sent) even that does not give me a result.

Any clues to what could be the problem would be great, @bravenel, is there any documentation that could help about Google Home integration with HE (thermostat part) that might help me figure this mistery?

I am using this app from @nclark and it used to work perfectly fine with Google, until it didn't. Unfortunately I cannot place it when it stopped working, but at a similar time I updated to firmware 2.2.6, although I have no idea if that has anything to do with it.

It still works well with Sharptools, on the Hubitat dashboard and in Maker API, so from what I use, it is only Goggle that is not working. I would love it if the reason can be found and fixed.

This is mine which works with GH, I've added a number of things just not sure which was the key
https://raw.githubusercontent.com/Mark-C-uk/Hubitat/master/Eurotronic%20Spirit%20TRV

Not sure if it was the supported modes or the operating state/ last running mode

1 Like

Thanks @mark.cockcroft, I'll check your code out and try to figure it out, I've looked at others yesterday before you posted and saw a few things here and there but did not find the key yet! I'll keep searching :slight_smile:

1 Like

found it
sendEvent(name: "coolingSetpoint", value: "30")

these are what i have working
sendEvent(name:"minHeatingSetpoint", value: "4", unit: "°C", displayed: false)
sendEvent(name:"maxHeatingSetpoint", value: "28", unit: "°C", displayed: false)

sendEvent(name: "supportedThermostatFanModes", value: "[]")
sendEvent(name: "thermostatFanMode", value: "off")
sendEvent(name: "lastRunningMode",value: "heat")
sendEvent(name: "supportedThermostatModes", value: ["off", "heat"] )
updateDataValue("lastRunningMode", "heat")
sendEvent(name: "coolingSetpoint", value: "30") //this IS need for Google home

Thanks @mark.cockcroft, I've implemented all that I found in your code as well as the attribute declaration, most of the functionality is working but I can't get minHeatingSetpoint / maxHeatingSetpoint to work, when I go in to Google Home, the lowest I can go is 9°C yet I'm asking it to me able to get down to 1.5°C (I might try 4°C tonight just in case it's outside it's hard limits).

I will also try removing the thermostat and create it again and see if that helps?

I found this other thread that I missed before and found pretty much the same info also.

1 Like