Automateit pro

OC Windows завоевала популярность в первую очередь благодаря удобному и понятному интерфейсу. Но если обычный пользователь от этого только выиграл, то для админа кнопочное управление имеет множество неудобств. Конечно, часть задач можно решить за счет консольных команд и скриптов, но далеко не все. И здесь на помощь приходят специальные средства автоматизации.

AutoIt

Одним из самых популярных средств автоматизации у админов является AutoIt (autoitscript.com/autoit3), моделирующий нажатия клавиш, щелканье мышкой и другие подобные действия, которые обычно выполняет пользователь при работе в GUI-приложениях.

Используя AutoIt, все эти движения можно запрограммировать при помощи BASIC-подобного языка. Программа умеет управлять процессами, обращаться к Windows API и DLL, реестру, буферу обмена, файлам (чтение, изменение, удаление), создавать GUI, сообщения, формы для ввода данных, работать с БД (MySQL и SQLite), читать HTML-код, скачивать файлы, отправлять е-mail и многое другое. В общем, все зависит исключительно от желания возиться с настройками. Отрадно, что AutoIt не требует от админа навыков программирования. В скриптах можно легко получить доступ к управляющим элементам окон, написав всего пару строк кода. Однако следует помнить, что AutoIt без проблем работает со стандартными окнами Windows. Если же авторы позаботились об уникальности интерфейса, с настройкой AutoIt придется немного попотеть, чтобы найти нужные параметры.

Поддерживает Windows от 95 до 2k8, в том числе работает и в 64-битных версиях системы, «дружит» с вистовским UAC. Удобно, что сценарии можно скомпилировать в exe’шник и затем выполнить на другой машине. Никаких дополнительных приложений и библиотек при этом не требуется.

Распространяется AutoIt под freeware-лицензией, разрешающей его использование без ограничений, в том числе и с коммерческой целью. Установка стандартна, каких-либо дополнительных требований нет. Текущей версией является 3, которая несовместима по синтаксису с предыдущей, второй версией. Программа поставляется вместе с редактором скриптов SciTE4AutoIt3, утилитой проверки синтаксиса AU3Check.exe, готовыми примерами, компилятором Aut2Exe (и обратным Exe2Aut) и справкой. Во время установки расширение *.au3 будет сопоставлено с интерпретатором AutoIt.

Язык сценариев, применяемый в AutoIt — это одна из его сильных сторон. Он одновременно мощный и простой. Например, чтобы запустить программу, достаточно написать:

Run(«calc.exe»)

Все, больше никаких действий. С помощью AutoIt очень удобно автоматизировать процесс установки приложений, которые не поддерживают файлы ответов. Чтобы отлавливать окна, для ввода параметров обычно используется функция WinWaitActive, которая прерывает выполнение скрипта до момента активации окна. В качестве параметров функции следует указать заголовок окна и опционально дополнительный текст. Последнее позволяет отличать разные окна одной программы друг от друга. Например, окна инсталлятора самого AutoIt содержат один и тот же заголовок — AutoIt v3.3.6.1.5, то есть, если использовать:

WinWaitActive(«AutoIt v3.3.6.1.5»)

Эта конструкция будет соответствовать всем шагам инсталлятора. Поэтому лучше уточнить, введя дополнительный текст, который высвечивается в окне, например:

WinWaitActive(«AutoIt v3.3.6.1.5», «License Agreement»)

Так мы однозначно обратимся к окну лицензионного соглашения. Осталось лишь отправить ему подтверждение: Send(«!y»)

Как видишь, все просто. Вместе с программами устанавливается также утилита AutoIt Window Info Tool (AU3Info.exe), которая как раз и поможет тебе получить всю инфу по заголовку окна, тексту (отображаемому и скрытому), строке статуса, расположению, цвету и так далее. Просто запускаем и наводим крестик на окно, после чего в Window Info Tool считываем все значения. С его помощью собрать нужные сведения по окну подопытной программы значительно проще. Справка в AutoIt очень подробная, в ней есть все тонкости по использованию языка. В документации на сайте проекта найдешь ссылку на переведенную версию справки. Плюс на многочисленных профильных форумах обычно присутствует отдельная ветка. Какихлибо проблем в изучении AutoIt быть не должно, за один вечер можно научиться писать простые скрипты, сложные решения потребуют, естественно, больших временных затрат.

