Я использовал валидатор json от Google, и он говорит, что мой json действителен, но для некоторых Причина, по которой Google Home Control все еще выдает мне, не может обновить настройки, проверьте ваше соединение. Если я намеренно выдаю ошибку (например, недопустимую переменную) на моем сервере, ведение журнала в Google на самом деле показывает сбой серверной части, но при использовании правильного json ошибки не сообщается. Какие еще могут быть ошибки?
Вот моя структура json:
{
"requestId": "xxxxxxxxxxx",
"payload": {
"agentUserId": "xxxxxxxx",
"devices": [{
"id": "xxxxxxxxx",
"type": "action.devices.types.AIRPURIFIER",
"traits": ["action.devices.traits.OnOff", "action.devices.traits.Toggles", "action.devices.traits.FanSpeed", "action.devices.traits.SensorState"],
"name": {
"defaultNames": ["air Purifier"],
"name": "Air Purifier",
"nicknames": ["Air Cleaner"]
},
"willReportState": true,
"attributes": {
"commandOnlyOnOff": false,
"availableFanSpeeds": {
"speeds": [{
"speed_name": "S1",
"speed_values": [{
"speed_synonym": ["low", "speed 1"],
"lang": "en"
}]
}, {
"speed_name": "S2",
"speed_values": [{
"speed_synonym": ["midlow", "speed 2"],
"lang": "en"
}]
}, {
"speed_name": "S3",
"speed_values": [{
"speed_synonym": ["mid", "speed 3"],
"lang": "en"
}]
}, {
"speed_name": "S4",
"speed_values": [{
"speed_synonym": ["midhigh", "speed 4"],
"lang": "en"
}]
}, {
"speed_name": "S5",
"speed_values": [{
"speed_synonym": ["high", "speed 5"],
"lang": "en"
}]
}],
"ordered": true
},
"reversible": false,
"availableToggles": [{
"name": "automatic",
"name_values": [{
"name_synonym": ["auto", "auto mode"],
"lang": "en"
}]
}],
"sensorStatesSupported": [{
"name": "AirQuality",
"descriptiveCapabilities": {
"availableStates": ["healthy", "moderate", "unhealthy"]
}
}]
},
"deviceInfo": {
"manufacturer": "Hyperian",
"model": "100",
"hwVersion": "1.0",
"swVersion": "1.0"
}
}]
}
}