Problem with thermostat and Google Assistant

Hi,
I would ask for help with configuration thermostat working on zigbee2mqtt with Google Assistant. When I say: “Hey Google, set thermostat to 24 Celsius degrees” it answers: "Sorry thermostat doesn’t support choosen mode. I had configured thermostat thing in UI (enclose configuration) and I created group in items file like this

Group  thermostatOffice { ga="Thermostat" [ modes="off=OFF:WINDOW_OPEN,heat=COMFORT:BOOST,eco=ECO,on=ON,auto", thermostatTemperatureRange="10,30", useFahrenheit=false ] }

I added to this group item gg_nastawa:

Configuration thermostat Thing:

UID: mqtt:topic:mosquitto:glowica_gabinet
label: glowica_gabinet
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mosquitto
channels:
  - id: linkquality
    channelTypeUID: mqtt:number
    label: Link Quality
    description: null
    configuration:
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"linkquality\".*)∩JSONPATH:$.linkquality
      unit: lqi
  - id: LocalTemperature
    channelTypeUID: mqtt:number
    label: Local Temperature
    description: null
    configuration:
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"local_temperature\".*)∩JSONPATH:$.local_temperature
      unit: °C
  - id: preset
    channelTypeUID: mqtt:string
    label: Preset
    description: null
    configuration:
      commandTopic: zigbee2mqtt/glowica_gabinet/set
      allowedStates: manual,complex,schedule,boost,comfort,eco
      formatBeforePublish: '{"preset": %s}'
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"preset\".*)∩JSONPATH:$.preset
  - id: childlock
    channelTypeUID: mqtt:switch
    label: Child Lock
    description: null
    configuration:
      commandTopic: zigbee2mqtt/glowica_gabinet/set
      formatBeforePublish: '{"child_lock": "%s"}'
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"child_lock\".*)∩JSONPATH:$.child_lock
      off: UNLOCK
      on: LOCK
  - id: BatteryLow
    channelTypeUID: mqtt:contact
    label: Battery low
    description: null
    configuration:
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"battery_low\".*)∩JSONPATH:$.battery_low
      off: "false"
      on: "true"
  - id: local_temperature_calibration
    channelTypeUID: mqtt:number
    label: Temperature calibration
    description: null
    configuration:
      unit: °C
      min: -3
      max: 3
      commandTopic: zigbee2mqtt/glowica_gabinet/set/local_temperature_calibration
      step: 0.5
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"local_temperature_calibration\".*)∩JSONPATH:$.local_temperature_calibration
  - id: holiday_temperature
    channelTypeUID: mqtt:number
    label: Holiday Temperature
    description: null
    configuration:
      commandTopic: zigbee2mqtt/glowica_gabinet/set/holiday_temperature
      unit: °C
      min: 5
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"holiday_temperature\".*)∩JSONPATH:$.holiday_temperature
      max: 25
  - id: boost_timeset_countdown
    channelTypeUID: mqtt:number
    label: Boost timeset countdown
    description: null
    configuration:
      unit: s
      min: 100
      max: 900
      commandTopic: zigbee2mqtt/glowica_gabinet/set/boost_timeset_countdown
      step: 100
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"boost_timeset_countdown\".*)∩JSONPATH:$.boost_timeset_countdown
  - id: comfort_temperature
    channelTypeUID: mqtt:number
    label: Comfort temperature
    description: null
    configuration:
      commandTopic: zigbee2mqtt/glowica_gabinet/set/comfort_temperature
      unit: °C
      min: 5
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"comfort_temperature\".*)∩JSONPATH:$.comfort_temperature
      max: 35
  - id: eco_temperature
    channelTypeUID: mqtt:number
    label: Eco temperature
    description: null
    configuration:
      commandTopic: zigbee2mqtt/glowica_gabinet/set/eco_temperature
      unit: °C
      min: 5
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"eco_temperature\".*)∩JSONPATH:$.eco_temperature
      max: 25
  - id: open_window
    channelTypeUID: mqtt:switch
    label: Open Window
    description: null
    configuration:
      commandTopic: zigbee2mqtt/glowica_gabinet/set
      formatBeforePublish: '{"open_window":"%s"}'
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"open_window\".*)∩JSONPATH:$.window_detection
      off: OFF
      on: ON
  - id: CurrentHeatingSetpoint
    channelTypeUID: mqtt:number
    label: Temperature Target
    description: null
    configuration:
      unit: °C
      min: 5
      formatBeforePublish: '{"current_heating_setpoint": %.1f}'
      max: 35
      commandTopic: zigbee2mqtt/glowica_gabinet/set
      step: 0.5
      stateTopic: zigbee2mqtt/glowica_gabinet
      transformationPattern: REGEX:(.*\"current_heating_setpoint\".*)∩JSONPATH:$.current_heating_setpoint

I have already solved this problem. Channel “preset” was bad configured (allowedStates diden’t match thermostat real states: manual/auto/holiday and modes were bad in Thermostat Group definition.

Stupid question, but I always struggle with the darnest things. How did you get that + and - next to the Setpoint temperature in in screenshot?

Pedro, I’m not sure if I understand your question (sorry, my english isn’t fluent). Do you ask me how I have found soluton or how to get two tags together in my gg_nastawa item?

Never mind, I took some time to follow your screenshots and I managed to find the answer :slight_smile: thank you!

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.