Getting Homematic Thermostats (HM-CC-RT-DN) into Google Home

Since Home Assistant version 0.65 introduced a better conformity with the google assistant, thermostats like my Homematic HM-CC-RT-DN aren’t supported anymore because they aren’t supporting the correct STATE_ constants. (That much I could gather form educating myself)

So I wondered myself if there is any method to go „around the problem“. Maybe by „overlaying“ the Homematic Thermostat with a Generic Thermostat or by “translating” the states to the required one? (I’m by any means no coder, so excuse any stupid idea)
I would love to hear any suggestion you might have.

Thanks a lot.

I’ve given this some thought just now and it’s not that trivial.

I got to the point of adding a dummy command_line switch for the heater component of the generic thermostat, which uses the value_template of my central heater state. Toggling does nothing (so climate.turn_on and off just don’t do anything). All radiators and thermostats can use this same switch. Additionally, each thermostat/radiator needs a custom sensor that sets its state to the radiator/therostats current_temperature attribute.

But the problem arises when you want two-way sync between the generic thermostat component and a homematic radiator/thermostat. It can be done, but you need platform: state automations in both directions, which is prone to looping. Imagine you have a generic thermostat and a homematic radiator; when you use two automations, one to change the generic target_temperature with the homematic temperature attribute, and another in the exact opposite direction - when you change one, the state gets set to the other, which will replicate the state back - ad infinitum.

There is a sort of workaround with the custom component variable, where both the generic thermostat and the homematic thermostat state changes propagate to that variable, and then the variable propagates back to the thermostats. but it’s still pretty ugly.

So I canned it and decided this wasn’t worth the trouble. I think it should at least be possible to set the radioator/thermostat temperatures directly, but seems even that’s not working at the moment.

I’ve resorted to IFTTT currently, with an IFTTT applet per radiator/thermostat where i can say “set [room] temperature to [value]”.

If I can find the time I’ll submit a PR but pretty busy in the short term.

Thank you so much for addressing the problem.

I tried one of my thermostats with IFTTT. Indeed it works and I can change the temperature the way you mentioned. But of course it’s definitely not the neatest way to implamate.
So again thanks for getting into the issue.

PS: I saw your Github post and just wanted to comment that I also only use the manual mode.

For now you can just edit traits.py as a quick hack and remove the AUTO mapping and add STATE_AUTO as ‘heat’. Then restart and resync or unlink/relink.

Thanks for that quick tip.
Oddly enough I can’t find that python file anywhere on my installation.
Am I missing something?
Do I have to download it and add it to the custom components?

Thanks again.

Sorry for the inconvenience.

I found the file (was looking in the wrong folder) and I can confirm that it actually works pretty well by editing the file.

Is there a way to change the homematic.py somehow?
as I would like to make a custome component, that is easier to keep track of it :wink:

Any progress on this topic? I’ve got a couple of Homematic thermostats running on HA 0.85.1 and can see them in Google Assistant. But not control them…

Hello,

for me it’s exactly the same: I’m on HA 0.85.1, I am using homegear to connect to my MAX! thermostats. I can see them in google assistant, but I cannot control them.

Any help would be really appreciated!

@Mike_i386 where did you find the file and what did ypu exactly change?