cancel
Showing results for 
Search instead for 
Did you mean: 

Unexpected null EXECUTE Command in Smart Home Test Suite

MikiNac
Community Member

We are running tests using the Test Suite in the Google Smart Home Console for the project Project ID: vimar-view-dev2.
While testing a thermostat device, we are seeing an error caused by an EXECUTE command where the command field is null.

Received command:

{"inputs":[{"context":{"locale_country":"US","locale_language":"en"},"intent":"action.devices.EXECUTE","payload":{"commands":[{"devices":[{"id":"012511FAB00616_6662664"}],"execution":[{"command":null}]}]}}],"requestId":***}

GCP log

{
  "textPayload": "requestId ***: Found json global errorCode hardError",
  "insertId": "4q6pfig1gkft14",
  "resource": {
    "type": "assistant_action",
    "labels": {
      "action_id": "SMART_HOME_EXECUTE",
      "project_id": "vimar-view-dev2",
      "version_id": ""
    }
  },
  "timestamp": "20260226T11:48:32.270849516Z",
  "severity": "ERROR",
  "logName": "projects/vimar-view-dev2/logs/actions.googleapis.com%2Factions",
  "receiveTimestamp": "20260226T11:48:32.276443124Z"
}

*** the requestid is 3*7*5*7*6*4*0*0*6*3*8*1*1*1*5*7*5*8*7 (without *)

We would like to understand whether this issue is related to the Test Suite itself or if there is a misconfiguration in our thermostat trait.
Could you help us determine why a null command is being generated and how we should proceed?

Thank you.

 

 

2 Recommended AnswerS

arm_dpe
Solutions Expert
Solutions Expert

Thanks for reaching out.

Null command typically means Test Suit's internal logic reached a state where it knew a device needed to be updated, but it couldn't map that update to a valid Trait CommandYour SYNC response might list a Trait (like TemperatureSetting), but the specific attribute or range for the command being tested is missing or malformed. Could you please share your full Sync Response? Feel free to redact any sensitive info before sending.

 

View Recommended Answer in original post

MikiNac
Community Member

Sure!

{
    "requestId": "5*1*3*3*5*1*9*9*3*2*6*6*8*5*5*1*0*5",
    "payload": {
        "agentUserId": "89bdd251*7046*484f*a905*cd99025e70a3",
        "devices": [
            ...
            {
                "id": "012511FAB00616_6662664",
                "type": "action.devices.types.THERMOSTAT",
                "traits": [
                    "action.devices.traits.TemperatureSetting"
                ],
                "name": {
                    "defaultNames": [
                        "Termostato Valigetta"
                    ],
                    "name": "Termostato Valigetta",
                    "nicknames": [
                        "Termostato Valigetta"
                    ]
                },
                "willReportState": true,
                "deviceInfo": {
                    "manufacturer": "Vimar"
                },
                "attributes": {
                    "availableThermostatModes": [
                        "auto",
                        "heat",
                        "eco",
                        "off"
                    ],
                    "thermostatTemperatureUnit": "C",
                    "thermostatTemperatureRange": {
                        "minThresholdCelsius": 4.0,
                        "maxThresholdCelsius": 40.0
                    },
                    "queryOnlyTemperatureSetting": false
                }
            },...
        ]
    }
}

View Recommended Answer in original post

6 REPLIES 6

arm_dpe
Solutions Expert
Solutions Expert

Thanks for reaching out.

Null command typically means Test Suit's internal logic reached a state where it knew a device needed to be updated, but it couldn't map that update to a valid Trait CommandYour SYNC response might list a Trait (like TemperatureSetting), but the specific attribute or range for the command being tested is missing or malformed. Could you please share your full Sync Response? Feel free to redact any sensitive info before sending.

 

MikiNac
Community Member

Sure!

