Aggiungi altri tratti e gestori

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:

  1. Determina quale tratto vuoi aggiungere.

  2. Apri il file hotword.py.

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

    if command == "action.devices.commands.command-name":
        if params['parameter-name']:
            if conditional:
                print('Something happened.')
            else:
                print('Something else happened.')
    
  4. Trova le informazioni necessarie per ogni variabile nel blocco di codice riportato sopra.

    command-nameVai alla pagina del trait specifica del passaggio 1 (ad esempio ColorTemperature). Utilizza un comando dalla tabella COMANDI del dispositivo.
    parameter-nameControlla 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.
    conditionalNon è 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:

    if command == "action.devices.commands.BrightnessAbsolute":
        if params['brightness']:
            if params['brightness'] > 50:
                print('brightness > 50')
            else:
                print('brightness <= 50')
    
    if command == "action.devices.commands.ColorAbsolute":
        if params['color']:
            if params['color'].get('name') == "blue":
                print('The color is blue.')
            else:
                print('The color is not blue.')
    
  5. Aggiorna il modello del dispositivo con il trait aggiunto nel passaggio 1.

  6. Esegui il codice sorgente modificato.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    python hotword.py --device-model-id my-model
  7. Prova con una query.

    Hey Google, imposta la luminosità al 65%.

    Hey Google, imposta il blu.

Passaggio successivo

Registrare le azioni personalizzate dei dispositivi