question

Video Storm LLC avatar image
Video Storm LLC asked

No devices after discovery, json seems ok

I am returning the attached JSON as the discovery response, but Alexa doesn't like it for some reason. I have run the schema checker on it, and it says ok. What is the problem??


I have returned other JSON successfully using the same code (simple power adapter). However, the JSON for the ModeController isn't working.


JSON

{
"event": {
"header": {
"messageId": "1c4c375c-396c-496c-b9ef-788d92cc643a",
"name": "Discover.Response",
"namespace": "Alexa.Discovery",
"payloadVersion": "3"
},
"payload": {
"endpoints": [
{
"endpointId": "FireTV001",
"manufacturerName": "Video Storm LLC",
"friendlyName": "FireTV",
"description": "SplashTiles viewing zone/room",
"displayCategories": [
"OTHER"
],
"cookie": {
"extraDetail1": "videostormdev@gmail.com"
},
"capabilities": [
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "FireTV.screen",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Screen",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "FULL.off",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "off",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.demo1",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo1",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.demo2",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo2",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.myjellyfish",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "myjellyfish",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "FireTV.pip",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "PIP",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "PIP.off",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "off",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.demo1",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo1",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.demo2",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo2",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.myjellyfish",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "myjellyfish",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "FireTV.script",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Script",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "MACRO.NewScriptA",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "NewScriptA",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
},
{
"endpointId": "FireStick001",
"manufacturerName": "Video Storm LLC",
"friendlyName": "FireStick",
"description": "SplashTiles viewing zone/room",
"displayCategories": [
"OTHER"
],
"cookie": {
"extraDetail1": "videostormdev@gmail.com"
},
"capabilities": [
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "FireStick.screen",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Screen",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "FULL.off",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "off",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.demo1",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo1",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.demo2",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo2",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.myjellyfish",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "myjellyfish",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "FireStick.pip",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "PIP",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "PIP.off",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "off",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.demo1",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo1",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.demo2",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo2",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.myjellyfish",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "myjellyfish",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "FireStick.script",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Script",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "MACRO.NewScriptA",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "NewScriptA",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
},
{
"endpointId": "Everything001",
"manufacturerName": "Video Storm LLC",
"friendlyName": "Everything",
"description": "SplashTiles viewing zone/room",
"displayCategories": [
"OTHER"
],
"cookie": {
"extraDetail1": "videostormdev@gmail.com"
},
"capabilities": [
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "Everything.screen",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Screen",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "FULL.off",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "off",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.demo1",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo1",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.demo2",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo2",
"locale": "en-US"
}
}
]
}
},
{
"value": "FULL.myjellyfish",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "myjellyfish",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "Everything.pip",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "PIP",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "PIP.off",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "off",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.demo1",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo1",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.demo2",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "demo2",
"locale": "en-US"
}
}
]
}
},
{
"value": "PIP.myjellyfish",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "myjellyfish",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.ModeController",
"version": "3",
"instance": "Everything.script",
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "Script",
"locale": "en-US"
}
}
]
},
"properties": {
"supported": [
{
"name": "mode"
}
],
"retrievable": false,
"proactivelyReported": false
},
"configuration": {
"ordered": false,
"supportedModes": [
{
"value": "MACRO.NewScriptA",
"modeResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "NewScriptA",
"locale": "en-US"
}
}
]
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}
]
}
}
}

smart home
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Video Storm LLC avatar image
Video Storm LLC answered

I did get this working. For others reference the problem is every supported mode in modecontroller needs at LEAST 2 values. I had only 1 value on one of the variables, and that caused discovery to fail silently...

10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Anand@Amazon avatar image
Anand@Amazon answered

Hi there,

Please share skill id for further investigation.

10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Video Storm LLC avatar image
Video Storm LLC answered

Skill id amzn1.ask.skill.b456fd11-6a3f-4650-a48c-c8d81f88fbe5

(in development)

10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.