Agregar más características y controladores

Puedes agregar todas las características que desees a tu modelo de dispositivo. Estos rasgos son no se vinculan a un solo tipo de dispositivo, sino que también puede usarlas como desee.

Este es el proceso para agregar cualquier característica y controlar el comando entrante:

  1. Determina qué trait deseas. para agregar.

  2. Abre el archivo pushtotalk.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Agrega el siguiente bloque de código debajo del existente que controla el comando action.devices.commands.OnOff (no borres el bloque de código).

    @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. Encuentra la información que necesitas para cada variable en el bloque de código anterior.

    command-nameVe a la página de la característica específica de Paso 1 (por ejemplo, ColorTemperature). Usa un comando de la tabla Device COMMANDS.
    my-functionAsigna el nombre que desees a tu función del controlador.
    parameter-nameConsulta nuevamente los COMANDOS del dispositivo. en una tabla de la página de la característica. Cada comando tiene uno o más parámetros asociados con ella. Estos se enumeran en "params" en la lista EJECUTE la solicitud de permiso JSON. Usa el nombre exacto del parámetro. Ten en cuenta que algunas de estas los parámetros son objetos que contienen otros parámetros, simplemente usa el objeto de nivel superior.
    conditionalNo es necesario usar un modelo condicional en tu código de controlador, pero puede ser útil diferenciar la forma en que ejecutas el en el dispositivo.

    Estos son algunos ejemplos de las características Brillo y 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')
    
  5. Actualiza el modelo del dispositivo con la característica que agregaste en el paso 1.

  6. Ejecuta el código fuente modificado.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Presiona la tecla Intro y realiza una consulta.

    Por ejemplo:

    Establece el brillo en 65%

    Establece el color azul.

Próximo paso

Cómo registrar acciones personalizadas de dispositivos