Xstarter

Еще одна популярная программа для автоматизации рутинных задач сисадмина. Разработчиком является наш соотечественник, Гилев Алексей (xstarter.com/rus), соответственно, xStarter имеет локализованный интерфейс, и самое главное — для русскоязычных пользователей программа распространяется бесплатно.

После установки xStarter может запускаться вручную, автоматически при входе пользователя в систему или стартовать в качестве сервиса Windows. Последний вариант позволяет запускать задание в точно указанное время, вне зависимости от регистрации пользователя в системе и других факторов, лишь бы был включен компьютер. Предлагается периодическое выполнение заданий, составное расписание, установка пропусков и действий для пропущенных заданий, запуск по событию. В общем, вариантов хоть отбавляй. Используя xStarter, можно расширить перечень горячих клавиш или переопределить их значения глобально или локально. Например, легко можно сделать так, чтобы задача выполнялась при нажатии комбинации клавиш <Ctrl+D>, но только в том случае, если запущен Firefox.

Запущенная программа помещается в трей, щелчком по значку вызываем редактор заданий. В окне Секции/Задачи найдем два десятка примеров, как говорится, на все случаи. Включенные задачи помечаются зеленым значком.

Выбираем наиболее близкий по смыслу (или создаем новую задачу), копируем при помощи контекстного меню и редактируем под свои нужды. Каждая задача настраивается в четырех вкладках. Так, во вкладке «Расписание и информация» указываем название задания, время или событие, при котором оно будет запущено, комбинацию клавиш и опционально активное окно программы, при появлении которого должно быть выполнено задание. Во вкладке «Действия» прописываются собственно макросы. Нажимаем «Новое действие» — появляется окно настройки параметров. В левой части находим предустановки, разбитые на несколько групп, затем уточняем параметры в правой части. Остальные вкладки задания позволяют настроить переменные, установить приоритет, запуск в отдельном процессе, журналирование. Все очень просто и понятно.

Для активации заблокированных функций следует дополнительно установить модуль xStartHooks. В этом случае xStarter поведет себя как типичный трой или зловредный софт — начнет перехватывать системные вызовы, «нажимать» клавиши и отсылать сообщения, что может не понравиться антивирусам и файерам. Но с некоторыми антивирями (например, NOD32) это решается легко, достаточно добавить xStarter в исключения.

Для удобства макросы можно компилировать в exe-файл, сюда же при определенных установках могут автоматически добавляться все необходимые библиотеки. Затем такие файлы распространяем на другие системы и выполняем.

Осталось добавить, что поддерживаются все ОС Windows от NT4 до 2k8/7.

На форуме проекта можно найти примеры некоторых популярных задач, среди которых закачка файлов, отправка SMS и e-mail, бэкап и синхронизация данных.
Также на сайте доступна специальная версия Starter Job Scheduler for Firebird/Interbase, она предназначена для выполнения SQL-скриптов, бэкапа и восстановления данных в этих СУБД. Еще одна уникальная возможность — удаленное управление запуском задач, а также просмотр журнала при помощи специального приложения xStarter Web Pilot.

Automate

Наверное, самой известной коммерческой программой для автоматизации задач является AutoMate, разрабатываемой компанией Network Automation, Inc (networkautomation.com). Главная ее особенность — создание задач при помощи удобного GUI, без необходимости в написании кода. Весь процесс упрощен за счет использования мастеров и специального редактора задач Task Builder. Программа содержит большое количество готовых шаблонов действий и реакции на них, что еще более упрощает процесс создания цепочки действий. Актуальная на момент написания статьи версия AutoMate 7 поддерживает более 230 предустановленных действий, позволяющих планировать задачи, работать с файлами и БД, передавать данные по FTP/SFTP, шифровать с помощью PGP, мониторить системы, получать доступ к WMI и многое другое.

