Un percorso di evasione degli ordini locale viene stabilito quando Google associa un dispositivo controllabile localmente a un dispositivo restituito nella risposta di SYNC
da Cloud fulfillment.
Per consentire a Google di rilevare il tuo dispositivo sulla rete locale e di stabilire il percorso di evasione degli ordini locale, devi aggiungere informazioni di rilevamento nella console di Actions.
Devi anche aggiornare la risposta SYNC
da Cloud fulfillment per comunicare a Google il dispositivo controllabile localmente.
Configura le informazioni di configurazione della scansione
Per specificare le informazioni di rilevamento:
- Apri il progetto della smart home nella console di Actions.
- Nel menu di navigazione a sinistra, fai clic su Azioni.
- In Configura l'SDK della home page locale (facoltativo) > Aggiungi configurazione di scansione del dispositivo, fai clic su Nuova configurazione di scansione.
- Seleziona un tipo di protocollo di corrispondenza delle scansioni dal menu a discesa e inserisci i valori che Google dovrà analizzare.
Le seguenti tabelle mostrano gli attributi che puoi aggiungere, in base ai protocolli che vuoi che Google utilizzi per cercare il tuo dispositivo:
Attributo | Descrizione | Valore di esempio |
---|---|---|
Nome servizio |
Obbligatorio. Nome del servizio pubblicato dal dispositivo nel formato
service.domain .
|
_http._tcp.local |
Nome |
Obbligatorio. Filtra in base a un'istanza di servizio univoca nel formato
|
my-device-[0-9]{4}\._http\._tcp\.local |
Attributo | Descrizione | Valore di esempio |
---|---|---|
Tipo di servizio |
Obbligatorio. Identificatore completo del servizio UPnP nel formato
domain:service:type:version .
|
schemas-upnp-org:service:SwitchPower:1 |
UO |
Campo facoltativo. Identificatore univoco dell'organizzazione. Valore a 24 bit che identifica il produttore del dispositivo. In genere, i primi tre ottetti dell'indirizzo MAC del dispositivo. |
1A:2B:3C |
Attributo | Descrizione | Valore di esempio |
---|---|---|
Indirizzo di trasmissione | Obbligatorio. Indirizzo IP di destinazione per la trasmissione UDP. | 255.255.255.255 |
Porta di trasmissione | Obbligatorio. Porta di destinazione per la trasmissione UDP. | 5555 |
Porta di ascolto | Obbligatorio. Porta di ascolto della risposta di rilevamento UDP. | 5556 |
Pacchetto di scoperta | Obbligatorio. Payload da inviare nella trasmissione UDP. Formattato come stringa di byte codificati in esadecimale. |
48454C4C4F |
Aggiorna la risposta SYNC in Cloud fulfillment
L'intent SYNC
segnala all'assistente i dispositivi controllati dall'utente e le sue funzionalità.
Per supportare l'evasione degli ordini locale, la piattaforma Home locale controlla la risposta SYNC
dal cloud fulfillment della tua azione per la smart home e cerca di associare gli ID dispositivo nel campo otherDeviceIds
all'ID verifica restituito dal gestore IDENTIFY
. Le voci dei dispositivi senza un campo otherDeviceIds
sono escluse dalla distribuzione locale.
Nel campo otherDeviceIds
della risposta SYNC
, devi impostare gli ID dispositivo dei dispositivi per la smart home che possono essere controllati localmente. Il campo viene visualizzato a livello di device
nella risposta. Google può stabilire un percorso di evasione locale su qualsiasi dispositivo con l'ID specificato.
Utilizza il campo customData
per specificare eventuali dati aggiuntivi di cui Google ha bisogno per connettersi a un dispositivo autonomo o per scegliere come target i dispositivi finali tramite un hub (ad esempio il numero di porta e altre informazioni specifiche del protocollo).
Esempio
Il seguente snippet mostra come creare il gestore 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": "..." } }] } }