Google Smart Home: "is <light> <state>? Не выполняет запрос
Каждый раз, когда я делаю: "{свет} включен?", Google Home не делает ЗАПРОС против нашей интеграции. Он всегда использует кэшированный результат из ReportState.
Даже если ReportState отправляет сообщение "онлайн": ложно, ответ: "{light} is" вместо {light} сейчас недоступен ".
Вот пример нашего состояния отчета:
{
"requestId":"fecfa392-5bdc-4054-bc70-e4499bc4a733”,
"agent_user_id":"2”,
"payload":{
"devices":{
"states":{
"60dcd8a06472":{
"online":false,
"color":{
"spectrumRGB":16711680
},
"on":false,
"brightness":0
}
}
}
}
}
Google Home Graph API отвечает успешно, и если мы поиграем с этим и спросим: "Включен ли {light}?", Ответ от Google будет соответствовать последнему ReportState, но онлайн: false всегда игнорируется.
1 ответ
В настоящее время Google Home зависит от множества факторов, чтобы предоставлять пользователям ответы о состоянии, включая Query, Report State и их комбинацию. Чтобы обеспечить хороший опыт, вам нужно правильно реализовать оба.
В
offline:false
регистр имеет приоритет теперь, учитывая, что это было сделано как ваше последнее зарегистрированное состояние и не включает никаких других значений (когда вы сообщаете, что устройство находится в автономном режиме, не сообщайте другие значения характеристик или атрибуты). Если вы по-прежнему сталкиваетесь с другим поведением, вы можете сообщить об этом в Public Issue Tracker.