AutoMate доступна в четырех редакциях, все они ориентированы на определенное использование: AutoMate Professional и Premium, AutoMateBPAServer 7 Standard и Enterprise. Самая простая — AutoMate Professional — обеспечивает удобный интерфейс для создания задач на локальной системе. Самая продвинутая — Enterprise — предоставляет возможности по простому управлению учетными записями и ролями, работе в AD, предусмотрено централизованное управление несколькими машинами, поддержка SNMP, эмулятор telnet и терминала.
Поддерживаются все ОС Win от XP SP2 до 2k8/7. Для установки понадобится платформа Microsoft .NET Framework версии 3.0.

Собственно управление осуществляется при помощи двух консолей — Task Builder и Task Administrator. В Task Builder создаются задания. Этот процесс довольно прост: в панели слева из 29 доступных групп выбираем нужное действие и переносим мышкой в среднее поле. Появляется мастер, который поможет уточнить настройки. Например, создадим действие, позволяющее получить данные по разделу жесткого диска. Переходим в меню System –> Get Volume Information, появляется одноименный мастер, состоящий из четырех вкладок.

Нам нужно последовательно пройти и выбрать параметры в каждой из них. В General указываем раздел диска и параметры, которые хотим получать: тип, метка, файловая система, место. Как вариант, можно сразу указать выбор всех разделов (All volumes) и затем, нажав значок рядом с полем, задать условие проверки. Программа предоставляет ряд встроенных переменных, функций и триггеров, которые можно использовать в этом поле. Также можно создать свое условие. В других вкладках задается описание задания и действие при ошибках.
После того, как создали задание, оно появляется в списке посередине, где его можно редактировать, перемещать, отключать и так далее. Далее аналогичным образом выбираем и заносим другие Actions. Для отладки в задание можно добавить точки останова (Breakpoint, <F8>).

Для управления всеми задачами, как на локальной, так и удаленной системе, предназначен Task Administrator. Выбрав в нем любую задачу, можем просмотреть ее свойства, активировать или создать новую задачу. В свойствах заданию предписываются триггеры, приоритет, защита, учетная запись, от имени которой оно будет выполнено. Настроек много, они очень разнообразны. Задачи сохраняются в файлах с расширением *.aml.

AutoHotkey

Программа AutoHotkey (autohotkey.com) является форком AutoIt v2. Ее автор, Крис Маллетт, предложил добавить в AutoIt поддержку горячих клавиш, но идея не нашла отклика, и в результате в ноябре 2003 года вышел Initial release. В отличие от родительского продукта, AutoHotkey доступен по лицензии GNU GPL.

Синтаксис языка основан на AutoIt v2, некоторые идеи взяты из v3. С его помощью можно легко автоматизировать повторяющиеся задачи: запуск программы, отправку почты, редактирование реестра. Поддерживается работа с файлами, симуляция нажатий кнопок мыши, есть возможность создания GUI. Программа может отслеживать системные события и выполнять действия при их наступлении.

Но фишкой AutoHotkey является управление горячими клавишами. Например, чтобы запускать калькулятор комбинацией <Win+C>, пишем всего одну строку:

#c::Run calc

Значок решетки «#» соответствует клавише <Win>. Документация весьма подробна (перевод доступен по адресу www.script-coding.info/AutoHotkeyTranslation.html), в ней отражены все особенности языка. Кроме собственно интерпретатора, проект предлагает утилиту для создания GUI — SmartGUI Creator и редактор SciTE4AutoHotkey, имеющий подсветку и автодополнение кода.

Скрипты (расширение *.ahk) можно скомпилировать в exeфайл и выполнять на любом компьютере.

Автоматическая установка Firefox с помощью AutoIt

AUTOMATION ANYWHERE

Разработка калифорнийской компании Tethys Solutions, LLC (automationanywhere.com) уже заслужила признание админов и отмечена наградами различных медиа-изданий. С помощью Automation Anywhere можно легко автоматизировать любые повторяющиеся операции, как простые, так и сложные, не прибегая к программированию.

