Un percorso di evasione degli ordini locale viene stabilito quando Google abbina un dispositivo controllato a livello locale
a un dispositivo restituito nella risposta di SYNC
di Cloud fulfillment.
Per consentire a Google di rilevare il tuo dispositivo sulla rete locale e stabilire il percorso di evasione degli ordini locale, devi aggiungere informazioni sul rilevamento nella console di Actions.
Devi inoltre aggiornare la risposta SYNC
di Cloud fulfillment per comunicare a Google il dispositivo controllabile a livello locale.
Configura le informazioni di configurazione della scansione
Per specificare le informazioni sul 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 Local Home (facoltativo) > Aggiungi configurazione della scansione del dispositivo, fai clic su Nuova configurazione della scansione.
- Seleziona un tipo di protocollo corrispondente per la scansione dal menu a discesa e inserisci i valori che Google deve sottoporre a scansione.
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 per 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 qualificato del servizio UPnP nel formato
domain:service:type:version .
|
schemas-upnp-org:service:SwitchPower:1 |
OUI |
Campo facoltativo. Organizationally Unique Identifier. Valore a 24 bit che identifica il produttore del dispositivo. In genere si tratta dei 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 trasmissione | Obbligatorio. Porta di destinazione per la trasmissione UDP. | 5555 |
Porta di ascolto | Obbligatorio. Porta di ascolto per la risposta di rilevamento UDP. | 5556 |
Pacchetto discovery | Obbligatorio. Payload da inviare nella trasmissione UDP. Formattato come stringa di byte esadecimale codificata. |
48454C4C4F |
Aggiorna la risposta SYNC in Cloud fulfillment
I report sugli intent di SYNC
segnalano all'assistente i dispositivi controllati dall'utente e le loro funzionalità.
Per supportare il fulfillment locale, la piattaforma della casa locale controlla la risposta SYNC
dal fulfillment cloud dell'Azione per la smart home e cerca di associare gli ID
dispositivo nel campo otherDeviceIds
all'ID di verifica restituito dal gestore
IDENTIFY
. Le voci dispositivo senza un campo otherDeviceIds
sono escluse dall'evasione degli ordini 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 device
nella risposta. Google può stabilire un percorso di distribuzione locale su qualsiasi dispositivo con l'ID specificato.
Utilizza il campo customData
per specificare eventuali dati aggiuntivi di cui Google deve 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
Lo snippet seguente 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": "..." } }] } }