При конвертации устройства, использующего в настоящее время ( Cloud-to-cloud ), в Matter необходимо убедиться, что устройство использует тот же идентификатор в Matter , что и при подключении через API, не относящиеся Matter . Это гарантирует, что устройство будет отображаться в Google Home Graph пользователя только один раз. Дедупликация устройств Cloud-to-cloud возможна только при их привязке к определённой структуре (дому) в Google Home app (GHA) .
Требования SYNC
Чтобы избежать дубликатов в Home Graph , облако партнёра должно отправлять три новых строковых поля для каждого устройства в ответе SYNC в Google. Эти поля должны соответствовать атрибутам, определённым в кластере базовой информации для устройства Matter . Кроме того, ответы SYNC должны содержать roomHint :
-
matterUniqueId— атрибутUniqueIdв строковом формате. -
matterOriginalVendorId— атрибутVendorIdв шестнадцатеричном строковом формате. -
matterOriginalProductId— атрибутProductIdв шестнадцатеричном строковом формате. -
roomHint— комната, в которой находится это устройство.
Документацию по намерениям, таким как SYNC можно найти в руководстве Cloud-to-Cloud Primer .
Пример ответа SYNC ниже показывает использование трех новых полей, а также roomHint :
SYNC {
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"agentUserId": "1836.15267389",
"devices": [
{
"id": "456",
"type": "action.devices.types.LIGHT",
"traits": [
"action.devices.traits.OnOff",
"action.devices.traits.Brightness",
"action.devices.traits.ColorSetting",
],
"willReportState": true,
"roomHint": "office",
"deviceInfo": { ... },
"matterUniqueId": "00112233aabbccddeeff",
"matterOriginalVendorId": "0xfff1",
"matterOriginalProductId": "0x1234",
"otherDeviceIds": [
{
"deviceId": "local-device-id",
}
]
}
]
}
} Когда устройство, которое ранее работало в домашней сети пользователя с использованием облака партнера, преобразуется в устройство Matter , облако партнера должно немедленно отправить REQUEST SYNC в Google для скорейшего обновления этих полей с целью избежания поздней дедупликации.
Эти строки не должны изменяться после их предоставления для конкретного устройства. Уникальный идентификатор должен меняться только при сбросе настроек к заводским, что делает устройство видимым для всех интеграций как совершенно новое.
Автоматическая ассоциация структур
Автоматическая привязка устройств Cloud-to-cloud к конкретной структуре не гарантируется. В ситуациях, когда автоматическая привязка к структуре невозможна, соответствующие устройства Cloud-to-cloud будут отображаться в специальном разделе главного экрана GHA , в разделе « Связанные с вами» , за пределами каких-либо комнат. Такие устройства не будут дедуплицироваться. Устройства не будут автоматически размещаться в структуре, если у пользователя есть более одной структуры (дома) в GHA . Структурирование устройств может быть невозможным по другим причинам.
Если пользователь вручную перемещает устройство Cloud-to-cloud , не прошедшее автоматическую ассоциацию со структурой, дедупликация может быть выполнена при следующем SYNC , если ответы SYNC соответствуют требованиям, указанным в требованиях SYNC .