Aggiungi altri tratti e gestori

Puoi aggiungere tutti i tratti che vuoi al modello del tuo dispositivo. Questi tratti sono non legati a un solo tipo di dispositivo, puoi usarli come preferisci.

Questa è la procedura per aggiungere trait e gestire il comando in entrata:

  1. Scegli il trait che preferisci da aggiungere.

  2. Apri il file pushtotalk.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Aggiungi il seguente blocco di codice sotto quello esistente che gestisce il comando action.devices.commands.OnOff (non eliminare il cluster blocco di codice).

    @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.')
    
  4. Trova le informazioni necessarie per ogni variabile nel blocco di codice riportato sopra.

    command-nameVai alla pagina specifica del trait da Passaggio 1 (ad esempio, ColorTemperature). Utilizza un comando dalla tabella COMANDO dispositivo.
    my-functionAssegna alla funzione gestore il nome che preferisci.
    parameter-nameGuarda di nuovo la voce COMANDI DEL DISPOSITIVO nella pagina dei trait. Ogni comando ha uno o più parametri associate. Questi elenchi sono elencati sotto "params" nella sezione EXECUTE di richiesta JSON. Utilizza il nome esatto del parametro. Alcuni di questi sono oggetti che contengono altri parametri. È sufficiente utilizzare come oggetto di primo livello.
    conditionalNon è necessario utilizzare un'istruzione condizionale nel codice gestore, ma può essere utile distinguere il modo in cui esegui sul dispositivo.

    Ecco alcuni esempi di tratti Luminosità e ColorTemperature (Temperatura colore):

    @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')
    
  5. Aggiornare il modello del dispositivo con il trait che hai aggiunto nel Passaggio 1.

  6. Esegui il codice sorgente modificato.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Premi il tasto Invio e prova una query.

    Ad esempio:

    Imposta la luminosità al 65%.

    Rendi l'esperienza blu.

Passaggio successivo

Registrare azioni personalizzate del dispositivo