Thermostat Modes issue

Hi,

I’ve created a thermostat with the following map:

off=OFF,heat=CALOR,cool=FRÍO,on=ON

but in google assistant it shows all available modes including eco, auto, etc.

I’ve check the javascript code an it seems that the modes shold be taken from defined list and if it’s empty it gets all options set with a let clause. But it should not be the case.

It’s an issue or I’m doing something wrong?

Thank you very much,
Best regards

I guess you’ve configured this using the GUI/WebUI?
In the latest version for the Google Assistant integration the parameter modes has been renamed to thermostatModes.
(cf. Migration Guide · openhab/openhab-google-assistant · Discussion #558 · GitHub)
The WebUI seems to still use the old naming for the predefined field.
You should be able to manually rename/define the parameter using the code editor.

value: Thermostat
config:
  thermostatModes: off,auto,heat
  useFahrenheit: false
  thermostatTemperatureRange: 4,35

Thanks!

This solve it.

Sorry to hijack the thread but I’m also seeing some weird behavior on Google assistant side.
I’ve edited the metadata code, but some modes are not showing, the mode isn’t showing on Google home app, there’s information missing and overall the entire thing appears quite buggy,


value: Thermostat
config:
  thermostatModes: off,auto=heat_cool,cool,fan=fan_only,dry,heat
  useFahrenheit: false
  thermostatTemperatureRange: 4,35

My thermostat ^

And this is what I see in Google home :
Missing mode in Google home -


Missing “fan” mode option inside of thermostat in Google home:

Now I have the mode “off” but inside of the thermostat it says “on” ?!

Outside of the thermostat it says off, but inside says on, but I don’t have ano “on” mode?

It’s super weird because sometimes I see the thermostat in Google home as “off” or “offline”. Then I enter the thermostat and it’s “on” (??) but I don’t have an on state…

This is the item mode:


label: Mode
type: String
category: climate
groupNames:
  - Office_ac
  - OfficeThermostat
tags:
  - Point

Anyone has a clue? No idea if relevant, but if I create another dummy item, and sync the state between the one above and that dummy item, and expose the dummy item to Google home instead… then it works!! I don’t get it!

Edit: I bumped into Google documentation and noticed they have fan written as “fan-only”. Replaced fan with fan-only and now Google home does show the fan mode.

But the thermostat is still going crazy over here

Even offline, the commands are accepted…

Edit:
Found something… it’s something related to the esphome binding I believe. If I link a dummy item to an esphome device channel, it breaks Google home app… now I’m stumped.

Final edit for now:
Moved on from the esphome api by adding Mqtt to the firmware. Mqtt works fine in Google home. So that’s that.