Синхронизация действий Google Home не работает с допустимым ответом json

Я использовал валидатор 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"
            }
        }]
    }
}

person Hyperian    schedule 22.08.2020    source источник
comment
Связана ли проблема с тайм-аутом в ответе вашего сервера или с проблемой аутентификации?   -  person Nick Felker    schedule 28.08.2020


Ответы (1)


Не удалось найти эффективный способ отладки этого типа проблемы. Если только их облачное ведение журнала действительно регистрирует входящий json, а не только ошибки.

моя ошибка была связана с чем-то, не связанным со структурой json.

person Hyperian    schedule 01.09.2020