Вы можете добавить в модель вашего устройства столько характеристик, сколько пожелаете. Эти характеристики не привязаны к одному типу устройства, вы можете использовать их по своему усмотрению.
Это процесс добавления любого признака и обработки входящей команды:
Определите, какую черту вы хотите добавить.
Откройте файл
pushtotalk.py
.cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
Добавьте следующий блок кода под существующий, который обрабатывает команду
action.devices.commands.OnOff
(не удаляйте существующий блок кода).@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.')
Найдите необходимую информацию для каждой переменной в приведенном выше блоке кода.
command-name
Перейдите на страницу конкретного признака из шага 1 (например, ColorTemperature ). Используйте команду из таблицы КОМАНДЫ УСТРОЙСТВА . my-function
Назовите свою функцию-обработчик как хотите. parameter-name
Посмотрите еще раз на таблицу КОМАНДЫ УСТРОЙСТВА на странице характеристик. С каждой командой связан один или несколько параметров. Они перечислены в разделе "params"
в JSON-запросе EXECUTE. Используйте точное имя параметра. Обратите внимание, что некоторые из этих параметров являются объектами, содержащими другие параметры — просто используйте объект верхнего уровня.conditional
Вам не обязательно использовать условие в коде обработчика, но это может помочь дифференцировать способ выполнения команды на устройстве. Вот несколько примеров черт Brightness и 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')
Обновите модель устройства , указав признак, добавленный на шаге 1.
Запустите измененный исходный код.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
python pushtotalk.py
Нажмите клавишу Enter и попробуйте выполнить запрос.
Например:
Установите яркость на 65%.
Сделайте его синим.