vashal

 
<<< Back

Алиса, заведи машину!

Учимся заводить машину через Яндекс.Станцию посредством модулей Pandora и Yandex Home.

"Как запустить машину через Алису?" - наверно наиболее часто задаваемый вопрос у тех, кто установил себе модуль Pandora. Что греха таить, модуль и был написан именно с этим умыслом: заводить машину голосом.
Для начала, создаем в Объектах класс, например Automobile со всеми необходимыми свойствами. Свойство для старта двигателя называем, к примеру StartEngineCommand. Создаем в классе машину.
В модуле Pandora привязываем команду на запуск двигателя к свойству машина.StartEngineCommand.
Далее в модуле Yandex Home создаем объект с именем машины и привязываем включить/выключить к нашему свойству машина.StartEngineCommand.
После этого синхронизируем в приложении Умный дом Яндекс на смартфоне устройства, видим наше новое устройство. Теперь по имени авто можно уже завести машину. А можно создать сценарий в приложении яндекса, который по любой фразе, например, "Заведи машину", будет заводить вашу машину.
Еще есть вариант, когда машина не под охраной и она не заведется. Поэтому для начала надо ее поставить на охрану.
Для этого надо создать еще три свойства 1 - свойство для статуса охраны, например secure, к которому привязываем метрику "Под охраной", 2 - свойство для запуска двигателя, например engineControl, к которому привязываем команду запуска двигателя и 3 - свойство secureControl, к которому привязываем постановку/снятие с охраны (все это в модуле Pandora). А для свойства StartEngineCommand в настройках класса Automobile создаем привязанный метод StartEngineCommand.
Теперь при команде от Яндекса запускается метод, в котором мы пишем следующее содержание:

if(getGlobal("машина.secure")){ //если машина в охране
 setGlobal("машина.engineControl", 1); //отправляем в привязанное к запуску двигателя свойство 1
}
else{ //если машина не в охране
 setGlobal("машина.secureControl", 1); //ставим на охрану
 setTimeOut('StartEngine','setGlobal("машина.engineControl", 1);', 5); //запускаем таймер на 5 секунд, чтобы машина успела встать на охрану, после чего отправляем команду на старт двигателя
}

В итоге, при получении команды, MajorDoMo сперва проверяет, в охране ли машина, и, если нет, ставит на охрану и запускает двигатель.

Discuss (0) (1)

See also:
2024-12-06 Установка zigbee2mqtt
2024-06-27 Есть ли жизнь на PHP8?
2022-12-07 Управление гирляндами Twinkly
2022-09-29 PHP cURL на Windows и штатной установке
2020-02-15 Конфиг nginx
2019-06-13 gps-trace.ru

Иркутск, Россия

На форуме: V.A.S.t