Adicionar mais traços e gerenciadores

É possível adicionar quantas características você quiser ao modelo do dispositivo. Essas características são não vinculadas a apenas um tipo de dispositivo, você pode usá-los como quiser.

Este é 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 a seguir no bloco atual que lida com o comando action.devices.commands.OnOff (não exclui o comando ).

    @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 de características específica Etapa 1 (por exemplo, ColorTemperature). Use um comando da tabela Device COMMANDS.
    my-functionNomeie a função do gerenciador como quiser.
    parameter-nameConfira novamente os comandos do dispositivo. na página de características. Cada comando tem um ou mais parâmetros associados a ele. Eles estão listados em "params" na seção EXECUTAR JSON de solicitaçã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 estritamente uma solicitação no código do gerenciador, mas pode ajudar a diferenciar como você executa o no dispositivo.

    Veja alguns exemplos de traços 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. Atualizar o modelo do dispositivo com a característica que você adicionou 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 faça uma consulta.

    Exemplo:

    Defina o brilho como 65%.

    Deixar azul.

Próxima etapa

Registrar ações personalizadas do dispositivo