Dodaj więcej atrybutów i modułów obsługi

Do modelu urządzenia możesz dodać dowolną liczbę cech. Te cechy są nie są powiązane tylko z jednym typem urządzenia, możesz z nich korzystać według własnego uznania.

W ten sposób dodaje się dowolną cechę i obsługuje przychodzące polecenie:

  1. Określ, jakiej cechy potrzebujesz dodać.

  2. Otwórz plik pushtotalk.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    nano pushtotalk.py
  3. Dodaj do istniejącego bloku kodu następujący blok, który obsługuje polecenie action.devices.commands.OnOff (nie usuwaj istniejącego blok kodu).

    @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. W powyższym bloku kodu znajdź potrzebne informacje o każdej zmiennej.

    command-nameOtwórz stronę cech z Krok 1 (na przykład ColorTemperature). Użyj polecenia z tabeli POLECENIA urządzenia.
    my-functionNadaj funkcji modułu obsługi dowolną nazwę.
    parameter-nameJeszcze raz przejrzyj Polecenia urządzenia. na stronie cech. Każde polecenie ma co najmniej 1 parametr i powiązane z nią. Są one wymienione w sekcji "params" w sekcji EXECUTE zażądać pliku JSON. Użyj dokładnej nazwy parametru. Pamiętaj, że niektóre z tych to obiekty zawierające inne parametry – wystarczy użyć funkcji obiektem najwyższego poziomu.
    conditionalNie musisz stosować instrukcji warunkowych, w kodzie modułu obsługi, ale pomocne może być odróżnienie sposobu wykonywania polecenia na urządzeniu.

    Oto kilka przykładów cech: Jasność. i 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. Aktualizowanie modelu urządzenia z cechą dodaną w kroku 1.

  6. Uruchom zmodyfikowany kod źródłowy.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
    python pushtotalk.py
  7. Naciśnij klawisz Enter i spróbuj wpisać zapytanie.

    Na przykład:

    Ustaw jasność na 65%.

    Zmień kolor na niebieski.

Następny krok

Rejestrowanie niestandardowych działań na urządzeniu