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

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

Oto proces dodawania dowolnej cechy i obsługi przychodzącego polecenia:

  1. Określ, którą cechę chcesz dodać.

  2. Otwórz plik hotword.py.

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    nano hotword.py
  3. Dodaj ten blok kodu do obecnego bloku kodu, który obsługuje polecenie action.devices.commands.OnOff (nie usuwaj istniejącego bloku kodu).

    if command == "action.devices.commands.command-name":
        if params['parameter-name']:
            if conditional:
                print('Something happened.')
            else:
                print('Something else happened.')
    
  4. Znajdź informacje o każdej zmiennej w powyższym bloku kodu.

    command-nameOtwórz stronę właściwości z kroku 1 (np. ColorTemperature). Użyj polecenia z tabeli POLECENIA urządzenia.
    parameter-nameSpójrz jeszcze raz na tabelę POLECEŃ na urządzeniu na stronie cech. Z każdym poleceniem powiązany jest co najmniej 1 parametr. Są one wymienione w sekcji "params" w pliku JSON żądania EXECUTE. Użyj dokładnej nazwy parametru. Pamiętaj, że niektóre z tych parametrów to obiekty zawierające inne parametry – użyj obiektu najwyższego poziomu.
    conditionalNie musisz stosować trybów warunkowych w kodzie modułu obsługi, ale pomocne może być rozróżnienie sposobu wykonywania poleceń na urządzeniu.

    Oto kilka przykładów cech Jasność i ColorTemperature:

    if command == "action.devices.commands.BrightnessAbsolute":
        if params['brightness']:
            if params['brightness'] > 50:
                print('brightness > 50')
            else:
                print('brightness <= 50')
    
    if command == "action.devices.commands.ColorAbsolute":
        if params['color']:
            if params['color'].get('name') == "blue":
                print('The color is blue.')
            else:
                print('The color is not blue.')
    
  5. Zaktualizuj model urządzenia, dodając cechę dodaną w kroku 1.

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

    cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
    python hotword.py --device-model-id my-model
  7. Spróbuj zadać zapytanie.

    OK Google, ustaw jasność na 65%.

    OK Google, zmień kolor na niebieski.

Następny krok

Rejestrowanie niestandardowych działań urządzenia