{
    "requestId": "5*1*3*3*5*1*9*9*3*2*6*6*8*5*5*1*0*5",
    "payload": {
        "agentUserId": "89bdd251*7046*484f*a905*cd99025e70a3",
        "devices": [
            ...
            {
                "id": "012511FAB00616_6662664",
                "type": "action.devices.types.THERMOSTAT",
                "traits": [
                    "action.devices.traits.TemperatureSetting"
                ],
                "name": {
                    "defaultNames": [
                        "Termostato Valigetta"
                    ],
                    "name": "Termostato Valigetta",
                    "nicknames": [
                        "Termostato Valigetta"
                    ]
                },
                "willReportState": true,
                "deviceInfo": {
                    "manufacturer": "Vimar"
                },
                "attributes": {
                    "availableThermostatModes": [
                        "auto",
                        "heat",
                        "eco",
                        "off"
                    ],
                    "thermostatTemperatureUnit": "C",
                    "thermostatTemperatureRange": {
                        "minThresholdCelsius": 4.0,
                        "maxThresholdCelsius": 40.0
                    },
                    "queryOnlyTemperatureSetting": false
                }
            },...
        ]
    }
}

MikiNac
Community Member

@arm_dpe Sorry to bother you, do you have any idea what it could be the problem? Tnx

arm_dpe
Solutions Expert
Solutions Expert

Thanks for sharing. I couldn't reproduce any errors in the test suite using the sync you provided in Google Home Playground and running test suite with it. All tests  passed without errors.
Did you receive any errors in the test suite tool? If yes, can you please share what test failed?

jzwackresideo
Community Member

I'm also seeing this in the test suite when trying to test a thermostat.

This is the request I'm receiving:

{
    "inputs": [
        {
            "context": {
                "locale_country": "US",
                "locale_language": "en"
            },
            "intent": "action.devices.EXECUTE",
            "payload": {
                "commands": [
                    {
                        "devices": [
                            {
                                "customData": {
                                    "gatewayId": "5639499",
                                    "locationId": "1013540",
                                    "mac": "48A2E6348A77",
                                    "maxHeat": 35,
                                    "minHeat": 5,
                                    "model": "HeatingZone",
                                    "systemId": "10257225"
                                },
                                "id": "10257223"
                            }
                        ],
                        "execution": [
                            {
                                "command": null
                            }
                        ]
                    }
                ]
            }
        }
    ],
    "requestId": "15622038082962151179"
}

GCP logs only show:

actionType"TEMPERATURESETTING_SET_THERMOSTAT_MODE"
trait"TRAIT_TEMPERATURE_SETTING"

Also here is my SYNC response:

{
    "requestId": "2062055809553855972",
    "payload": {
        "agentUserId": "876698",
        "devices": [
            {
                "id": "10257223",
                "type": "action.devices.types.THERMOSTAT",
                "traits": [
                    "action.devices.traits.TemperatureSetting"
                ],
                "name": {
                    "name": "Living"
                },
                "willReportState": true,
                "attributes": {
                    "availableThermostatModes": [
                        "heat",
                        "off"
                    ],
                    "thermostatTemperatureRange": {
                        "minThresholdCelsius": 5,
                        "maxThresholdCelsius": 35
                    },
                    "thermostatTemperatureUnit": "C"
                },
                "deviceInfo": {
                    "manufacturer": "",
                    "model": "HeatingZone",
                    "hwVersion": "1.0",
                    "swVersion": "1.0"
                },
                "customData": {
                    "locationId": "1013540",
                    "gatewayId": "5639499",
                    "mac": "",
                    "systemId": "10257225",
                    "maxHeat": 35,
                    "minHeat": 5,
                    "model": "HeatingZone"
                }
            },
            {
                "id": "10257224",
                "type": "action.devices.types.THERMOSTAT",
                "traits": [
                    "action.devices.traits.TemperatureSetting"
                ],
                "name": {
                    "name": "Guest"
                },
                "willReportState": true,
                "attributes": {
                    "availableThermostatModes": [
                        "heat",
                        "off"
                    ],
                    "thermostatTemperatureRange": {
                        "minThresholdCelsius": 5,
                        "maxThresholdCelsius": 35
                    },
                    "thermostatTemperatureUnit": "C"
                },
                "deviceInfo": {
                    "manufacturer": "",
                    "model": "HeatingZone",
                    "hwVersion": "1.0",
                    "swVersion": "1.0"
                },
                "customData": {
                    "locationId": "1013540",
                    "gatewayId": "5639499",
                    "mac": "",
                    "systemId": "10257225",
                    "maxHeat": 35,
                    "minHeat": 5,
                    "model": "HeatingZone"
                }
            }
        ]
    }
}