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.

Другие вопросы по тегам