Запутанность черты контроля температуры - PullRequest
0 голосов
/ 24 марта 2020

Я только что начал с Google Actions. Первой чертой, которую мы хотим поддержать, является показание температуры с моего устройства. Это не термостат, поэтому нам нужно использовать признак TemperatureControl (только для чтения, без контроля).

Проблема заключается в том, что после реализации TemperatureControl я не могу запросить Google Assistant для считывания температуры. Кто-нибудь сталкивался с подобной проблемой? У меня есть поиск topi c на TemperatureControl, похоже, не было ни одной похожей проблемы. Заранее спасибо.

Более подробный поток:

спросите "Какая температура в спальне?"

  • Я получил запрос QUERY на своем внутреннем сервере и ответил «Температура окружающей среды»

    , но ответ таков: «Извините, я не могу сейчас добраться до спальни. Пожалуйста, пожалуйста, попробуйте еще раз "

  • После этого я попытался добавить черту HumiditySetting, чтобы проверить правильность моего SYNC / QUERY. Это работает

    спросите "Какой уровень влажности в спальне?"

  • Я получил запрос QUERY на своем бэкэнд-сервере и ответил «Влажность окружающей среды». На самом деле это тот же ответ, что и в случае с температурой.

    но ответ таков: «В спальне текущее значение влажности составляет хх%»

  • Мой SYN C Ответ подтвержден https://developers.google.com/assistant/smarthome/tools/validator Ниже приведен образец:

{
    "requestId": "10692316150281033205",
    "payload": {
        "agentUserId": "1-5671",
        "devices": [
            {
                "id": "3466",
                "type": "action.devices.types.CAMERA",
                "traits"[
                    "action.devices.traits.HumiditySetting",
                    "action.devices.traits.TemperatureControl"
                ],
                "name": {
                    "defaultNames": [
                        "bedroom"
                    ],
                    "name": "bedroom",
                    "nicknames": [
                        "bedroom"
                    ]
                },
                "willReportState": true,
                "roomHint": null,
                "deviceInfo": null,
                "otherDeviceIds": null,
                "customData": {
                    "deviceId": "CQAMNGF"
                },
                "attributes": {
                    "temperatureUnitForUX": "C",
                    "queryOnlyHumiditySetting": true,
                    "queryOnlyTemperatureControl": true
                }
            }
        ],
        "errorCode": null
    }
}

1 Ответ

0 голосов
/ 25 марта 2020

Я нашел проблему.

Я использовал thermostatTemperaSetpoint и thermostatTemperaAmbient в ответе на запрос.

После того, как они вернутся к температуре SetsetCelsius TemperatureAmbientCelsius, это работает.

...