Adicionar mais traços e gerenciadores

Você pode adicionar quantas características quiser ao modelo do seu dispositivo. Essas características não estão vinculadas a apenas um tipo de dispositivo, você pode usá-las como quiser.

Esse é o processo para adicionar qualquer característica e processar o comando recebido:

  1. Determine qual característica você quer adicionar.

  2. Abra o arquivo pushtotalk.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Adicione o bloco de código abaixo do atual que processa o comando action.devices.commands.OnOff. Não exclua o bloco 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. Encontre as informações necessárias para cada variável no bloco de código acima.

    command-nameAcesse a página da característica específica da Etapa 1 (por exemplo, ColorTemperature). Use um comando da tabela Device COMMANDS.
    my-functionDê o nome que quiser à função do gerenciador.
    parameter-nameConsulte novamente a tabela Device COMMANDS na página de características. Cada comando tem um ou mais parâmetros associados. Elas estão listadas em "params" no JSON de solicitação de EXECUÇÃO. Use o nome exato do parâmetro. Alguns desses parâmetros são objetos que contêm outros parâmetros, basta usar o objeto de nível superior.
    conditionalNão é necessário usar uma condicional no código do gerenciador, mas isso pode ajudar a diferenciar como você executa o comando no dispositivo.

    Confira alguns exemplos de características de Brilho 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')
    
  5. Atualize o modelo do dispositivo com a característica adicionada na Etapa 1.

  6. Execute o código-fonte modificado.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Pressione a tecla Enter e tente fazer uma consulta.

    Exemplo:

    Definir o brilho como 65%.

    Deixar azul.

Próxima etapa

Registrar ações personalizadas do dispositivo