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
pushtotalk.py
.cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Dodaj ten blok kodu do obecnego bloku kodu, który obsługuje polecenie
action.devices.commands.OnOff
(nie usuwaj istniejącego bloku 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.')
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. my-function
Nadaj funkcji obsługi dowolną nazwę. 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:
@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')
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/grpc
python pushtotalk.py
Naciśnij Enter i spróbuj wpisać zapytanie.
Na przykład:
Ustaw jasność na 65%.
Zmień kolor na niebieski.