Учимся заводить машину через Яндекс.Станцию посредством модулей 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 сперва проверяет, в охране ли машина, и, если нет, ставит на охрану и запускает двигатель.
Иркутск, Россия
На форуме: V.A.S.t