Agregar más características y controladores

Puedes agregar todas las características que desees a tu modelo de dispositivo. Estos rasgos no están vinculados a un solo tipo de dispositivo, puedes usarlos como desees.

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

  1. Determina qué trait deseas 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 existente).

    @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 características específicas del paso 1 (por ejemplo, ColorTemperature). Usa un comando de la tabla COMANDOS DEL DISPOSITIVO.
    my-functionAsigna el nombre que desees a la función del controlador.
    parameter-nameVuelve a consultar la tabla COMANDOS DEL DISPOSITIVO en la página de características. Cada comando tiene uno o más parámetros asociados. Estos se enumeran en "params" en la solicitud JSON EXECUTE. Usa el nombre exacto del parámetro. Ten en cuenta que algunos de estos parámetros son objetos que contienen otros parámetros; solo debes usar el objeto de nivel superior.
    conditionalNo es necesario que uses un condicional en el código del controlador, pero puede ser útil diferenciar la forma en que ejecutas el comando en el dispositivo.

    Estos son algunos ejemplos de características de 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 haz una consulta.

    Por ejemplo:

    Establece el brillo en un 65%.

    Ponlo de color azul.

Próximo paso

Registra acciones de dispositivos personalizados