Alexa умный дом развитие навыков: не работает обнаружение устройств - PullRequest
0 голосов
/ 09 апреля 2020

В настоящее время я разрабатываю умный умный дом для моих блайндов, но я не могу найти устройство. Есть ли способ проверить мое ответное сообщение Discovery? Я думаю, что это какая-то логическая ошибка в JSON.

. Я использую функцию Lambda для выполнения запросов к моему API, используя node-fetch и async / await, поэтому я пометил все JS работает как asyn c, это может быть еще одной потенциальной причиной этой проблемы. Я также не получаю никаких ошибок в CloudWatch.

Это ответ, который отправляет моя лямбда-функция:

{
    "event": {
        "header": {
            "namespace": "Alexa.Discovery",
            "name": "Discover.Response",
            "payloadVersion": "3",
            "messageId": "0a58ace0-e6ab-47de-b6af-b600b5ab8a7a"
        },
    "payload": {
        "endpoints": [
            {
                "endpointId": "com-tobisoft-rollos-1",
                "manufacturerName": "tobisoft",
                "description": "Office Blinds",
                "friendlyName": "Office Blinds",
                "displayCategories": [
                    "INTERIOR_BLIND"
                ],
                "capabilities": [
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa.RangeController",
                        "instance": "Blind.Lift",
                        "version": "3",
                        "properties": {
                            "supported": [
                                {
                                    "name": "rangeValue"
                                }
                            ],
                            "proactivelyReported": true,
                            "retrievable": true
                        },
                        "capabilityResources": {
                            "friendlyNames": [
                                {
                                    "@type": "asset",
                                    "value": {
                                        "assetId": "Alexa.Setting.Opening"
                                    }
                                }
                            ]
                        },
                        "configuration": {
                            "supportedRange": {
                                "minimumValue": 0,
                                "maximumValue": 100,
                                "precision": 1
                            },
                            "unitOfMeasure": "Alexa.Unit.Percent"
                        },
                        "semantics": {
                            "actionMappings": [
                                {
                                    "@type": "ActionsToDirective",
                                    "actions": [
                                        "Alexa.Actions.Close"
                                    ],
                                    "directive": {
                                        "name": "SetRangeValue",
                                        "payload": {
                                            "rangeValue": 100
                                        }
                                    }
                                },
                                {
                                    "@type": "ActionsToDirective",
                                    "actions": [
                                        "Alexa.Actions.Open"
                                    ],
                                    "directive": {
                                        "name": "SetRangeValue",
                                        "payload": {
                                            "rangeValue": 1
                                        }
                                    }
                                },
                                {
                                    "@type": "ActionsToDirective",
                                    "actions": [
                                        "Alexa.Actions.Lower"
                                    ],
                                    "directive": {
                                        "name": "AdjustRangeValue",
                                        "payload": {
                                            "rangeValueDelta": 10,
                                            "rangeValueDeltaDefault": false
                                        }
                                    }
                                },
                                {
                                    "@type": "ActionsToDirective",
                                    "actions": [
                                        "Alexa.Actions.Raise"
                                    ],
                                    "directive": {
                                        "name": "AdjustRangeValue",
                                        "payload": {
                                            "rangeValueDelta": -10,
                                            "rangeValueDeltaDefault": false
                                        }
                                    }
                                }
                            ],
                            "stateMappings": [
                                {
                                    "@type": "StatesToValue",
                                    "states": [
                                        "Alexa.States.Closed"
                                    ],
                                    "value": 100
                                },
                                {
                                    "@type": "StatesToRange",
                                    "states": [
                                        "Alexa.States.Open"
                                    ],
                                    "range": {
                                        "value": 0
                                    }
                                }
                            ]
                        }
                    },
                    {
                        "type": "AlexaInterface",
                        "interface": "Alexa",
                        "version": "3"
                    }
                ]
            }
        ]
    }
    }
}

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 01 мая 2020

Есть ли способ проверить мое ответное сообщение Discovery?

Да, вы можете использовать Alexa Smart Home Message JSON Схема . Эта схема может использоваться для проверки сообщений во время развития навыков, она проверяет навыки Умного дома (кроме API навыков видео).

Это ответ, который отправляет моя лямбда-функция

Я проверил ваш ответ после этих шагов , результат: ошибок не найдено, JSON проверяется по схеме . Так что, вероятно, происходит другое. Предлагаю связаться с Alexa Developer. Свяжитесь с нами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...