Сразу скажу, продукт очень серьезный и имеет огромное количество возможностей. Программа умеет работать с файлами, отправлять почту, запускать задачи по плану или при срабатывании триггера, использовать скрипты VBS и JavaScript и многое другое. Технология, получившая название «SMART Automation Technology», избавляет админа от необходимости быть еще и программистом. Запись можно производить в автоматическом режиме, когда компьютер записывает все действия пользователя. В дальнейшем такое задание сразу или после редактирования можно «прокрутить» на других системах, наблюдая, как мышка сама бегает по экрану и нажимает кнопки. Программа предлагает два рекордера: Object Recorder для настольных приложений и Web Recorder для записи последовательности действий в веб-браузере.

Причем Web Recorder в последней версии программы поддерживает все основные технологии, используемые в веб: Java, JavaScript, AJAX, Flash, фреймы. Процесс весьма прост: запускаем Automation Anywhere, выбираем рекордер, и программа начинает записывать все действия пользователя. Для остановки следует нажать комбинацию <Alt+Ctrl+S> или щелкнуть на значке «Stop» в плавающем окне внизу экрана. По окончании процесса программа предложит сохранить запись в файл (расширение *.atmn). Редактирование, а также ручное создание задания производится при помощи Task Editor.

Разработчики уже заложили в программу несколько шаблонов заданий, которые можно использовать как примеры. Редактирование записанного задания также не требует знания кода. Нажав кнопку Edit, мы увидим всю последовательность произведенных на экране действий (движения мышкой, нажатие клавиш).

В левом окне редактора показываются предопределенные команды, разделенные по категориям, которые можно добавить в задание. Здесь есть все: работа с файлами и каталогами, бэкап, таблицы Excel, подключение к интернету, отправка e-mail, захват изображения рабочего стола, запуск/останов сервисов. Выбираем нужное задание и просто перетаскиваем его в правое окно. Сразу же открывается окно редактирования свойств, в котором заполняем предложенные параметры (для каждого пункта они специфичны). Редактор поддерживает дополнительные скрипты, работу с переменными, отладку и многое другое.

Созданное задание можно экспортировать в исполняемый файл и распространить на другие системы.

Задание может стартовать по времени или при срабатывании триггера, это поведение настраивается в Trigger Manager, здесь можно выбрать: запуск окна с определенным текстом, появление файла в каталоге, загруженность ресурса (CPU, память, свободное место), старт/стоп процесса или сервиса, получение определенного e-mail. Не забыли разработчики и о безопасности — Automation Anywhere позволяет защитить скрипт паролем и зашифровать.

В общем, все, что нужно, в программе есть, не хватает разве что локализации. Поддерживает Automation Anywhere все версии Windows: от XP до 2k8/7.

На самом деле программ для автоматизации рутинных задач значительно больше. Платные версии отличаются большим удобством и дружелюбным интерфейсом, возможностью работать в сетевой среде. Хотя, в зависимости от подготовки и желания возиться с настройками, можно обойтись и бесплатными программами вроде xStarter, AutoIt или AutoHotkey.

Стандартный планировщик заданий Windows

В Microsoft наконец поняли необходимость наличия нормального планировщика, и, начиная с Vista, в системе появился улучшенный Task Scheduler (Администрирование .. Планировщик заданий, или taskschd.msc) — существенно переработанный по сравнению с предыдущими версиями. Его интерфейс позволяет подключиться для настройки к другому компьютеру, создать (простой и расширенный ва риант) или импортировать задачу. Так, основными элементами задания стали триггеры (Triggers), действия (Actions), условия (Conditions) и параметры (Settings). Триггер определяет, когда и по наступлению какого события запускать задачу: по времени, при включении компьютера, входе в систему, появлении события в журнале. В последнем случае необходимо указать журнал, где будет отслеживаться событие, источник и код события.

Условия и параметры уточняют суть задания, а действие определяет, что собственно можно сделать (запустить прогу, отправить сообщение). Возможность отложенного запуска задания позволяет оттянуть старт в тех ситуациях, когда его немедленный запуск неприемлем (например, высокая загруженность системы). Условия задают другие варианты выполнения задания, например, во время простоя компьютера.

  • Android-приложение MacroDroid, версия: 3.9.17, цена: бесплатно, полная редакция — 2,5 евро

