0

I am working on implementing Google smart home support for our thermostat using Thermostat device and TemperatureSetting Trait. This thermostat should support 'off', 'heat' and 'auto' modes.

The SYNC looks like this:

     {
        "id": "testplc@BEDROOM.HEATTHERMOSTAT",
        "type": "action.devices.types.THERMOSTAT",
        "traits": [
          "action.devices.traits.TemperatureSetting"
        ],
        "name": {
          "defaultNames": [
            "BEDROOM.HEATTHERMOSTAT"
          ],
          "name": "Bedroom"
        },
        "willReportState": true,
        "notificationSupportedByAgent": false,
        "deviceInfo": {
          "manufacturer": "Teco a.s.",
          "model": "Tecomat"
        },
        "attributes": {
          "availableThermostatModes": [
            "off",
            "auto",
            "heat"
          ],
          "thermostatTemperatureRange": {
            "minThresholdCelsius": 10.0,
            "maxThresholdCelsius": 40.0
          },
          "thermostatTemperatureUnit": "C"
        },
        "customData": {
          "plc_name": "testplc",
          "tecomat_id": "BEDROOM.HEATTHERMOSTAT",
          "tecomat_type": "THERMOSTAT"
        }
      }

The default state of the thermostat is set to 'auto' mode. In Google Home App it appears as some 'Other' mode which is active. On Smart Displays it appears correctly as active 'Auto' mode.

What I consider a problem is that if I try to set the thermostat to 'heat' mode, my fulfillment does not detect any EXECUTE request. It only receives several QUERY requests in quick succession. If I try to set the mode to 'off' with the app, the setting is successful, but then the 'auto' option disappears from the list of possible modes in the app and is never displayed again. The next attempt to change from 'off' to 'heat' still does not work - no EXECUTE request arrives on the server. If I exclude the 'auto' mode from availableThermostatModes, everything works as it should. So the problem is related to the 'auto' mode.

Is it obvious at first glance that I'm doing something wrong?

Under what circumstances should the 'on' mode be listed in the availableThermostatModes list?

I don't know if my problem is completely the same as the reported issue: https://issuetracker.google.com/issues/157717871

Thank you for any advice

Pizla
  • 1
  • 2

1 Answers1

0

There are two things that are happening here:

  • All the thermostat modes are not being displayed in the UI controls
  • Execution requests for heat mode are not being received

GHA does not display all available modes in the UI currently, and shows some in the other category. However this should not affect any functionality & for you to not receive execution requests, this is something that needs further debugging at your end (server logs of your system can be checked to see if there are any incoming requests, then cross-compare their visibility on our end through Google Cloud Platform. If you want more information on troubleshooting, check our Troubleshooting Guide on the common how-tos. As a best practice, use voice commands like “Set [device-name] to heat mode” instead of “Set [device-name] to heat”

Anish Yadav
  • 141
  • 4