Умный дом - исправьте JSON, чтобы он отвечал на EXECUTE, когда устройство не подключено - PullRequest
0 голосов
/ 09 мая 2019

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

У меня нет этой проблемы, когда это запрос QUERY, но с EXECUTE ...

Это мой возвращенный JSON:

{
  "requestId": "XXXXXX",
  "payload": {
    "commands": [
      {
        "ids": [123],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff",
        "online": false
      }
    ]
  }
}

Я тоже попробую это:

{
  "requestId": "XXXXXX",
  "payload": {
    "commands": [
      {
        "ids": [123],
        "status": "OFFLINE",
        "errorCode": "deviceTurnedOff",
        "online": false
      }
    ]
  }
}

Я ожидаю, что при попытке выполнить команду на автономном устройстве помощник Google сообщит мне, что устройство недоступно, но вместо этого у меня есть Ok, i turn the light on.

Так что, если у вас есть идея, потому что я проверил свой ответ JSON 1 миллион раз и прочитал документацию много раз, но я не могу найти свою ошибку.

1 Ответ

0 голосов
/ 11 июля 2019

Ваш ответ не выглядит правильным, оно должно быть:

{
  "requestId": "12345",
  "payload": {
    "devices": {
      "device-id-1": {
        "errorCode": "deviceTurnedOff"
      },
      "device-id-2": {
        "errorCode": "deviceTurnedOff"
      }
    }
  }
}

Обратите внимание, что идентификатор устройства - это ключ объекта, где у вас есть массив.

Вы можете найти более подробную информацию здесь .

...