Puoi aggiungere tutte le caratteristiche che vuoi al modello del tuo dispositivo. Questi tratti non sono legati a un solo tipo di dispositivo, ma puoi usarli come preferisci.
Questa è la procedura per aggiungere un trait e gestire il comando in arrivo:
Determina quale tratto vuoi aggiungere.
Apri il file
pushtotalk.py
.cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Aggiungi il seguente blocco di codice sotto quello esistente che gestisce il comando
action.devices.commands.OnOff
(non eliminare il blocco di codice esistente).@device_handler.command('action.devices.commands.command-name') def my-function(parameter-name): if conditional: logging.info('Something happened.') else: logging.info('Something else happened.')
Trova le informazioni necessarie per ogni variabile nel blocco di codice riportato sopra.
command-name
Vai alla pagina del trait specifica del passaggio 1 (ad esempio ColorTemperature). Utilizza un comando dalla tabella COMANDI del dispositivo. my-function
Assegna alla funzione gestore il nome che preferisci. parameter-name
Controlla di nuovo la tabella COMANDI del dispositivo nella pagina dei trait. A ogni comando sono associati uno o più parametri. Questi dati sono elencati alla voce "params"
nel JSON della richiesta EXECUTE. Utilizza il nome esatto del parametro. Tieni presente che alcuni di questi parametri sono oggetti che contengono altri parametri: è sufficiente utilizzare l'oggetto di primo livello.conditional
Non è strettamente necessario utilizzare un condizionale nel codice del gestore, ma potrebbe essere utile per differenziare il modo in cui esegui il comando sul dispositivo. Ecco alcuni esempi di trait Luminosità e ColorTemperature:
@device_handler.command('action.devices.commands.BrightnessAbsolute') def brightnessCheck(brightness): if brightness > 50: logging.info('brightness > 50') else: logging.info('brightness <= 50') @device_handler.command('action.devices.commands.ColorAbsolute') def color(color): if color.get('name') == "blue": logging.info('color is blue') else: logging.info('color is not blue')
Aggiorna il modello del dispositivo con il trait aggiunto nel passaggio 1.
Esegui il codice sorgente modificato.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
python pushtotalk.py
Premi il tasto Invio e prova a eseguire una query.
Ad esempio:
Imposta la luminosità al 65%.
Scegli il blu.