Лет, наверное, пять назад мне понадобилось, чтоб телефон в определенных местах сам снижал громкость до 30%. Именно тогда я связался с Tasker’ом. Спустя пару месяцев я осознал, что это ни разу не программа и уж, тем более, не средство оптимизации — самое емкое определение, что я услышал, — «проблемно-ориентированный язык». Да, сделать можно почти все, но при этом мозг может не просто закипеть, а еще и вытечь… По крайней мере, мне тогда так казалось. Еще спустя пару месяцев, когда старенькая Sony Sola уже автоматически начала формирование Скайнета, я Таскер удалил — «во избежание», так сказать… я с детства считаю восстание машин не научной фантастикой, а реальной угрозой.

И вот сейчас я вновь связался с этими всеми автоматизациями на телефоне. Связался не просто так, а с конкретной целью: браслет Honor Band 3 в работе с уведомлениями несколько ограничен, а благодаря программке удалось заставить его не просто принимать нужные мне сообщения, но и прогноз погоды выводить. А дальше была простая мысль: если программа стоит, то почему бы ей не делать что-то еще… И тут понеслось.

Итак, MacroDroid.

Как и любой аналог (а их хватает — мне просто этот под руку попался в свое время), изначально поставляется в бесплатной редакции с возможностью покупки. Отличается бесплатная версия ограничением на количество правил (максимум — пять) да наличием рекламы. Как по мне — лучше купить сразу (цена — 200 р. приблизительно). Ну да начнем…

Говорить о триггерах, макросах, активитях и прочей лабуде не будем — скушно, грустно и уныло — кому нужно, и так знает. Ограничимся лишь пониманием: триггер — «когда», действие — «что», ограничение — «где» (условно говоря). А под словом макрос здесь понимается именно наш алгоритм (правило, если хотите, — тут уж каждый разработчик изощряется в названии одних и тех же вещей).

Так вот, для выполнения простых вещей ни о каких настройках даже знать не нужно — все интуитивно понятно. Простой пример — отключение экрана при взмахе телефоном. Так, у нас банальное условие из списка — «Тряска», и банальное действие — «Отключение экрана». Для таких вещей нам даже рут-доступ не нужен.

Собственно, вместо взмаха может быть что угодно: нажатие наэкранной кнопки, активация виджетом, набор конкретного номера телефона… не важно.

Можно наоборот, «тряску» оставить, а повесить не выключение экрана, а включение фонарика (только выбрать лучше не включение фонарика, а переключение состояния — иначе как отключать-то будем?), таким вот простым ходом добавим обычному телефону фирменную штуку Моторол.

Или другой пример: при сопряжении с блутуз-колонкой, запускаем плеер и начинаем играть музыку, а при выключении колонки, наоборот, программу выключаем, а блутуз отключаем — тоже элементарные вещи, не требующие какой-либо фантазии. Только понадобится два макроса: один на подключение устройства, второй — на его отключение.

Но для превращения телефона в нечто с названием «смарт», нужно-таки убедиться в нескольких вещах в настройках. Собственно, все они связаны с фоновой работой. Так, в первую очередь, нас интересует работа в фоновом режиме.

А во вторую — отключение энергосберегающих функций телефона для программы, исключения Doze и прочие аналогичные штуки. Как правило, находится это по пути «Настройки телефона» — «Батарея» — «Энергосбережение».

Либо в «Менеджере телефона», если говорим о китайских брендах да Самсунгах.

Вообще, в настройках программы можно покопаться подробнее — здесь настраивается собственная электронная почта (зачем — далее), частота опроса датчиков, мобильных сетей, и прочего. Логика проста: чем чаще опрос — тем сильнее садится батарея (хотя никакого существенного увеличения потребления батареи не замечено).

Но вернемся к программе и ее возможностям…

Предлагаю вспомнить (себе), с чего все началось… Так вот, МакроДроид умеет считывать любые уведомления любых приложений, создавать свои с любым текстом, и очищать это все. Казалось бы — ничего важного. Но если это в нужное русло…

К примеру, программа снимает показания батареи и при достижении определенного параметра (абсолютно любого — которое нравится нам, а не системе с ее фиксированными показателями «низкого заряда»), на полсекунды (буквально, на наш выбор время задаем) выводит уведомление и тут же его удаляет.

По факту пользователь даже не замечает активности, но приложение браслета фиксирует получение уведомления и выводит эту информацию.

