繁体   English   中英

Google 恒温器上的自定义操作模式

[英]Custom Modes for Actions On Google thermostat

我正在尝试为恒温器制作一个应用程序,该应用程序具有一些自定义模式,用户可以将这些模式设置为他们在家、睡觉时的基础......恒温器在没有自定义模式的情况下工作,所以我可以获取和设置温度。 但是,当我添加模式时,它失败了,我找不到原因,json 对我来说似乎没问题(在 java 中作为SyncResponse.Payload发送)。

{
    "payload": {
        "agentUserId": "qba-001-3464",
        "devices": [
            {
                "traits": [
                    "action.devices.traits.TemperatureSetting",
                    "action.devices.traits.Modes"
                ],
                "willReportState": true,
                "name": {
                    "defaultNames": [
                        "qba-001-3464"
                    ],
                    "name": "qba-001-3464",
                    "nicknames": [
                        "ENGIE boxx"
                    ]
                },
                "attributes": {
                    "availableThermostatModes": [
                        "off",
                        "heat",
                        "cool",
                        "on"
                    ],
                    "thermostatTemperatureRange": {
                        "maxThresholdCelsius": 30,
                        "minThresholdCelsius": 6
                    },
                    "availableModes": [
                        {
                            "ordered": false,
                            "settings": [
                                {
                                    "settingValues": [
                                        {
                                            "lang": "en",
                                            "settingSynonym": [
                                                "comfort"
                                            ]
                                        },
                                        {
                                            "lang": "nl",
                                            "settingSynonym": [
                                                "comfort"
                                            ]
                                        },
                                        {
                                            "lang": "fr",
                                            "settingSynonym": [
                                                "confort"
                                            ]
                                        }
                                    ],
                                    "settingName": "comfort"
                                },
                                {
                                    "settingValues": [
                                        {
                                            "lang": "en",
                                            "settingSynonym": [
                                                "home"
                                            ]
                                        },
                                        {
                                            "lang": "nl",
                                            "settingSynonym": [
                                                "thuis"
                                            ]
                                        },
                                        {
                                            "lang": "fr",
                                            "settingSynonym": [
                                                "maison"
                                            ]
                                        }
                                    ],
                                    "settingName": "home"
                                },
                                {
                                    "settingValues": [
                                        {
                                            "lang": "en",
                                            "settingSynonym": [
                                                "sleep"
                                            ]
                                        },
                                        {
                                            "lang": "nl",
                                            "settingSynonym": [
                                                "slapen"
                                            ]
                                        },
                                        {
                                            "lang": "fr",
                                            "settingSynonym": [
                                                "nuit"
                                            ]
                                        }
                                    ],
                                    "settingName": "sleep"
                                },
                                {
                                    "settingValues": [
                                        {
                                            "lang": "en",
                                            "settingSynonym": [
                                                "away"
                                            ]
                                        },
                                        {
                                            "lang": "nl",
                                            "settingSynonym": [
                                                "weg"
                                            ]
                                        },
                                        {
                                            "lang": "fr",
                                            "settingSynonym": [
                                                "parti"
                                            ]
                                        }
                                    ],
                                    "settingName": "away"
                                },
                                {
                                    "settingValues": [
                                        {
                                            "lang": "en",
                                            "settingSynonym": [
                                                "holiday"
                                            ]
                                        },
                                        {
                                            "lang": "nl",
                                            "settingSynonym": [
                                                "vakantie"
                                            ]
                                        },
                                        {
                                            "lang": "fr",
                                            "settingSynonym": [
                                                "congé"
                                            ]
                                        }
                                    ],
                                    "settingName": "holiday"
                                }
                            ],
                            "nameValues": [
                                {
                                    "nameSynonym": [
                                        "setting",
                                        "mode",
                                        "state"
                                    ],
                                    "lang": "en"
                                },
                                {
                                    "nameSynonym": [
                                        "stand",
                                        "mode",
                                        "state",
                                        "staat",
                                        "instelling"
                                    ],
                                    "lang": "nl"
                                },
                                {
                                    "nameSynonym": [
                                        "réglage",
                                        "mode",
                                        "state"
                                    ],
                                    "lang": "fr"
                                }
                            ],
                            "name": "temperature_state"
                        }
                    ],
                    "thermostatTemperatureUnit": "C"
                },
                "id": "qba-001-3464",
                "type": "action.devices.types.THERMOSTAT",
                "deviceInfo": {
                    "swVersion": "qb2/uni/5.39.6",
                    "model": "ENGIEboxx",
                    "manufacturer": "Toon",
                    "hwVersion": "6599-1500-5000"
                }
            }
        ]
    },
    "requestId": "12754277927386056776"
}

我在这个 json 代码中犯了 2 个错误:

  • settingValuessettingSynonymnameValuesnameSynonym都不应该是驼峰式的 --> setting_valuessetting_synonymname_valuesname_synonym
  • 显然,谷歌不允许使用重音,因此例如“congé”这个词必须是“conge”,否则它不会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM