I have implemented change reports but cannot get the StateReporting tool to report DeepQuery as false.
My discovery document returns the following extract to define the device:
{ "endpointId": "9c25a120-25f5-4622-b848-c8c8895d8568", "friendlyName": "xxx", "description": "xxx", "manufacturerName": "xxx", "displayCategories": ["SWITCH"], "cookie": null, "capabilities": [{ "type": "AlexaInterface", "interface": "Alexa.PowerController", "version": "3", "properties": { "retrievable": true, "proactivelyReported": true, "supported": [{ "name": "powerState" }] } }, { "type": "AlexaInterface", "interface": "Alexa.EndpointHealth", "version": "3", "properties": { "retrievable": true, "proactivelyReported": true, "supported": [{ "name": "connectivity" }] } }] }
and a sample Change report is:
{ "context": { "properties": [] }, "event": { "header": { "payloadVersion": "3", "namespace": "Alexa", "name": "ChangeReport", "messageId": "cc5211b3-b886-43e2-8e41-7202fd6c8719" }, "endpoint": { "endpointId": "9c25a120-25f5-4622-b848-c8c8895d8568", "scope": { "type": "BearerToken", "token": "xxx" } }, "payload": { "change": { "cause": { "type": "PHYSICAL_INTERACTION" } }, "properties": [{ "namespace": "Alexa.PowerController", "name": "powerState", "value": "OFF", "timeOfSample": "2018-05-12T07:22:14.5858233Z", "uncertaintyInMilliseconds": 0 }, { "namespace": "Alexa.EndpointHealth", "name": "connectivity", "value": { "value": "OK" }, "timeOfSample": "2018-05-12T07:22:14.5858233Z", "uncertaintyInMilliseconds": 0 }] } } }
The messages being sent back and forth and fine and control the devices so there are no connectivity or authentication issues.
One comment I would have is it doesn't seem to be consistent where retrievable and proactivelyReported should be defined - they seem diferent for different types of endpoint - are they in the correct place? Also - I am passing all the variables in the payload and leaving an empty properties.
Thanks
Mark