Вместо браслета можно задать иные действия: уведомлять о разряде каждые 10%, или при достижении 30% разряда — снижать яркость и отключать Вай-Фаи и ЖПСы. Примечательно, что МакроДроид в состоянии понять, 30% достигнуты в результате разряда или заряда — т.е. батарея разряжается или, наоборот, заряжается, а это, как понимаем, открывает новые возможности.

Кстати, о браслете и прочих носимых устройствах. Очень часто смартфоны Сяоми блокируют доступ к уведомлениям СМС и прочих мессенджеров, иногда это обходится просто, иногда — сложно, но одним из способов является как раз перехват этих событий именно МакроДроидом.

Думаю, немного можно отвлечься — посмотрим картинки с разными событиями и действиями (просто так, чтоб немножко понимать — по факту этого добра намного больше).

Обратили внимание на наличие условий времени и «восхода/заката»? А никогда не задумывались, как автоматизировать включение затемнения экрана ночью? А тихий режим включать в то же время? А все в одном если? А индикатор уведомлений не раздражает ночью миганием? Если мысли посещали, то решить их все одним махом можно минуты за полторы…

Конечно, есть специализированные решения, но они зачастую платно-рекламные, да и зачем плодить лишние программки. При этом, можем даже конкретные дни задать (мне на выходных такое не нужно — там ночь наступает слишком непредсказуемо).

Вообще, мне программа нужна в первую очередь для блокировки экрана (ну не нравится кнопкой блокировать). Вот и настроено несколько сценариев.

Я кладу телефон между подлокотником дивана и его подушкой. Вот настроил: если телефон именно на правом или левом боку (и никак иначе) и датчик приближения близко — экран блокируется.

Или вот просто повернув телефон экраном вниз, мы так же его блокируем. Но как быть, если мы пользуемся экраном как фонариком? Отказаться от функции? Можно и отказаться… а можно добавить ограничивающий фактор в виде показаний датчика освещенности: ноль и близкие значения — значит темно.

Просто же: если освещение отсутствует — блокировать не нужно. Ограничения, кстати, работают с привычными логическими операторами.

Моя личная гордость — сбыча давней мечты — управление взмахами! Вот лежит телефон на столе, а я такой над ним рукой взмахнул, а экран зажегся! Время глянуть, уведомления проверить…

А потом еще раз взмахнул — а он погас! Ну шаманство же, а! А самое интересное — ложных срабатываний — ноль, а экран загорается, благодаря корректно подобранным ограничивающим факторам, только когда телефон лежит горизонтально экраном вверх.

Можно пойти дальше, и к тем же условиям добавить входящий вызов… Уже понятно, да? Несколько лет назад было несколько раскрученных программ таких — автоматическое включение громкой связи по взмаху. Так и здесь: рукой взмахнули, если телефон на столе во время вызова — автоответ плюс громкая связь, взмахнули еще раз — отклонение вызова.

Во время еды, между прочим, удобно… Да и вообще, если руки заняты, а поговорить нужно (ну и посторонних если не видать).

Здесь вот что важно — задать правильное ограничение — телефон должен при одном и том же базовом условии (быстрое движение над датчиком приближения) в разных вводных данных выполнять разные действия. Так, если телефон не звонит и экран не включен — то включится экран; если экран включен — наоборот, выключится. Если же телефон и лежит и звонит — тогда ответ и громкая связь, а если и лежит, и вызов и громкая связь уже включена — тогда отбой вызова. Словом, — правильно заданный вопрос — наполовину полученный ответ (как-то так).

А вот вопрос: никогда не видели фирменную фишку Ифонов? Мигание вспышкой во время звонка которая. Так вот, для этого никаких сторонних программ (есть и такие, ProfReminder тому пример) не требуется: условие — банальный входящий звонок, а вот с действием придется подумать… Подумать придется не много — достаточно вспомнить из базовой информатики понятие «цикл» и его использовать, а в теле цикла прописать задержку и фонарик. Как вы уже, наверное, догадались, задержка и длительность горения вспышки может быть любая — может мигать как стробоскоп, а может и раз в пару секунд.

А что будет, если вместо «Входящего» вызова использовать «Пропущенный вызов»? Да — то самое использование вспышки в качестве индикатора уведомлений (если таковой отсутствует в телефоне или просто не нравится).

А вот еще штука для наивных параноиков — антивор. Сразу говорю: сценарий наивен до жути, и может применяться исключительно как показатель возможностей.

Так вот, предположим плохое — телефон спионерили. Мы тут же отправляем СМС с заданным текстом, в моем примере «GPS». Чтобы исключить шутки и розыгрыши — задаем конкретный номер, который будет выступать активатором.

В ответ программа на заданную электронную почту (можно СМС или еще каким способом) отправляет свои координаты и время их фиксации (мало ли — вдруг последний GPS-сеанс был час назад), после начинает играть песню «Все пройдет» группы «Вирус» (играет собственными средствами, нигде нет никакой возможности ее отключить, вообще никакой!) на максимальную громкость. И запускается таймер в 5 секунд… В этот момент, злоумышленник в панике достает телефон и смотрит на него с целью отключить эту «пестню», и тут, эти самые пять секунд истекают и программа делает фоновый снимок передней камерой, и тут же отправляет его по электронной почте (а почту мы настроили в начале отзыва). А спустя еще пять секунд отключает воспроизведение (это я уже забочусь о воре — «Все пройдет» вполне может использоваться в качестве оружия массового поражения живой силы врага), можно и не отключать — пусть мучается…

Вот в таком виде получим сообщения:

Кстати, в приложении реализован мощный потенциал переменных — автоматически может быть передана тем или иным способом абсолютно разная информация: погода, состояние батареи, буфер обмена, статус будильника, код оператора сети, собственная переменная любого содержания.

Нет, я прекрасно понимаю, что телефон будет отключен, как и интернет… Потому я сразу сказал — сценарий наивен и нереалистичен, но ведь можно другое условие придумать… Ошибка ввода пароля, к примеру, или еще чего — все от фантазии зависит.

Из простого и банального — помню, на каком-то Qtek пользовался озвучиванием времени… Так и сейчас, например, на двойное (или тройное, или четверное) нажатие медиакнопки, телефон нам скажет время. Или погоду. Или заряд батареи. Или любой иной заданный текст. Конечно же, для этого используется родной «движок» TTS телефона — все без фантастик. Работа с текстовым «движком» реализована очень неплохо.

Вот вам пример еще один… Мы в наушниках, слушаем музыку, поступает входящий вызов… хорошо бы узнать, кто звонит, потому как зима за бортом, телефон далеко, и в случае большинства звонящих — пусть летом перезвонят. Так вот, можно сделать все крайне просто: «Входящий вызов» — «произнести контакт». Но в такой реализации голос пойдет поверх мелодии, в том числе из динамика телефона, а во-вторых, внезапно сказанное имя и пропустить можно. Неудобно, словом. Потому, опять же, думаем… Первое, нужно привлечь внимание, соответственно некоторое время пусть играет обычный сигнал, скажем — 3 секунды. Второе, создаем идеальные условия для слышимости имени: глушим в ноль канал рингтона, и накручиваем на максимум голосовой канал.

Третье, запускаем речь по голосовому каналу (рингтон молчит, динамик телефона молчит, в наушниках идет нужное имя).

В завершение, спустя секунду восстанавливаем громкость рингтона, и он вновь играет. Благодаря такой реализации имя вызывающего слышим только мы в наушниках, и оно не накладывается на проигрываемую мелодию.

Еще одна моя крайне насущная проблема вполне может решиться простейшим набором действий. У меня довольно часто телефон сам звонил кому-то из кармана, а если и не звонил, то лез в настройки, в камеру, что-то делал и жил своей жизнью. Конечно, в приличных телефонах есть режим защиты в кармане, но далеко не всегда он корректно работает, да и присутствует тоже не так уж и часто. Так вот, банальный набор-связка «Разблокировка телефона + Датчик приближения близко» значительно облегчает жизнь. Чтоб во время разговора ничего не блокировалось, когда не нужно, — дополним «Не во время звонка». И все… Теперь телефон разблокирует экран и проверяет датчик, если он в положении «близко» (а это значит только одно — телефон лежит где-то), то экран тут же гаснет. Все гениальное просто…

