0

I recently released a Smart Home action for interacting with our thermostats. This device type is Thermostat and the single implemented trait is TemperatureSetting.

When I ask my home assistant "What's the temperature in the living room ?", sometimes it answers good, sometimes it answers "Ok, this device has been updated" (this is a translation from my language so it may not be the accurate answer).

Checking the logs on my server, I can see the QUERY intent responses being made.

The following QUERY response provokes a "The temperature in your living room is 20.5 degrees" answer:

{
    "aa0c2504f896": {
        "status": "SUCCESS",
        "online": true,
        "thermostatMode": "heat",
        "thermostatTemperatureAmbient": 20.7,
        "thermostatTemperatureSetpoint": 20.5
    }
}

This one provokes "Ok, this device has been updated" :

{
    "aa0c2504f896": {
        "status": "SUCCESS",
        "online": true,
        "thermostatMode": "heat",
        "thermostatTemperatureAmbient": 20.7,
        "thermostatTemperatureSetpoint": 19.5
    }
}

I can reproduce it by changing the setpoint 1° lower, as shown by the previous logs. When doing so, the EXECUTE intent sends a ReportState request, so the HomeGraph API is updated synchronously.

Am I doing something wrong ?

Edit:

It happens every time the setpoint and the ambient temperature are different (in a 0.5 degrees interval). The Google Home UI always renders it correctly, it is the voice control that answers something wrong.

Here is also my SYNC payload :

{
    "requestId": "5878230358273544341",
    "payload": {
        "agentUserId": "3101066d-b012-4780-8d77-7297aaea4e37",
        "devices": [
            {
                "id": "aa0c2504f896",
                "type": "action.devices.types.THERMOSTAT",
                "traits": [
                    "action.devices.traits.TemperatureSetting"
                ],
                "name": {
                    "defaultNames": [
                        "Thermostat COMAP"
                    ],
                    "name": "Thermostat salon"
                },
                "willReportState": true,
                "attributes": {
                    "availableThermostatModes": [
                        "heat",
                        "on"
                    ],
                    "thermostatTemperatureRange": {
                        "minThresholdCelsius": 4,
                        "maxThresholdCelsius": 30
                    },
                    "thermostatTemperatureUnit": "C"
                },
                "deviceInfo": {
                    "manufacturer": "COMAP",
                    "model": "Thermostat",
                    "swVersion": "1143"
                }
            }
        ]
    }
}
Pear
  • 470
  • 3
  • 17
  • Do you see the same answer when issuing the query in English, or is this only happening in the localized language? Which language are you localizing your Action to? If you could share your SYNC payload, that would also help verify there isn't a configuration error. – ToniCorinne Feb 11 '21 at 18:57
  • @ToniCorinne Ok, I've just added my SYNC payload. Concerning the language, my action is localizing in french only. I'll try to add english in my action and release it. – Pear Feb 12 '21 at 10:38
  • @ToniCorinne The issue seems to be fixed. Have you done anything about it ? For the record, my english action has been approved and it works just fine. – Pear Mar 11 '21 at 09:24

1 Answers1

0

The query and sync payload provided by you looks good. We have updated the thermostat implementation throughout the last year and it works much better with floating points. If this issue still persists, I recommend creating a ticket on the public issue tracker.

There can also be one more reason as to why you have been encountering this issue. It might be also due to the local language, there can be a possibility that the Google Assistant hasn’t still incorporated the full compatibility for this particular language. Our NLU team is constantly working on incorporating these language capabilities into the system.

  • Yes, it has been fixed about a year ago, I can confirm that (as I mentioned in my comment). Thank you ! – Pear May 03 '22 at 07:55