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:
Określ, którą cechę chcesz dodać.
Otwórz plik
hotword.py
.cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
nano hotword.py
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.')
Znajdź informacje o każdej zmiennej w powyższym bloku kodu.
command-name
Otwórz stronę właściwości z kroku 1 (np. ColorTemperature). Użyj polecenia z tabeli POLECENIA urządzenia. parameter-name
Spó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.conditional
Nie 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.')
Zaktualizuj model urządzenia, dodając cechę dodaną w kroku 1.
Uruchom zmodyfikowany kod źródłowy.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library
python hotword.py --device-model-id my-model
Spróbuj zadać zapytanie.
OK Google, ustaw jasność na 65%.
OK Google, zmień kolor na niebieski.