Работает программа и с файлами. Придумать реализацию копировать/вставить я пока не смог, но вот включить логирование вызовов — да. Но пошел сложным путем: первый шаг — макрос запускает таймер, считающий продолжительность звонка, второй макрос — создает файл в заданном нами месте и наполняет его нужной информацией.

В моем случае: номер, имя, дата, время, продолжительность. Файл остается на телефоне, при необходимости, он автоматически может быть куда-нибудь отправлен.

Очень часто что-то идет не так, и тупо не работает. Для этого имеется простой лог-отладчик, где простым языком излагаются события, и отследить, где именно это самое что-то идет не так, довольно просто. Кроме того, всегда есть возможность протестировать итоговые действия — корректно ли в принципе их телефон обрабатывает.

Знаете что, для всего вот этого не нужны дополнительные модули — все штатный функционал (кроме отключения индикатора — единственный дополнительный элемент скачать придется).

Для продвинутых пользователей МакроДроид предложит добавить модули Таскера и Локали, которые в большинстве своем абсолютно совместимы.

А для самых продвинутых — заняться перехватом интентов (я не буду на сем останавливаться — опять же, кто знает, тому мои слова покажутся наивным бредом, кто не знает — бредом заумным), но факт есть факт — даже если в программе явно отсутствует действие, это вовсе не значит, что реализовать это невозможно в принципе.

Вообще, программа не лучшая в своем классе, не самая совершенная и продвинутая — ее главное достоинство — простота. В этом кроется и главный ее недостаток. Вот, к примеру, нельзя настроить уже упомянутую «Тряску»: нельзя задать чувствительность, длину взмаха, направление его, количество взмахов. Вроде мелочь, но именно из-за этого нельзя сделать гениальную вещь — активация экрана при подъеме телефона (со стола, из кармана — не важно). А вот Таскер это умеет. Но, с дополнительными плагинами по включению экрана…

Tasker, в принципе, штука универсальная и, пожалуй, эталонная. Единственное, что меня останавливает от его использования, — сложность. Нельзя взять и вот сразу сделать что хочешь, а на «разбираться» у меня со временем не столь хорошо, а вот если кто уже им пользуется, то мне кажется, найти ничего лучше не удастся.

Вторая популярная вещь — IFTTT. Здесь уже подход совершенно иной: основной упор делается на сотню готовых модулей, которые можно активировать одним тапом. Не нужно даже понимать принцип — описание почитали, переключатель активировали и радуемся. Но знание английского необходимо.

Можно и вручную, конечно, но, опять же, мне кажется, функционал программы больше относится к «программно-сайтовой» части, чем к «железной». Например, в IFTTT очень просто организовать отправку текста входящей почты в события календаря — в МакроДроиде я это не осилил.

Мнение

MacroDroid мне понравился. В первую очередь своей простотой и интуитивной понятностью. Вообще, создание любого сценария (макроса) отнимает очень немного времени — нужна лишь фантазия. Не нужно никаких специфических знаний или навыков — все элементарно.

Если же идей нет — огромная база уже готовых макросов доступна прямо из программы! Все макросы бесплатны! Полностью. Никаких платежей. Если совсем все плохо — на форуме 4PDA на удивление отзывчивая аудитория…

Можно поделиться своим, ну так, просто для удовлетворения потребностей самореализации.

А можно все забэкапить, что очевидно, но что не очень очевидно — этот бэкап можно восстановить на любом телефоне с МакроДроидом и не самому вот это все делать, а пользоваться уже готовым.

Вот, к примеру, все приведенные мной макросы.

Как бы то ни было, но я вот для себя считаю эту программку одной из самых полезных находок, которая не только дополняет телефон штуками «флагманскими», но и делает его использование намного удобнее. Но, при этом, не стоит и забывать о наличии и гораздо более мощного аналога (Tasker), и десятка практически аналогичных конкурентов: Automagic * Automation, AutomateIt — Smart Automation, E-Robot, Automate, — быть может, если не понравился один, то вполне подойдет другой.

Гординский Олег

Используемое автором устройство: Xiaomi Mi5

Оставьте комментарий