Un chemin de traitement local est établi lorsque Google met en correspondance un appareil contrôlable localement et un appareil renvoyé dans la réponse SYNC
de votre traitement cloud.
Pour permettre à Google de détecter votre appareil sur le réseau local et d'établir le chemin de traitement local, vous devez ajouter des informations de découverte dans la console Actions.
Vous devez également mettre à jour la réponse SYNC
de votre traitement cloud pour indiquer à Google l'appareil pouvant être contrôlé localement.
Configurer les informations de configuration d'analyse
Pour spécifier les informations de découverte, procédez comme suit:
- Ouvrez votre projet de maison connectée dans la console Actions.
- Dans le panneau de navigation de gauche, cliquez sur Actions.
- Sous Configure local home SDK (optional) (Configurer le SDK Local Home (facultatif)) > Add device scan configuration (Ajouter une configuration d'analyse d'appareil), cliquez sur New scan config (Nouvelle configuration d'analyse).
- Sélectionnez un type de protocole de correspondance d'analyse dans la liste déroulante, puis saisissez les valeurs que Google doit analyser.
Les tableaux suivants présentent les attributs que vous pouvez ajouter en fonction des protocoles que Google doit utiliser pour rechercher votre appareil:
Attribut | Description | Exemple de valeur |
---|---|---|
Nom du service |
Obligatoire. Nom du service publié par l'appareil au format service.domain .
|
_http._tcp.local |
Nom |
Obligatoire. Filtrez les données sur une instance de service unique au format |
my-device-[0-9]{4}\._http\._tcp\.local |
Attribut | Description | Exemple de valeur |
---|---|---|
Type de service |
Obligatoire. Identifiant complet du service UPnP au format domain:service:type:version .
|
schemas-upnp-org:service:SwitchPower:1 |
OUI |
Facultatif. Identifiant unique de l'organisation. Valeur de 24 bits permettant d'identifier le fabricant de l'appareil. En règle générale, les trois premiers octets de l’adresse MAC de l’appareil. |
1A:2B:3C |
Attribut | Description | Exemple de valeur |
---|---|---|
Adresse de diffusion | Obligatoire. Adresse IP de destination pour la diffusion UDP. | 255.255.255.255 |
Port de diffusion | Obligatoire. Port de destination de la diffusion UDP. | 5555 |
Port d'écoute | Obligatoire. Port d'écoute pour la réponse de découverte UDP. | 5556 |
Paquet de découverte | Obligatoire. Charge utile à envoyer dans la diffusion UDP. Format d'une chaîne d'octets encodée en hexadécimal. |
48454C4C4F |
Mettre à jour la réponse SYNC dans le traitement cloud
L'intent SYNC
indique à l'Assistant les appareils que l'utilisateur contrôle et leurs fonctionnalités.
Pour permettre le traitement en local, la plate-forme Local Home vérifie la réponse SYNC
du traitement cloud de votre action de maison connectée et tente de faire correspondre les ID d'appareil du champ otherDeviceIds
à l'ID de validation renvoyé par le gestionnaire IDENTIFY
. Les entrées d'appareil sans champ otherDeviceIds
sont exclues du traitement en local.
Dans le champ otherDeviceIds
de la réponse SYNC
, vous devez définir les ID des appareils pour la maison connectée pouvant être contrôlés localement. Le champ apparaît au niveau device
dans la réponse. Google peut établir un chemin de traitement local sur n'importe quel appareil avec l'ID donné.
Utilisez le champ customData
pour spécifier les données supplémentaires dont Google a besoin pour se connecter à un appareil autonome ou pour cibler des appareils finaux via un hub (par exemple, le numéro de port et d'autres informations spécifiques au protocole).
Exemple
L'extrait de code suivant montre comment créer le gestionnaire SYNC
.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [{ "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "name": "Night light" }, "willReportState": false, "otherDeviceIds": [{ "deviceId": "local-device-id" }], "customData": { "port": 5555, "authToken": "..." } }] } }