Search code examples
google-homegoogle-smart-hometest-suite

Smart Home Test Suite Not Sending Execute Requests For StartStop Test Case


I am developing a Smart Home Action for Google Home, and I am trying to use the Test Suite to test the handling of EXECUTE intents sent to my fulfilment URI in the backend. I have successfully linked a test account and can populate the test cases with devices and traits (actions.devices.SHOWER devices)

However, when testing the StartStop trait, the Test Suite does not ever send an EXECUTE intent to the fulfilment URI to attempt to Start/Stop the device. The QUERY intent that is triggered after this test case fails is received correctly by my backend: see the test case screen

I have verified that the test case passes if I manually perform the necessary device state update and trigger a report state via Google Homegraph API while this "Start the Office" command is running. But I can see from my Http request logs that I never receive an EXECUTE intent, nor are there any entries in the Cloud Console logs showing an attempt to call the backend.

I have attempted re-linking my account, and using multiple test accounts but this behaviour does not change. The response I am sending to the SYNC is

{
    "requestId": "9346220314501836318",
    "payload": {
        "devices": [
            {
                "id": "1002",
                "type": "action.devices.types.SHOWER",
                "traits": [
                    "action.devices.traits.StartStop",
                    "action.devices.traits.TemperatureControl"
                ],
                "name": {
                    "name": "Office"
                },
                "attributes": {
                    "temperatureRange": {
                        "minTemperatureCelcius": 0,
                        "maxTemperatureCelcius": 60
                    },
                    "temperatureUnitForUX": "C",
                    "commandOnlyTemperatureControl": true,
                    "temperatureStepCelcius": 1,
                    "pausable": false
                },
                "willReportState": true,
                "deviceInfo": {
                    "manufacturer": "REMOVED",
                    "model": "TestModel",
                    "hwVersion": null,
                    "swVersion": null
                }
            }
        ],
        "agentUserId": "1000"
    }
}

Are there any configuration errors that might cause the Test Suite to fail to send the EXECUTE intent? Or is this a bug?

I am not able to control these devices from Google Assistant directly (from my phone) - I get the error "this device has not been set up yet" but see no options to add it as a controllable device from the Home Control screen in the Assistant app settings.


Solution

  • Thank you for highlighting the issue. I can reproduce it on my side. Can you please open a bug in Public issue tracker for further debugging and share the same information there. I’m going to follow up with the team and update you through the issue tracker.

    Update: the issue is fixed now. Please reopen the Public issue tracker if you continue seeing this issue.