Как выполнить команду TestNetworkSpeed для характеристики устройства NetworkControl с помощью действий Google?

#actions-on-google #google-smart-home #google-assistant

Вопрос:

Я хочу выполнить команду TestNetworkSpeed, которая является частью функции устройства NetworkControl. Примером в документации является следующее:

Примеры
Какова скорость Wi-Fi?

Для намерения action.devices.SYNC мы возвращаем следующий издевательский вывод:

 {
      agentUserId: 'userId',
      devices: [
        {
          id: 'deviceId',
          type: 'action.devices.types.NETWORK',
          willReportState: true,
          notificationSupportedByAgent: true,
          name: {
            name: 'ssid',
            defaultNames: ['ssid'],
            nicknames: ['ssid'],
          },
          traits: ['action.devices.traits.NetworkControl'],
          attributes: {
            supportsNetworkDownloadSpeedTest: true,
            supportsNetworkUploadSpeedTest: true,
            supportsEnablingNetworkProfile: true,
            supportsDisablingNetworkProfile: true,
            networkProfiles: ['kids'],
          },
        },
      ],
 }
 

Когда я выполняю высказывание из приведенного выше примера, Google Assistant не отправляет запрос на мой сервер. Он возвращает общие результаты Google.

Когда я выполняю высказывание, чтобы отключить / включить Интернет для профиля, оно работает правильно.

Мы включили HomeGraph.

Вот дополнительные скриншоты, чтобы продемонстрировать, что происходит.

Когда я спрашиваю GA, какой у меня ssid, он возвращает правильный ssid. введите описание изображения здесь

Когда я прошу GA отключить Интернет для устройства, оно работает правильно. введите описание изображения здесь

Когда я спрашиваю GA, какова скорость Wi-Fi ssid, он возвращает имя SSID, и мы получаем команду запроса на нашей конечной точке api. введите описание изображения здесь

Я изменил имя ssid на «домашний Wi-Fi» и повторил команду. Я получаю следующий вывод по умолчанию (он не попадает в нашу конечную точку). введите описание изображения здесь

Когда я выполняю только скорость Wi-Fi без имени ssid, я также получаю вывод по умолчанию. введите описание изображения здесь

Комментарии:

1. Можете ли вы поделиться своим примером EXECUTE полезной нагрузки ответа для TestNetworkSpeed команды? Вы реализуете это с последующим ответом или непосредственно с ответом на выполнение?

2. @ToniCorinne Помощник Google даже не запрашивает наш API, когда мы говорим: «Какова скорость Wi-Fi?». Он просто возвращает ответ по умолчанию, как если бы у нас не было действия, поддерживающего скорость TestNetworkSpeed, поэтому запрос на выполнение отсутствует.

3. Показывает ли ваш проект какие-либо журналы/ошибки при выполнении этого запроса? Можете ли вы запустить запрос на выполнение, если вы явно идентифицируете устройство (например, «Какова скорость ssid Wi-Fi?» )

4. @ToniCorinne Я опубликовал дополнительные фотографии, чтобы показать, что происходит. Нет, наш проект не показывает никаких ошибок (если вы имеете в виду наш сервер). Это даже не доходит до нашего бэкенда. Есть ли в проекте Google action какие-либо журналы, показывающие, почему он даже не достигает нашей конечной точки?

5. @ToniCorinne могу ли я отправить вам свои действия в Google id, и вы подтвердите, почему это не работает?