Domande frequenti sulla smart home

Generale

D: Dove e in quale lingua dovremmo implementare la nostra infrastruttura di distribuzione di Actions on Google?

R: Puoi implementare la tua infrastruttura su qualsiasi piattaforma e in qualsiasi linguaggio tu scelga, purché supporti le tecnologie SSL (TLS) e OAuth 2.0 moderne. Ti consigliamo di eseguire il deployment il più vicino possibile al resto dell'infrastruttura, per migliorare l'affidabilità e ridurre la latenza per l'esecuzione sui dispositivi effettivi degli utenti.


D. Gli ID dispositivo devono essere univoci?

R: Gli ID devono essere univoci. Se non disponi di ID univoci nel servizio, questi devono essere univoci almeno a livello di utente. Immagina un utente con più case, in cui entrambe hanno integrazioni per lo stesso utente. Se chiedi di accendere una luce in una casa, non dovresti accendere una luce con lo stesso ID di un'altra.


D. I nomi dei dispositivi devono essere univoci?

R: I nomi non devono essere univoci, anche se nel tempo potremmo incoraggiare le persone a migliorare i nomi errati dopo la configurazione per migliorare l'esperienza utente.

Ecco una guida rapida alla denominazione:

  • I nomi dovrebbero essere ciò che le persone possono effettivamente dire.
  • Riconosciamo sottoinsiemi di stringhe, quindi se hai "luce colore acme" risponderemo anche a "luce acme".
  • Consigliamo di utilizzare sia un nome descrittivo per il prodotto sia uno o più nomi definiti dall'utente.
  • Gli utenti non hanno bisogno di assegnare i nomi delle stanze alle luci, perché abbiamo delle stanze. Dovrebbero avere nomi univoci per ogni stanza, ma possono sempre usare i plurali per comandare tutto (ad esempio, le due lampadine nei applique dell'ufficio sono "luce del nord" e "luce est", ma possono essere comandate semplicemente come "luci").

D: Con quale frequenza viene aggiornato lo stato del dispositivo?

R: lo stato temporaneo viene recuperato tramite QUERY o EXECUTE, ovvero azioni avviate dall'utente. Se l'utente chiede "La luce è accesa?" o vuole aumentare l'intensità di una luce, dovremo eseguire una query per capire lo stato attuale.


D: È possibile aggiornare Home Graph direttamente con lo stato corrente di un dispositivo?

R: Sì, utilizza la chiamata API Report State.


Collegamento dell'account e OAuth

R: Sì, è necessario il collegamento dell'account per connettere i dispositivi di un utente ai servizi cloud del provider.


D: Per OAuth, i token di accesso scadono ogni 15,213 ore, va bene?

R: Sì, ma esegui il test con un periodo di scadenza abbastanza breve, ad esempio 10-20 minuti. Il nostro client OAuth dovrebbe aggiornare i token secondo necessità e il test con una breve scadenza dimostrerà che funziona.


Intent

D. Quando viene eseguita la SINCRONIZZAZIONE?

R: La sincronizzazione avviene immediatamente dopo il completamento OAuth e dopo una chiamata Richiesta di sincronizzazione.


D: Perché SYNC non funziona?

R: Esistono diversi motivi comuni per cui l'operazione potrebbe non andare a buon fine.

  • Stai inviando tipi di dispositivi sbagliati.

    • Ad esempio, prevediamo action.devices.types.LIGHT, ma tu invii action.devices.types.Light.
  • Stai inviando tipi di dispositivi non supportati.

    • Ad esempio, invii action.devices.types.FLASHLIGHT, non è supportato.
  • Stai inviando campi non validi/non supportati.

    • Ad esempio, hai un campo versione o un altro campo che non è presente nelle nostre specifiche.
  • La tua risposta SYNC presenta altri problemi di formattazione.

    • Controlla le parentesi.
  • Stai riscontrando un problema di collegamento dell'account.

    • Verifica di ricevere un token di accesso valido nell'intestazione Auth della richiesta SYNC.
  • Stai impiegando troppo tempo per rispondere alla richiesta SYNC.

    • Verifica di rispondere alla richiesta SYNC entro 5 secondi.

D. Una risposta "in attesa" va bene?

R. Preferiremmo vivamente una risposta di operazione riuscita/non riuscita, anziché in attesa, se i tuoi dispositivi sono disponibili in tempo reale. Contattaci se ritieni di avere bisogno di una risposta "in attesa". Siamo consapevoli che alcuni dispositivi a basso consumo non in tempo reale potrebbero richiedere una risposta in attesa e un modello di esecuzione asincrono.


Test e invio

D. Possiamo configurare un ambiente temporaneo?

R: Sì, crea un progetto separato ed esegui la configurazione per quel progetto. Puoi creare tutti i progetti di cui hai bisogno da mappare ai tuoi processi di sviluppo e all'infrastruttura.


D: Con quale frequenza devo aggiornare la bozza di progetto?

R: La bozza di un progetto deve essere aggiornata ogni 3 giorni. Dopo 3 giorni, l'agente di test scompare dalle impostazioni di Mobile-Home Control. Se ti trovi in questa situazione, fai clic sul pulsante TESTA BOZZA per il tuo progetto in Actions on Google Console.


D. Posso eseguire test su più dispositivi alla volta?

R: Actions on Google supporta un solo punto di accesso "prova sul dispositivo" alla volta. Se usi per la prima volta la BOZZA DI TEST su "ap1" e sincronizzi i dispositivi, senza scollegare ap1, esegui direttamente la BOZZA DI TEST "ap2", "ap1" scomparirà dalle impostazioni di mobile-HomeControl. Per risolvere il problema, esegui di nuovo la BOZZA DI PROVA su "ap1" e puoi scollegare "ap1" nelle impostazioni.

Tieni presente che questo singolo pacchetto azioni sarà disponibile per l'utente su tutti i tuoi dispositivi Google Assistant. Ad esempio, puoi testare la tua nuova integrazione hardware sia su speaker ad attivazione vocale sia su Android.


D. L'invio del mio progetto per le azioni è stato rifiutato a causa del nome o della pronuncia. Cosa devo modificare?

R. Controlliamo la pronuncia del nome per assicurarci che non venga acquisito da un'altra Azione in futuro e che corrisponda al nome visualizzato (per evitare errate corrispondenze che influiscono sulle future registrazioni dei nomi).

Per continuare a utilizzare lo stesso nome, contatta l'assistenza per chiedere al team vocale di aggiungere il nome visualizzato a Assistant.


D: La funzionalità La mia azione non è visibile nella sezione Controllo della casa dell'app Google Home. Qual è il problema?

R: Il problema potrebbe essere uno dei seguenti:

  • Non hai fatto clic sul pulsante BOZZA DI PROVA per il tuo progetto in Actions Console.
  • In Test sul dispositivo puoi avere una sola azione alla volta.
  • In Actions Console, vai alla scheda Simulatore del tuo progetto Azioni e imposta il pulsante di attivazione/disattivazione Attivo/Non attivo su Non attivo e poi di nuovo Attivo.
  • Se si tratta di un'Azione condivisa con te, assicurati di seguire tutte le istruzioni per la condivisione.
  • Il test sul dispositivo scade dopo tre giorni. Fai clic sul pulsante TESTA BOZZA per il progetto in Actions Console.

D: Perché viene visualizzato un errore quando digito "parla con <my agent name>" nel simulatore?

R: Le azioni per la smart home non utilizzano nomi di chiamata. Per eseguire il test nel simulatore, devi eseguire il collegamento dell'account su un telefono Android o iOS con Google Home app (GHA) installato. Devi inoltre avere dispositivi associati al tuo account prima di eseguire il collegamento dell'account.


D: Perché ricevo errori quando provo a utilizzare il simulatore?

R: Non puoi utilizzare il simulatore per testare le azioni smart home di cui è stato eseguito il deployment. Se vuoi utilizzare il simulatore per un progetto di domotica in produzione, devi creare un nuovo progetto a scopo di test.


Stato del report

D. Esistono prerequisiti per l'implementazione dello stato del report?

R: Il progetto deve utilizzare l'API Smart Home, supportare OAuth2 e includere trait con stati da segnalare.


D. Con quale frequenza dobbiamo segnalare lo stato su un dispositivo?

R: Google è interessata alla transizione e allo stato del terminale; tuttavia, se si verificano molti cambiamenti di stato in un breve periodo di tempo (ad esempio, un utente apre e chiude il frigorifero tre volte al minuto o fa scorrere un dimmer), abbiamo bisogno solo dello stato finale riportato.


D. È necessario inviare lo stato completo del dispositivo quando si effettuano chiamate relative allo stato del report?

R: gli aggiornamenti dello stato parziali non sono supportati, quindi le chiamate Report State devono sempre includere tutti i dati per un determinato trait aggiornato. Se due tratti creano un'incoerenza, devono essere segnalati insieme.


D. Google può interrogare il mio dispositivo per ottenerne lo stato (ovvero eseguire il polling del dispositivo)?

R: Si tratta di un meccanismo di riserva che non consigliamo. Se dobbiamo eseguire spesso il polling di un dispositivo per questi utenti, non possiamo garantire quale sarà il carico aggiuntivo. L'esigenza nasce dalle nuove superfici visive. Oltre al problema di caricamento sconosciuto, l'esperienza utente sarà compromessa. Riteniamo che Report State sia fondamentale per la piattaforma.


D. Quali caratteristiche al momento supportano lo stato del report?

R: sono supportati tutti i trait pubblici a cui sono associati stati. Devono essere segnalate anche le modifiche allo stato online del dispositivo.

Tieni presente che le scene non hanno stati. Tuttavia, potrebbero comportare una modifica dello stato o degli stati dei dispositivi. Se uno qualsiasi dei dispositivi in Google Home Graph ha uno stato di modifica, è necessario segnalarlo.


D. Lo stato del report richiede l'invio di un timestamp?

R. Non è necessario specificare un timestamp; l'ultimo stato inviato sostituirà le chiamate precedenti.


D. Devo segnalare lo stato separatamente se sto già inviando lo stato in Query e/o Esegui?

R: Home Graph memorizza solo lo stato inviato tramite Report State. Lo stato restituito come risposta agli intent EXECUTE e QUERY viene utilizzato solo per le risposte vocali all'utente e non viene archiviato. Di conseguenza, Report State deve essere chiamato anche se il nuovo stato del dispositivo è già stato restituito come risposta a un intent EXECUTE o QUERY.


D: Quali sono le conseguenze se non viene implementato completamente lo stato del report entro la scadenza specificata?

R: Ciò si tradurrà in un'esperienza utente ridotta, ad esempio nelle piattaforme GHA e visive. Significa che molti intent QUERY verranno inviati al sondaggio per lo stato e non possiamo garantire che questo corrisponda a un carico aggiuntivo sul cloud partner.


D. Come faccio a testare l'implementazione dello stato del report?

R. Utilizza Home Graph Viewer, uno strumento di test self-service che mostra gli stati attuali del tuo dispositivo memorizzati nel Home Graph.


D. Possiamo utilizzare un requestId casuale per lo stato del report?

R: Consigliamo ai partner di utilizzare lo stesso requestId che hanno ricevuto dalla richiesta EXECUTE se Report State viene attivato dalla richiesta EXECUTE, altrimenti puoi semplicemente utilizzare un requestId casuale.


D. Se un utente ha più dispositivi e uno di questi viene modificato, dobbiamo segnalare lo stato più recente di tutti i dispositivi?

R: No. Devi solo segnalare lo stato di quel dispositivo specifico.


Best practice

D: Che tipo di latenza è accettabile?

R: L'ideale è meno di 200 ms, tra 2 e 5 secondi è accettabile. Se la latenza è di circa 5 secondi, contattaci.


D. Come faccio a fare in modo che lo speaker ad attivazione vocale risponda correttamente quando è offline?

R: Ripristina lo stato offline per i dispositivi offline. Restituiamo "non disponibile al momento" come TTS per questo errore. Per ulteriori informazioni, vedi Errori ed eccezioni.