Main

Использование событий Android-смартфона в Умном Доме

Для смартфонов и планшетов на платформе Android есть замечательное приложение Tasker, основная задача которого заключается в том, чтобы выполнять какие-то действия в качестве реакции на различные события. Эти события могут быть связаны как с коммуникционными функциями телефона (входящий звонок или сообщение), так и с большим количеством функций общего характера -- срабатывание будильника, вход в домашнюю Wi-Fi сеть и тому подобное. Домашняя страница. Обсуждение на 4PDA. К сожалению, программа платная, но она того стоит. Вы же хотите, что бы у вас был не только "Умный дом", но и "Умный телефон"?

Работа с программой Tasker состоит из двух частей. Во-первых, нужно сделать Задачу (Task), которая определяет то действие, которое должен выполнить телефон. Во-вторых, нужно задать Профиль (Profile), определяющий контекст, в котором данная задача будет выполнена. В профиле можно задать начальную и конечную задачу -- первая выполняется, когда профиль активируется, вторая -- когда профиль становится неактуальным. Например, профиль может описывать работу в домашней wi-fi сети, при этом первая задача выполнится, когда телефон к ней подключился, а вторая, когда телефон потерял с ней соединение.

Для интеграции с MajorDoMo создадим задачу, которая будет отправлять HTTP Post (или Get) запрос в систему, инициируя запуск тестового сценария под название testScript. Аналогичным образом можно сделать вызов метода какого-то объекта либо установку какого-то свойства.

Для запуска сценария нам нужно сделать запрос вида:

http://192.168.0.96/objects/?script=testScript

(вместо 192.168.0.96 должен быть адрес сервера, на котором работает MajorDoMo)

В программе Tasker создадим задачу под названием TestScript, в качестве действия выберем Сеть -> HTTP Post и настроим её так, как показано на картинках:

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

Далее, сделаем профиль для реакции на вход в домашнюю сеть. Выглядеть это в итоге должно приблизительно так:

Теперь телефон будет инициировать запуск тестового скрипта при подключении к домашней сети. Подобным образом можно сделать реакцию на любое другое событие, доступное в настройках приложения Tasker -- там их огромное количество: нахождение в определённой точке gps-координат, состояние батареи телефона, наличие рядом определённых wifi-сетей, запуск каких-то приложений на телефоне, звонок будильника и многое многое другое.

Возможные сценарии применения:

  • Автоматически включать освещение при появлении дома
  • Перевод систем в экономный режим при уходе из дома
  • Запуск "утренних" сценариев при срабатывании будильника
  • Напоминание о низком заряде батареи телефеона
  • Изменение громкости (постановка на паузу) аудио-системы при входящем звонке

Таким образом, телефон может быть отличным универсальным сенсором и инициатором сценариев Умного Дома.

Другие примеры использования

Ярлыки запуска задач

Создадим несколько ярлыков запуска сценариев на телефоне. Это удобно, так как позволяет быстро выполнить какое-либо действие. Например выключить звук или свет, создать напоминание или задачу, получить информацию. То есть то, что требуется не слишком часто, но лезть в меню - долго.

  1. Создадим в МЖД Сценарий с требуемыми действиями.
  2. В Tasker создадим задачу запускающую наш сценарий (см. выше).
  3. В Tasker откроем нашу задачу. В правом нижнем углу нажмем пиктограмму с клетками и выберем подходящую иконку.
  4. В Меню Андройда выберем закладку Виджеты и найдем виджет Задача(Task ShortCut).
  5. В открывшемся списке задач Таскера выберем созданную в п.2 задачу.

Теперь при нажатии на иконку нашей задачи на домашнем экране андройда, Алиса выполнит связанный с ней сценарий.

Сценарий соединения по Bluetooth

Создадим сценарий, запускающийся при соединении Bluetooth. Например магнитола в машине с Bluetooth. То есть теперь, когда мы садимся в машину - запускается сценарий МЖД.(Скрипт встречи дома, чаще отправлять координаты GPS,...)

  1. Создадим в МЖД Сценарии с требуемыми действиями BlueOn и BlueOff.
  2. В Tasker создадим задачу BlueOn запускающую наш сценарий BlueOn.
  3. Аналогично для BlueOff.
  4. В Tasker создадим профиль / Состояние / Подключено по блутулз. Имя оставить пустым, заполнить MAK.
  5. Назначим входную и выводную задачи соответственно BlueOn и BlueOff.

Теперь при соединении с устройством Bluetooth будет выполнен сценарий МЖД BlueOn, при разрыве связи - BlueOff.

Отправка координат GPS

В качестве альтернативы отправки координат GPS через Big Brother можно использовать Tasker. Преимущества: более гибкая настройка интервала отправки, параметров смартфона. Недостатки: более сложная настройка.

  1. Создадим задачу Gps
  2. Добавим действие Разное / Получить координаты. Источник -> GPS
  3. Добавим действие Переменные / Расчленить переменную. Имя -> %LOC; Разделитель -> ,(запятая)
  4. Добавим действие Сеть / HTTP Get. Настроим: Server -> %MYSERVER; Path -> gps.php Attributes ->
    1. latitude=%LOC1
    2. longitude=%LOC2
    3. altitude=%LOCALT
    4. provider=%TNET
    5. speed=%LOCSPD
    6. battlevel=%BATT
    7. deviceid=%DEVID
    8. accuracy=%LOCACC (каждый атрибут с новой строчки без пробелов)
  5. На закладке VARS создадим переменную %MYSERVER -> имя:пароль@адресМЖД.
  6. Создадим профиль GpsSend. В меню выберем Время. Откроется форма с тремя CheckBox-ами. Галку только для "Повторять". 5 минут. Выберем задачу Gps.

В результате мы получили отправку GPS координат на сервер MajorDoMo каждые 5 минут. Можно создать несколько профилей с разным временем отправки и включать/выключать их через действие Tasker / Статус профиля. Можно создать несколько задач с разными источниками координат в действии "Получить координаты"

Голосовой ввод команд

Работает так: на главном экране ярлык. Тыкаем его, открывается окошко распознавания Гугл, говорим команду, она отображается в распознаном виде и отправляется Алисе.

  1. В Tasker создадим задачу Voice
  2. Добавим действие Ввод / Get Voice. Настраивать особо не надо. В название пропишем "Говорите"
  3. Добавим действие Сигнал / Всплывающее окно. Текст -> %VOICE
  4. Добавим действие Сеть / HTTP Get. Настроим: Server -> %MYSERVER/command.php; Attributes -> qry=%VOICE
  5. На закладке VARS создадим переменную %MYSERVER -> имя:пароль@адресМЖД.
  6. Назначим иконку задаче(смотри выше как)
  7. Создадим на рабочем столе виджет запуска задачи Voice

Возможные проблемы: не установлен "голосовой ввод" на телефоне - установить.

Закладка VARS

Чтобы она появилась в настройках снимите галочку с "Beginer mode"

Как передать обратно Таскеру с МД, например значение свойства объекта "ThisComputer.temperatura" ?

Я в таскер передаю общий статус системы создав таск со следующими действиями:

  • HTTP GET (запрос на сервер)
    • Server:Port username:password@homeserver.com (всё заменить на своё)
    • Path: /pChart/?p=ThisComputer.HomeStatus&op=value
  • Variable Set (установка переменной таскера)
    • pct HomeStatus to pct HTTPD
  • Zooper Widget Variable (тут не помню точно как, но Zooper Widget как раз позволяет переменную из таскера в качестве виджета на рабочий стол выводить)

Как из таскера вызвать метод напрямую, минуя скрипты?

Из браузера метод можно вызвать отправив запрос на адрес: http://192.168.1.1/objects/?object=test1&op=m&m=m111& где

 test1 - имя объекта
 m111 - имя метода

В таскере :

  • HTTP GET (запрос на сервер)
    • Server:Port 192.168.1.1 (всё заменить на своё) можно использовать имя/пасс как в примерах выше
    • Path: objects
    • Attributes: (каждый параметр с новой строки, амперсанды не нужны)
      • object=test1
      • op=m
      • m=m111
 
 

Обсуждение

 

sergejey: Обсуждение страницы Использование событий Android-смартфона в Умном Доме

Vit: классно....интересно под iphone существует что то подобное?

Vip: Судя по исходникам(/objects/index.php) в случае со скриптами скорее всего используется HTTP-GET запрос Tasker`a...Или нет?

sergejey: Судя по исходникам(/objects/index.php) в случае со скриптами скорее всего используется HTTP-GET запрос Tasker`a...Или нет? Можно и POST и GET -- работает в обоих случаях

Jager: При включенной авторизации для доступа извне, в таскере адрес своего сервера пишем в формате login:pass@xxx.xxx.xxx.xxx

dmw: Как правильно установить значение переменной? Настраиваю задачу HTTP Post в таскере вот так: Server= "192.168.1.20" Path= "/objects/" Data= "object=GalaxyNote&op=set&p=online&v=1" не работает, т.е. значение "1" переменной GalaxyNote.online не присваивается. Однако через адресную строку браузера ссылкой: http://192.168.1.20/objects/?object=Gal ... online&v=1 значение переменной GalaxyNote.online присваивается нормально.

dmw: В общем для установки значения переменной в таскере нужно использовать задачу HTTP Get (с методом HTTP Post нормально отрабатывает только чтение переменных MJD), кроме того в поле Attributes каждый параметр нужно указывать с новой строки: Attributes object=GalaxyNote op=set p=online v=1

Stanislav: Ребят, а как сформировать http запрос для запуска метода? Где-то видел на форуме, но уже часа 2 ищу, не могу найти. Подскажите, пожалуйста. Сам нашел. При редактировании метода внизу есть ссылка на него. Все оказалось так просто... Еще раз спасибо разработчику!

ErmolenkoM: Обновил страницу http://smartliving.ru/Main/ScAndroidTasker. Добавил примеры использования Tasker.

ignat99: https://play.google.com/store/apps/deta ... ateddevice Возможно эта программа будет проще и лучше в настройке?

ErmolenkoM: Описываю реализацию сценария: Машина поехала/машина остановилась. За подробностями - ко мне в коннект. 1. В машине магнитола с БлуеТулсом. Автоматом соединяется с телефоном. 2. В таскере создаем профиль на состояние Подключено по блютулз. МАК я заполнил *. Проверяем, что профиль активируется при соединении. 3. К профилю привязываем входящую и исходящие задачи. 4. Задачи запускают скрипты с МЖД. Типа http://192.168.0.96/objects/?script=BlueOn. Подробно Здесь: http://smartliving.ru/Main/ScAndroidTasker Все.

shemnik69: Спасибо! Это сценарии на смартфоне. Но на ссылке у ВАС локальный адрес 192... и тд. А при движении и остановке смарт отправляет на внешний инет адрес? Я подобную цепочку пытался реализовать но почему-то никакими способами не могу "пробить" доступ к серверу. Он работает через GSM (МТС) безлимит. Скорость нормальная, но вот внешний доступ никак ... А вот вариант с приездом я решил. Машина подъезжает к дому 100-70 м. попадает в зону домашнего WI-fi. Смарт "знает" что "он" в машине, по конекту с "блютузом" HendFree. Kогда заехал. датчики на воротах зафиксировали на 3-5 сек прерываниет. те именно факт въезда машины. Машина остановилась. Зажигание выключено, пропадаетт и конект с смартом, он дает кооманду (через Wi-Fi ,благо роутер и гараж рядом 2 м.) на закрытие внешних ворот (на МК) . а сервер, ее подтверждает , т.е защита от сбоя (например в проеме может быть человек стоять и т.д) согласуюсь с сигналом от датчиков прерывания ИК луча а также времени. ( Например в остальное нестандартное время управление от брелков) И далее концевики . Работатет вроде без трудностей. Но вот хочу еще чтобы еще была возможность и внешнего управления. Да, забыл, еще фонари (прожекторы) загораются, когда темно (восход/заход) и появление вечером (по времени) смарта в сети ... :D

ErmolenkoM: 1. я купил белый IP адрес для домашнего интернета. Второй вариант: dyn-dns например. 2. в конфиге Алисы есть имя и пароль для внешнего доступа http://smartliving.ru/Main/AdvancedSetup 3. в таскере пишу IP адрес так: http://MyUserName:MySuperPass@8.8.8.8 (IP адрес внешний в конце) 4. на роутере пробросил 80 порт от Алисы наружу. Вроде все.

sergejey: Подскажу ещё вариант отправки команд в систему без белого IP и пробрасывания порта: 1. Регистрируемся в connect.smartliving.ru 2. В настройках majordomo в разделе connect ставим галочку на использование cloudsync После чего появляются следующие возможности: * В браузере можно использовать http://connect.smartliving.ru/menu.html для доступа к меню (имя/пароль как при регистрации в connect-е) * В приложении MajorDroid в качестве внешнего хоста можно указать connect.smartliving.ru (имя/пароль как при регистрации в connect-е) * В Tasker-е можно использовать http://username:password@connect.smartl ... ommand.php для передачи (голосовых) команд * В BigBrother GPS можно в качестве адреса использовать http://connect.smartliving.ru/gps.php (в настройках надо указать значение secret равный username:password)

Jager: Можно ли из таскера вызвать метод напрямую, минуя скрипты?

ErmolenkoM: Можно ли из таскера вызвать метод напрямую, минуя скрипты? На странице метода внизу есть ссылки для вызова его через адресную строку. http://192.168.1.1:80/objects/?object=ClockChime&op=m&m=onNewMinute&  Tasker умеет GET и POST. Так что думаю вполне можно звать метод сразу из таскера.

Jager: Можно ли из таскера вызвать метод напрямую, минуя скрипты? На странице метода внизу есть ссылки для вызова его через адресную строку. http://192.168.1.1:80/objects/?object=ClockChime&op=m&m=onNewMinute&     Tasker умеет GET и POST. Так что думаю вполне можно звать метод сразу из таскера. Не хочет, пробовал такие варианты https://lh3.googleusercontent.com/-XdGXakzPDlQ/VHrYsQD3IhI/AAAAAAAAFMA/6VQeDzHLC6s/s400/Screenshot_2014-11-30-11-42-32.jpg https://lh4.googleusercontent.com/-vK1y7V27ttk/VHrZX-1KB9I/AAAAAAAAFMQ/o9pU5filQBM/s400/Screenshot_2014-11-30-11-41-56.jpg

shemnik69: Подскажу ещё вариант отправки команд в систему без белого IP и пробрасывания порта: 1. Регистрируемся в connect.smartliving.ru 2. В настройках majordomo в разделе connect ставим галочку на использование cloudsync После чего появляются следующие возможности: * В браузере можно использовать http://connect.smartliving.ru/menu.html для доступа к меню (имя/пароль как при регистрации в connect-е) * В приложении MajorDroid в качестве внешнего хоста можно указать connect.smartliving.ru (имя/пароль как при регистрации в connect-е) * В Tasker-е можно использовать http://username:password@connect.smartl ... ommand.php для передачи (голосовых) команд * В BigBrother GPS можно в качестве адреса использовать http://connect.smartliving.ru/gps.php (в настройках надо указать значение secret равный username:password) Спасибо огромное!!! Дошли руки попробовал.Работает. Ну теперь совсем другой уровень. Поскольку программировать телефон точнее его программу Auomatelt (ал-я Tasker) очень даже просто . Пробовал открыть и закрыть ворота ..Да и светом управлял ... класс.

ErmolenkoM: Не хочет, ... хочет. http://smartliving.ru/Main/ScAndroidTasker добавил в конце Как из таскера вызвать метод напрямую, минуя скрипты PS Лучше вопросы про Tasker задавать в теме про Tasker.

Jager: Не хочет, ... хочет. http://smartliving.ru/Main/ScAndroidTasker добавил в конце Как из таскера вызвать метод напрямую, минуя скрипты PS Лучше вопросы про Tasker задавать в теме про Tasker. Спасибо.

Ivan: Давно пользуюсь но забыл описать. Алиса проговаривает кто звонит по телефону. Очень удобно в большом доме. Не нужно таскать телефон. %MYSERVER добавляем переменную со своим ip локальным. Тогда если будут звонить вне дома, задача не выполнется

Amarok: лучше ставить * вместо C:ANY

Amarok: По умолчанию.jpg Чот не робит

sergejey: Если используется GET-запрос, то лучше прямо в поле PATH писать: /objects/?script=Call&cname=%CNAME

Ivan: Пробовал вставлять запросы с & - Tasker не воспринимает. Где то нашел что атрибуты нужно писать с новой строки

sergejey: Пробовал вставлять запросы с & - Tasker не воспринимает. Где то нашел что атрибуты нужно писать с новой строки Для POST-запроса нужно писать с новой строки, для GET-запроса надо перечислять параметры в Path

Vit: я попорбовал...вместо имени абонента вопросительные знаки....у всех так?

Ivan: Забыл но где то ставил UTF8

ErmolenkoM: я попорбовал...вместо имени абонента вопросительные знаки....у всех так? отправляю GET запросом - все хорошо. При этом даже не стал писать скрипт - пользую qry=Звонит %CNAME

Victor Zotov: Настроил передачу GPS и батарейки из Tasker. В приложении "Трекинг GPS" в MD все отображается. Из таскера через httpGET передается системная переменная %BATT в переменную battlevel в МД, как я понимаю. Подскажите, пожалуйста, как достать из полученных данных из приложения GPS значение переменной battlevel для каждого устройства. Хочу встроить в главное меню слева. Пробовал Пробовал gg('battlevel') Пробовал %айдидевайса.battlevel% Пробовал gg('айдидевайса.battlevel') Спасибо.

Vit: я попорбовал...вместо имени абонента вопросительные знаки....у всех так? отправляю GET запросом - все хорошо. При этом даже не стал писать скрипт - пользую qry=Звонит %CNAME Русские имена нормально озвучивает?

Dark_Veter: У меня была такая проблема, помогла функция urlencode в таскере, перед отправкой в mdm.

SergeyF: Для использования уровня заряда батареи в системе необходимо в GPS - трекере войти на закладку "Устройства" связать устройство с пользователем системы (Users). При следующем добавлении местоположения устройства связанному users будет добавлено свойство со значением уровня заряда. т.е. .BattLevel

ErmolenkoM: Подскажите, пожалуйста, как достать из полученных данных из приложения GPS значение переменной battlevel для каждого устройства. 1. Создать пользователя (Users) 2. Привязать устройство к Пользователю. 3. Дальше уже %имя_пользователя.battlevel% или gg('имя_пользователя.battlevel') Как я узнал что нужно так сделать? 1. Смотрим в корне файл gps.php, именно ему скармливаются гпс-коотдинаты. 2. Видим, что после разбора цифры записываются в базу. 3. Дальше видим, что если есть связка пользователь-устройство, то пользователю пишут в свойства разные данные. как-то так.

Vit: А пример можно использовать ия функции urlencode где прописать и какой синтаксис.

Dark_Veter: А пример можно использовать ия функции urlencode где прописать и какой синтаксис. Вот скриншот из моего таскера: https://yadi.sk/i/mkBK3IGreAS5n

Vit: А внутри этих вызовов можно скрины?) никак не получается у меня с этим таскером)) заранее благодарен.

Dark_Veter: А внутри этих вызовов можно скрины?) никак не получается у меня с этим таскером)) заранее благодарен. https://yadi.sk/i/LwIKD3BIeAdEU https://yadi.sk/i/JRrdEi3zeAdES

Vit: А внутри этих вызовов можно скрины?) никак не получается у меня с этим таскером)) заранее благодарен. https://yadi.sk/i/LwIKD3BIeAdEU https://yadi.sk/i/JRrdEi3zeAdES все получилось, спасибо

triada13: Народ подскажите плиз, что нужно сюда добавить что бы передавался статус на зарядке телефон или нет: Добавим действие Сеть / HTTP Get. Настроим: Server -> %MYSERVER; Path -> gps.php Attributes ->
latitude=%LOC1
longitude
=%LOC2
altitude
=%LOCALT
provider
=%TNET
speed
=%LOCSPD
battlevel
=%BATT
deviceid
=%DEVID
accuracy
=%LOCACC (каждый атрибут с новой строчки без пробелов

Amarok: А у меня вообще таскер координаты не передает(

Alien: Передает таскер, делал все как в примере (правда периодически таймаут соединения бывает, но это скорее из-за ddns или провайдера). И еще добавил себе выбор определения координат по сети или GPS в зависимости от местоположения - какой смысл убивать акк, находясь на работе или дома, когда особая точность не нужна. Подправил так-же deviceid=%DEVID на deviceid=%DEVTID, чтобы передавал IMEI, а не номер прошивки, как BG передает.

Amarok: А как запустить скрипт с параметрами? wget -"http://192.168.0.2/objects/?script=REGBLedOn&room=AmarokLair" -O nul Чегойт не отрабатывает(

Vit: Добавим действие Сеть / HTTP Get. Настроим: Server -> %MYSERVER; Path -> gps.php Attributes ->
latitude=%LOC1
longitude
=%LOC2
altitude
=%LOCALT
provider
=%TNET
speed
=%LOCSPD
battlevel
=%BATT
deviceid
=%DEVID
accuracy
=%LOCACC (каждый атрибут с новой строчки без пробелов) подскажите кто настроил, из-за чего может ошибка такая быть? http://c2n.me/3cEVAIA.jpg

ErmolenkoM: а из браузера в телефоне нормально уходит? Достаточно только первых пару параметров передать. Может проблема в IP адресе локольной сетки

Amarok: Передает таскер, делал все как в примере (правда периодически таймаут соединения бывает, но это скорее из-за ddns или провайдера). И еще добавил себе выбор определения координат по сети или GPS в зависимости от местоположения - какой смысл убивать акк, находясь на работе или дома, когда особая точность не нужна. Подправил так-же deviceid=%DEVID на deviceid=%DEVTID, чтобы передавал IMEI, а не номер прошивки, как BG передает. Можно шаблон задачи посмотреть?

Vit: а из браузера в телефоне нормально уходит? Достаточно только первых пару параметров передать. Может проблема в IP адресе локольной сетки попробую сегодня, отпишусь

Alien: Профайл: <TaskerData sr="" dvi="1" tv="4.6u3m"> <Profile sr="prof20" ve="2"> <cdate>1422355583288</cdate> <edate>1422521958895</edate> <id>20</id> <mid0>21</mid0> <nme>MD_SendLocation</nme> <Time sr="con0"> <fh>0</fh> <fm>0</fm> <rep>2</rep> <repval>5</repval> <th>-1</th> <tm>-1</tm> </Time> </Profile> <Task sr="task21"> <cdate>1422355608840</cdate> <edate>1422867066571</edate> <id>21</id> <nme>MD_SelectLocProvider</nme> <pri>6</pri> <Action sr="act0" ve="7"> <code>137</code> <Int sr="arg0" val="0"/> <Str sr="arg1" ve="3"/> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%AIR</lhs> <op>1</op> <rhs>off</rhs> </Condition> </ConditionList> </Action> <Action sr="act1" ve="7"> <code>37</code> <ConditionList sr="if"> <bool0>Or</bool0> <Condition sr="c0" ve="3"> <lhs>%myLoc</lhs> <op>2</op> <rhs>atHome</rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%myLoc</lhs> <op>2</op> <rhs>atWork</rhs> </Condition> </ConditionList> </Action> <Action sr="act2" ve="7"> <code>130</code> <Str sr="arg0" ve="3">MD_SendLocNet</Str> <Int sr="arg1"> <var>%priority</var> </Int> <Str sr="arg2" ve="3"/> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Int sr="arg5" val="0"/> </Action> <Action sr="act3" ve="7"> <code>43</code> </Action> <Action sr="act4" ve="7"> <code>130</code> <Str sr="arg0" ve="3">MD_SendLocGPS</Str> <Int sr="arg1"> <var>%priority</var> </Int> <Str sr="arg2" ve="3"/> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Int sr="arg5" val="0"/> </Action> <Action sr="act5" ve="7"> <code>38</code> </Action> <Img sr="icn" ve="2"> <nme>hd_device_access_location_off</nme> </Img> </Task> </TaskerData> Задача выбора поставщика координат: <TaskerData sr="" dvi="1" tv="4.6u3m"> <Task sr="task21"> <cdate>1422355608840</cdate> <edate>1424260820694</edate> <id>21</id> <nme>MD_SelectLocProvider</nme> <pri>6</pri> <Action sr="act0" ve="7"> <code>137</code> <Int sr="arg0" val="0"/> <Str sr="arg1" ve="3"/> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%AIR</lhs> <op>1</op> <rhs>off</rhs> </Condition> </ConditionList> </Action> <Action sr="act1" ve="7"> <code>37</code> <ConditionList sr="if"> <bool0>Or</bool0> <Condition sr="c0" ve="3"> <lhs>%myLoc</lhs> <op>2</op> <rhs>atHome</rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%myLoc</lhs> <op>2</op> <rhs>atWork</rhs> </Condition> </ConditionList> </Action> <Action sr="act2" ve="7"> <code>130</code> <Str sr="arg0" ve="3">MD_SendLocNet</Str> <Int sr="arg1"> <var>%priority</var> </Int> <Str sr="arg2" ve="3"/> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Int sr="arg5" val="0"/> </Action> <Action sr="act3" ve="7"> <code>43</code> </Action> <Action sr="act4" ve="7"> <code>130</code> <Str sr="arg0" ve="3">MD_SendLocGPS</Str> <Int sr="arg1"> <var>%priority</var> </Int> <Str sr="arg2" ve="3"/> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Int sr="arg5" val="0"/> </Action> <Action sr="act5" ve="7"> <code>38</code> </Action> <Img sr="icn" ve="2"> <nme>hd_device_access_location_off</nme> </Img> </Task> </TaskerData> Задача отправки координат с GPS: <TaskerData sr="" dvi="1" tv="4.6u3m"> <Task sr="task13"> <cdate>1422015505595</cdate> <edate>1424260960297</edate> <id>13</id> <nme>MD_SendLocGPS</nme> <pri>10</pri> <Action sr="act0" ve="7"> <code>902</code> <Int sr="arg0" val="0"/> <Int sr="arg1" val="100"/> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> </Action> <Action sr="act1" ve="7"> <code>590</code> <Str sr="arg0" ve="3">%LOC</Str> <Str sr="arg1" ve="3">,</Str> <Int sr="arg2" val="0"/> </Action> <Action sr="act2" ve="7"> <code>118</code> <Str sr="arg0" ve="3">http://%MDUSER:%MDPASS@%MDSERVER</Str> <Str sr="arg1" ve="3">gps.php</Str> <Str sr="arg2" ve="3">latitude=LOC2 altitude=TNET speed=BATT deviceid=LOCACC</Str> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Int sr="arg5" val="10"/> <Str sr="arg6" ve="3"/> <Str sr="arg7" ve="3"/> <Int sr="arg8" val="0"/> </Action> <Img sr="icn" ve="2"> <nme>hd_device_access_location_found</nme> </Img> </Task> </TaskerData> Задача отправки координат из сети: <TaskerData sr="" dvi="1" tv="4.6u3m"> <Task sr="task19"> <cdate>1422015505595</cdate> <edate>1422867057084</edate> <id>19</id> <nme>MD_SendLocNet</nme> <pri>10</pri> <Action sr="act0" ve="7"> <code>902</code> <Int sr="arg0" val="1"/> <Int sr="arg1" val="100"/> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> </Action> <Action sr="act1" ve="7"> <code>590</code> <Str sr="arg0" ve="3">%LOCN</Str> <Str sr="arg1" ve="3">,</Str> <Int sr="arg2" val="0"/> </Action> <Action sr="act2" ve="7"> <code>118</code> <Str sr="arg0" ve="3">http://%MDUSER:%MDPASS@%MDSERVER</Str> <Str sr="arg1" ve="3">gps.php</Str> <Str sr="arg2" ve="3">latitude=LOCN2 provider=BATT deviceid=LOCNACC</Str> <Str sr="arg3" ve="3"/> <Str sr="arg4" ve="3"/> <Int sr="arg5" val="10"/> <Str sr="arg6" ve="3"/> <Str sr="arg7" ve="3"/> <Int sr="arg8" val="0"/> </Action> <Img sr="icn" ve="2"> <nme>hd_device_access_location_searching</nme> </Img> </Task> </TaskerData> Пока так. В планах купить Auto location, там круче настоить можно, но есть проблема с оплатой гривневой картой (двойная конвертация). Хорошо хоть за таскер успел заплатить ;)

ErmolenkoM: В планах купить Auto location, там круче настоить можно А что может быть круче чем Таскер? Удобнее, проще - согласен. Но что бы именно "Круче"... Таскер поддерживает все события андроида, есть как И так и ИЛИ. Может есть какой юзкейс, для примера? Не холивара ради - мне правда интересно. Считаю покупку таскера - одной из самых оправданных своих покупок ПО. UPDATE. Почитал про Auto location. Это плагин к Таскеру :-))) Ага, клевая штука. Вопрос только к жору батарейки.

Alien: Вот именно для экономии батарейки. Чтоб в некритичных ситуациях брать координаты с сети и вайфай, и только по необходимости со спутника.

ErmolenkoM: Вот именно для экономии батарейки. Чтоб в некритичных ситуациях брать координаты с сети и вайфай, и только по необходимости со спутника. так вроде таскер из коробки это умеет? В свое время когда разбирался у меня была обратная проблема - получить координаты и не заморачиваться какие они - спутник или соты.

Alien: Таскер умеет, но мне не очень нравится создавать профайлы под каждое местоположение. В AutoLocation мне понравились Geofences и возможность определения пешком или на авто...

Vit: а из браузера в телефоне нормально уходит? Достаточно только первых пару параметров передать. Может проблема в IP адресе локольной сетки попробую сегодня, отпишусь Попробовал из браузера отправить 2 первых параметра.....в браузере не ошибок ничего...просто белый экран....в модуле gps ничего не появляется мажордройд работает нормально и таскер например при подключении к домашнему вайфай тоже скрипт отрабатывает при раззных вариантах (входящий вызов, будильник) все норм что нетак сgps не пойму

I_I_Imonder: Друзья. поделитесь скриптом для звонящего абонента.

Controer: Добавим действие Сеть / HTTP Get. Настроим: Server -> %MYSERVER; Path -> gps.php Attributes ->
latitude=%LOC1
longitude
=%LOC2
altitude
=%LOCALT
provider
=%TNET
speed
=%LOCSPD
battlevel
=%BATT
deviceid
=%DEVID
accuracy
=%LOCACC (каждый атрибут с новой строчки без пробелов) подскажите кто настроил, из-за чего может ошибка такая быть? http://c2n.me/3cEVAIA.jpg Проверь IP адрес куда передаются данные

Controer: Народ подскажите плиз, что нужно сюда добавить что бы передавался статус на зарядке телефон или нет: Добавим действие Сеть / HTTP Get. Настроим: Server -> %MYSERVER; Path -> gps.php Attributes ->
latitude=%LOC1
longitude
=%LOC2
altitude
=%LOCALT
provider
=%TNET
speed
=%LOCSPD
battlevel
=%BATT
deviceid
=%DEVID
accuracy
=%LOCACC (каждый атрибут с новой строчки без пробелов) Тоже все варианты пробовал, не получается никак предать статус на зарядке или нет

sega6549: Здравствуйте, возможно не в тему но все же, есть меню управления, раздел State вот с таким кодом; <big style="font-size:24px">%ThisComputer.timeNow%</big>

<
img src="/img/icons/status/lock_32_%Security.stateColor%.png" align="absmiddle"> %Security.stateDetails%
<
img src="/img/icons/status/system_32_%System.stateColor%.png" align="absmiddle"> %System.stateDetails%
<
img src="/img/icons/status/network_32_%Communication.stateColor%.png" align="absmiddle"> %Communication.stateDetails%
<
br/>%ThisComputer.somebodyHomeText%
<
br/>Сергей:
<
br/>Батарея %Sergey.BattLevel% % 
<br/>Посл. коорд. %Sergey.CoordinatesUpdated%<br/>Батарея %Sergey.BattLevel% % так же есть свойство пользователя Sergey.Charging которому присваивается значение 1 если телефон на зарядке и 0 если нет, как бы мне после <br/>Батарея %Sergey.BattLevel% % приклеить надпись заряжается если Sergey.Charging имеет свойство 1 и ничего не писать если 0 выглядеть будет так: Сергей Батарея 94% заряжается

GreatBAO: а разве туда PHP код нельзя вставлять ? <?php
if(gg("Sergey.BattLevel")) {
  echo 
"на зарядке";
} else {
  echo 
"не на зарядке";

Dark_Veter: PHP врядли, зато ява скрипт получиться:  <script type="text/javascript">
  var Charging='%Sergey.Charging%';
  if (Charging!=0) {
    document.write('На зарядке');
  }
 </script>

Wave: А можно ли снимать состояние датчиков и отдавать их в МД? Поворота, освещения, акселометра?

ErmolenkoM: А можно ли снимать состояние датчиков и отдавать их в МД? Поворота, освещения, акселометра? Да, используя TASKER. Здесь описание http://majordomo.smartliving.ru/Main/ScAndroidTasker В таскере не забудьте в настройках ВКЛЮЧИТЬ опрос датчиков. По умолчанию они выключены.

BeletskyAV: Может есть какой юзкейс, для примера? Решил выводить в "карман" данные с датчиков DHT22 (их на даче планирую использовать 12шт) + барометр. На борту телефона стоит Таскер и "Минималистичный текстовый виджет" https://play.google.com/store/apps/details?id=de.devmil.minimaltext. Что получилось, скрипт для Алисы, фото скрина и импорты для Андроида можно забрать здесь. https://drive.google.com/folderview?id=0B9hvrgxxTBiZTFNMUkRXTl9MUXc&usp=sharing

sashmen: Доброе время суток. Можете подсказать как в Tasker сделать проверку, если GPS не получает кординаты %LOC, то отправлять сетевые кординаты %LOCN? Как узнать получает GPS координаты или нет?

ErmolenkoM: Доброе время суток. Можете подсказать как в Tasker сделать проверку, если GPS не получает кординаты %LOC, то отправлять сетевые кординаты %LOCN? Как узнать получает GPS координаты или нет? Ага. Именно по этому я и остался на BBGPS - он как-то определяет что точнее. Кстати, если появится решение - отпишитесь в этой теме плиз.

nick7zmail: 2 вопроса по таскеру и gps... 1) как отправить параметр - на зарядке или нет 2) что за параметры >
altitude=%LOCALT
accuracy
=%LOCACC

nick7zmail: 2 вопроса по таскеру и gps... 1) как отправить параметр - на зарядке или нет 2) что за параметры >
altitude=%LOCALT
accuracy
=%LOCACC Отвечу сам себе... 1) Для отправки статуса зарядки делаем следующее (по крайней мере я инструкции не нашел, простите если повторяюсь)... -создаем переменную на вкладке VARS %CHARGING -создаем таск ch - установить переменную %CHARGING на 1 -создаем таск no_ch - установить переменную %CHARGING на 0 -создаем профиль - состояние - зарядка - запустить таск ch -создаем профиль - состояние - зарядка - если не - запустить таск no_ch -в список отправляемых атрибутов добавляем charging=%CHARGING почти уверен что это можно при помощи одного таска оформить...но как то пока не думал над этим... 2) altitude-видимо высота...а accuracy-точность вроде...так я понял? Если accuracy хотя бы отображается в админке, зачем посылается altitude, provider? просто в таблице хранить?))

ученик: Работа gps.php проблема с получением данных настроил таскер в в логе access.log вижу, есть запись с данными ... а в логе трекера эти данные не отображаются?

Alien: А устройство с пользователем связано? Модуль работает. Передаю данные таскером.

ученик: А устройство с пользователем связано? Модуль работает. Передаю данные таскером. Я сегодня настроил таскер на планшете и GPS трекер спокойно показал данные от нового устройства. и без привязки с пользователем,а данные телефона чего то не хочет.

Alien: Тогда стоит попробовать переменные сначала зафлешить таскером. Может телефон свой айди не передает. Тогда, как вариант, задать его вручную.

ученик: Тогда стоит попробовать переменные сначала зафлешить таскером. Может телефон свой айди не передает. Тогда, как вариант, задать его вручную. в access.log id телефона есть и данные все есть а значений нет чета какая то беда. единственный телефон с таким багом. а Как "переменные сначала зафлешить таскером" ?

Alien: В таскере Alert Flash переменная - на экране окошко со значением выводится.

ученик: Давно пользуюсь но забыл описать. Алиса проговаривает кто звонит по телефону. Очень удобно в большом доме. Не нужно таскать телефон. %MYSERVER добавляем переменную со своим ip локальным. Тогда если будут звонить вне дома, задача не выполнется Вопрос , а где в таскере есть опция телефон звонит? Я перешерстил категорию "телефон", но там не нашел опции, что бы создать действие на "вызов" телефона? может не там ищу или не та версия таскера?

nick7zmail: Вопрос , а где в таскере есть опция телефон звонит? Я перешерстил категорию "телефон", но там не нашел опции, что бы создать действие на "вызов" телефона? может не там ищу или не та версия таскера? Есть...создать профиль - событие -> Телефон ->Телефон звонит А дальше хоть имя звонящего на сервер отправляйте.

ученик: В таскере сделал http get с данными звонящего... Создал скрипт в say("Звонит",Callcname,2); написал, а Алиса молчит хотя в логе есть инфа о данных

Dark_Veter: не say("Звонит",Callcname,2);, а say("Звонит ".$Callcname,2); наверное, если $Callcname это переменная, которой у вас значение из параметров присваивается. А вообще покажите get запрос в таскере.

nick7zmail: В таскере сделал http get с данными звонящего... Создал скрипт в say("Звонит",Callcname,2); написал, а Алиса молчит хотя в логе есть инфа о данных Ну начнем с того что - непонятно что вы хотели своим скриптом сделать...У функции say всего 2 параметра, вы ей скармливаете 3. Почитайте основы. Во вторых что за Callcname? Откуда он его брать должен? скрипт incoming  say('Звонит '.$params['name'], 2);  Настройки таскера Screenshot_2016-02-01-18-36-27.jpg Не проверял, но должно работать...лень объяснять как... PS: сори за первый громадный скрин...телефон с fullhd =D...залил не посмотрев - потом прифигел от размера)) скрин перезалил. UPD: Проверил...действительно работает...

nick7zmail: почти уверен что это можно при помощи одного таска оформить...но как то пока не думал над этим... Кстати...кому интересно - сделал одним таском...но профиля по-прежнему 2, ибо задачу надо вызывать и когда подключена зарядка, и когда отключена. Алгоритм тот же, профили On_charge и No_charge вызывают одну и ту же задачу.

Zaezd2008: Есть пример как совместить определение через GPS/Сеть? А то GPS вроде как сажает батарейку...

nick7zmail: Есть пример как совместить определение через GPS/Сеть? А то GPS вроде как сажает батарейку... Gps сажает. По-этому у меня выставлено только через сеть. NLOC переменная вроде вместо LOC Отправлено с моего Xperia Z через Tapatalk

Zaezd2008: LOCN переменная. В принципе одну сеть и оставлю, тем более что определяет неплохо.

ученик: Заработала система!!!! да... еще для удобства определения на чей телефон звонят, в таскере сделал переменную boss в неё забил имя владельца телефона что бы система проговаривала на чей телефон звонят и передаю две переменных boss, name boss и name вот скрипт :
say
($params['boss']);
say("Звонит  " .$params['name']);
 
то же самое и сделал что бы читал смс но только момент такой если номер записан в контакты проблем нет а если не записан то система молчит как партизан как победить данную проблему ?

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

Alexiy2: Уважаемые форумчане! Позвольте Вас, в начале своего диалога, поздравить с социалистическим праздником 1 МАЯ! ;-) Ну а теперь вопрос? Имеется highScreen PowerFive на 5-ом Андроиде. Установлен Tasker и плагин к нему Secure Settings. Так вот сам таскер, после гашения экрана, не желает выполнять задачи. Такое ощущение, что закрывается сама программа. Может надо какие то настройки и права дать таскер на пятерке. Телефон с рут правами. На телефоне с 4-ым андроидом таких проблем не имеем. Кто и что может подсказать. Уже столько времени бьюсь с этим агрегатом... Руки начинают опускаться.

nick7zmail: Уважаемые форумчане! Позвольте Вас, в начале своего диалога, поздравить с социалистическим праздником 1 МАЯ! ;-) Ну а теперь вопрос? Имеется highScreen PowerFive на 5-ом Андроиде. Установлен Tasker и плагин к нему Secure Settings. Так вот сам таскер, после гашения экрана, не желает выполнять задачи. Такое ощущение, что закрывается сама программа. Может надо какие то настройки и права дать таскер на пятерке. Телефон с рут правами. На телефоне с 4-ым андроидом таких проблем не имеем. Кто и что может подсказать. Уже столько времени бьюсь с этим агрегатом... Руки начинают опускаться. У меня экспириа с 5.1 андроидом...всё работает как часы. Проверьте в настройки>специальные возможности>таскер должен быть вкл. Отправлено с моего Xperia Z через Tapatalk

Alexiy2: Доброго времени суток, Господа! Не могу сообразить, направьте в нужное русло! Имеются профиля "дома", "вне дома" и "GpsSend" (который отправляет мои координаты каждые 5 минут на сервер). В целях экономии батареи задался включать профиль "GpsSend" только при срабатывании профиля "вне дома". Для этих целей создал глобальную переменную %HOME и присваиваю ей при включении профиля "дома" 1, а "вне дома" свойство 0. Профиль "GpsSend" срабатывает каждые 5 минут, но там же имеются галочки ОТ и ДО, где можно указать либо временной промежуток срабатывания данного профиля, либо указать переменную, при которой будет срабатывает данный профиль. Так вот и не могу сообразить, как сделать так, что бы при присвоении переменной %HOME равной нулю "GpsSend " начинал отправку координат, а при присвоении единицы - прекращал это дело?

nick7zmail: Заходите в таскере в профили - долгий тап на условии и можно добавить второе-третье и тд. условия. PS: раз в 5 минут, наверное, капец батарею высаживает)) Лично мне - раз в пол часа вполне достаточно. Отправлено с моего Xperia Z через Tapatalk

Alexiy2: С моими детьми и пяти минут много. За это время они могут оказаться где угодно. Поэтому то и задумался об экономии. Спасибо за совет. Все получилось! Отправлено с моего SM-T116 через Tapatalk

Amarok: В очередной раз накатило желание поэксперементировать. Возникло два вопроса: 1. как таскером считать значение переменной в Алисе? 2. Autovoice... Не могу понять, как работает HotPhrase.

chip: Всем привет. Вопрос относительно выведения сообщения о входящем звонке. Есть скрипт параметры которому передает таскер GET запросом: Скрипт: say("".$params." Звонит ".$params); Он выводит в чат сообщения формата: Алиса: Кирилл Звонит Вася Пупкин. Так вот, какое-то время назад в чат начало выводиться по 2-а сообщения подряд, выглядит так: 14:29 Алиса: Кирилл Звонит Вася Пупкин 14:29 Алиса: Кирилл Звонит Вася Пупкин кто подскажет куда копать? При чём, крайне редко, но выводится 1-о сообщение. Связи не заметил. Ранее отрабатывалось на этих же телефонах нормально. Настройки ни таскера ни мдм - не менялись.

nick7zmail: Перезагрузи сервер...У меня такое бывает из-за голосового движка, после вмешательства в системные объекты/методы...и по 2 и по 3 раза повторяет)) Отправлено с моего Xperia Z через Tapatalk

chip: после перезагрузки так-же... Голосовой, хм, у меня даже Yandex TTS не установлен в дополнениях.

nick7zmail: Голосовой, хм, у меня даже Yandex TTS не установлен в дополнениях. Погоди...хоть 1 TTS по-любому должен быть установлен в дополнениях...иначе как она у тебя говорит вообще?)) Раз повторилось после загрузки - попробуй в панели управления -> Console (вверху) Ввести say('какой-либо текст');  Тоже 2 раза повторит? Если нет - проблема в настройках таскера, надо искать.

chip: Голосовой, хм, у меня даже Yandex TTS не установлен в дополнениях. Погоди...хоть 1 TTS по-любому должен быть установлен в дополнениях...иначе как она у тебя говорит вообще?)) Тоже 2 раза повторит? Если нет - проблема в настройках таскера, надо искать. 1. никак не говорит с сервера, только через терминалы 2. нет, если запустить скрипт - выдает 1-е раз. В таскере ничего не менялось да и настроек там нет никаких кроме - по входящему звонку сделать гет запрос с такими то параметрами

nick7zmail: нет, если запустить скрипт - выдает 1-е раз. Вывод какой? Таскер делает запрос 2 раза... В таскере ничего не менялось да и настроек там нет никаких кроме - по входящему звонку сделать гет запрос с такими то параметрами Это ты зря)) это в задаче настроек мало...а в самом таскере - потеряться можно...половина на английском...и хоть я его неплохо знаю, но про некоторые настройки ток догадываюсь что они значат)))

ipz: Кто-нибудь пользуется AnyBalance? По отдельности AnyBalance работает. А в связке с таскером никак. В MDM прилетают сообщения следующего содержания: script=anybalance id=%anybal_acc_id; tariff=%anybal___tariff; balance=%anybal_balance; Т.е. вместо значений переменных AnyBalance названия.

lanket: Кто-нибудь пользуется AnyBalance? По отдельности AnyBalance работает. А в связке с таскером никак. В MDM прилетают сообщения следующего содержания: script=anybalance id=%anybal_acc_id; tariff=%anybal___tariff; balance=%anybal_balance; Т.е. вместо значений переменных AnyBalance названия. С AnyBalance не баловался, но судя по описанию переменным не присваиваются значения. Для вылавливания глюка для начала тот запрос в дебагер. Если запрос верный со значениями переменных то разбираетесь с МД. Если запрос с названиями переменных, как вы описали, то разбираетесь с таскером. На 4pda сильная поддержка по таскеру. нет, если запустить скрипт - выдает 1-е раз. Вывод какой? Таскер делает запрос 2 раза... В таскере ничего не менялось да и настроек там нет никаких кроме - по входящему звонку сделать гет запрос с такими то параметрами Это ты зря)) это в задаче настроек мало...а в самом таскере - потеряться можно...половина на английском...и хоть я его неплохо знаю, но про некоторые настройки ток догадываюсь что они значат))) Отправлено с моего Redmi Note 3 через Tapatalk

ipz: 4pda гуглится первым, только вот 896 страниц форума пугают... Если можно подробней, что за дебагер? В Таскере? Андроидом почти не пользовался, таскером всего пару дней... Ушел читать))

pdmitry2: Я пользуюсь any balance. Было такое. Перед отправкой данных в таскере, добавил паузу (у меня 120 сек). Any balance, не успевал обновиться и таскер отправлял просто названия переменных

ipz: Точно, еще при выборе профиля чек бокс `Wait for update ended`

ученик: Интересует вопрос, как бы привязать будильник МД с андроидом? Пока Будильник МД не сработает у андроидов будет беззвучный режим. Как сработал будильник, или событие разрешающее включить голос МД андроиды включили голос.

nick7zmail: Думаю при помощи таскера можно.. Создайте переменную, и на основании её выставляйте нужный режим в телефоне. Отправлено с моего Xperia Z через Tapatalk

ученик: Устанавливаем переменную в МД и через таскер читаем значение? Таскер, будет должен отслеживать постоянно, эту переменную, значит постоянно должен обращаться к МД. У таскера есть две команды, HTTP GET и HTTP POST какую использовать?

nick7zmail: Без разницы get или post...вот пример viewtopic.php?f=4&t=1555 Вот цитата из мануала Закладка VARS Чтобы она появилась в настройках снимите галочку с "Beginer mode" Как передать обратно Таскеру с МД, например значение свойства объекта "ThisComputer.temperatura" ? Я в таскер передаю общий статус системы создав таск со следующими действиями: HTTP GET (запрос на сервер) Server:Port username:password@homeserver.com (всё заменить на своё) Path: /pChart/?p=ThisComputer.HomeStatus&op=value Variable Set (установка переменной таскера) pct HomeStatus to pct HTTPD Zooper Widget Variable (тут не помню точно как, но Zooper Widget как раз позволяет переменную из таскера в качестве виджета на рабочий стол выводить) Но запрашивать постоянно - вы правы - немного напряжно...особенно для батарей девайсов.... На самом деле (если андроиды, про которые вы говорите - терминалы) я пользовался бы приоритетом сообщений...по-моему терминалы поддерживают эту фишку...

ученик: Да батарейку ест будет. Я тут про MQTT,мануал прочитал. Посмотрел, что клиенты mqtt есть на андроид, windows, linux. Вроде и плагин таскера есть для mqtt. Интересно, связать подписку на событие сервера? Тогда не стоило бы парится. Примерный сценарий. Пока в домашней сети, ждем пока не придет подписка на изменение состояния. Как только, пришло сообщение, меняем состояние звука на клиентах. Пока находишся в домашней сети, клиент ждет сигнала mqtt. Вышли из домашней сети, подписки от mqtt не дождались,( действует запрет) таскер принудительно возвращает звук по умолчанию.

nick7zmail: Кстати неплохая идея)) Я чет и забыл про плагин mqtt... В принципе должно сработать...

Alien: А можно и другим путем пойти ;) Отправлять пуши (не суть телеграм или пушбуллет) на аппарат, а в аппарате разбор полетов таскером и действие. Не хочется лишнее ПО на телефон лить. Вкратце: прилетает команда с тегом Say вначале и таскер озвучивает фразу, прилетает Run и таскер выполняет. Если интересно подробенее, то выложу пример tasker с нормального инета - в данный момент не смогу.

Amarok: А можно и другим путем пойти ;) Отправлять пуши (не суть телеграм или пушбуллет) на аппарат, а в аппарате разбор полетов таскером и действие. Не хочется лишнее ПО на телефон лить. Вкратце: прилетает команда с тегом Say вначале и таскер озвучивает фразу, прилетает Run и таскер выполняет. Если интересно подробенее, то выложу пример tasker с нормального инета - в данный момент не смогу. Очень интересно. Ждём.

lanket: Внесу свои 5 копеек в общее дело по теме. Может кому понравится, моя связка телефонов с majordomo, далее по тексту МД, через tasker: https://cloud.mail.ru/public/8b6F/t88U1KPyb Это экспортированный в xml мой 'проект', так называется набор профилей, по взоимоедействию телефона с МД. Что делает, или по другому описание вошедших в проект профилей: Я дома: сообщает в чате МД и МД произносит сообщение, далее по тексту Говорит, о регистрации в домашнем wifi сети имени, заданного в настройках, телефона/пользователя. Далее по тексту Пользователь. Вход. Смс: Говорит от кого и какому Пользователю пришло смс и читает его. Кто звонит : Говорит от кого и какому Пользователю входящий звонок. Уровень зарядки : если уровень зарядки батареи телефона менее чем 25%, вы дома да ещё и не поставили телефон на зарядку, то каждые 7 минут МД будет Говорить о надобности поставить на зарядку телефон Пользователя Уведомления: Говорит все уведомления Пользователя. Напоминания: Говорит напоминания от ежедневника CalenGoo Пользователя. ЛевоПраво муте: тресем телефоном влево вправо и МД вырубает звук. Вперёд Назад ПаузаПлэй: тресем телефоном вперёд назад и таким образом ставим на паузу воспроизведение или снимаем с паузы Каждые 2мин не профиль дома: отправка каждая 2 минуты GPS координат в МД для модуля GPS tracker если вы не в зоне доступа вашей домашней WiFi сети Mqtt test: просто проверял как работает plugin mqtt для таскера. Работает отлично должен через 3g и облачный сервер mqtt. Настройки переменных: MdLocalIp задаёте локальный ip Majordomo MdPatchToScript url путь в МД до обработчика скриптов MyName отображаемое в чате МД и произносимое МД в сообщениях к кому принадлежит событие. Например: Руслан , Вам сообщение от Любимой с текстом : Я тебя люблю. MYSERVER логин, пароль и адрес МД по удалёнке. Для работы этих скриптов с МД требуется скрипты в самом МД. С телефона не очень удобно их переносить поэтому выложу их вечером когда буду за компом. Что покажется лишнее можно в таскере удалить или отключить. Отправлено с моего Redmi Note 3 через Tapatalk

lanket: Для тех кто не знаком с таскером рекомендую знакомиться на 4пда: http://4pda.ru/forum/index.php?showtopic=173935&view=findpost&p=4626080 Там же можно и скачать его бесплатно Отправлено с моего Redmi Note 3 через Tapatalk

Alien: Прикладываю xml из таскера. В картинках будет слишком громоздко.
<TaskerData sr="" dvi="1" tv="5.0u6m">
<
Profile sr="prof31" ve="2">
<
cdate>1450960046407</cdate>
<
clp>true</clp>
<
edate>1506273722612</edate>
<
id>31</id>
<
limit>true</limit>
<
mid0>32</mid0>
<
nme>EX_PushReceive</nme>
<
Event sr="con0" ve="2">
<
code>1520257414</code>
<
pri>0</pri>
<
Bundle sr="arg0">
<
Vals sr="val">
<
AllFields>false</AllFields>
<
AllFields-type>java.lang.Boolean</AllFields-type>
<
App>&lt;null&gt;</App>
<
App-type>java.lang.String</App-type>
<
BigImageNames>&lt;null&gt;</BigImageNames>
<
BigImageNames-type>java.lang.String</BigImageNames-type>
<
BigTextNames>&lt;null&gt;</BigTextNames>
<
BigTextNames-type>java.lang.String</BigTextNames-type>
<
CaseinsensitiveApp>false</CaseinsensitiveApp>
<
CaseinsensitiveApp-type>java.lang.Boolean</CaseinsensitiveApp-type>
<
CaseinsensitivePackage>false</CaseinsensitivePackage>
<
CaseinsensitivePackage-type>java.lang.Boolean</CaseinsensitivePackage-type>
<
CaseinsensitiveText>false</CaseinsensitiveText>
<
CaseinsensitiveText-type>java.lang.Boolean</CaseinsensitiveText-type>
<
CaseinsensitiveTitle>false</CaseinsensitiveTitle>
<
CaseinsensitiveTitle-type>java.lang.Boolean</CaseinsensitiveTitle-type>
<
ExactApp>false</ExactApp>
<
ExactApp-type>java.lang.Boolean</ExactApp-type>
<
ExactPackage>false</ExactPackage>
<
ExactPackage-type>java.lang.Boolean</ExactPackage-type>
<
ExactText>false</ExactText>
<
ExactText-type>java.lang.Boolean</ExactText-type>
<
ExactTitle>false</ExactTitle>
<
ExactTitle-type>java.lang.Boolean</ExactTitle-type>
<
HasReplyAction>false</HasReplyAction>
<
HasReplyAction-type>java.lang.Boolean</HasReplyAction-type>
<
Id>&lt;null&gt;</Id>
<
Id-type>java.lang.String</Id-type>
<
ImageNames>&lt;null&gt;</ImageNames>
<
ImageNames-type>java.lang.String</ImageNames-type>
<
InterceptApps>&lt;StringArray sr=""&gt;&lt;_array_InterceptApps0&gt;com.pushbullet.android&lt;/_array_InterceptApps0&gt;&lt;/StringArray&gt;</InterceptApps>
<
InterceptApps-type>[Ljava.lang.String;</InterceptApps-type>
<
InterceptPersistent>0</InterceptPersistent>
<
InterceptPersistent-type>java.lang.String</InterceptPersistent-type>
<
InvertApp>false</InvertApp>
<
InvertApp-type>java.lang.Boolean</InvertApp-type>
<
InvertPackage>false</InvertPackage>
<
InvertPackage-type>java.lang.Boolean</InvertPackage-type>
<
InvertText>false</InvertText>
<
InvertText-type>java.lang.Boolean</InvertText-type>
<
InvertTitle>false</InvertTitle>
<
InvertTitle-type>java.lang.Boolean</InvertTitle-type>
<
PackageName>&lt;null&gt;</PackageName>
<
PackageName-type>java.lang.String</PackageName-type>
<
RegexApp>false</RegexApp>
<
RegexApp-type>java.lang.Boolean</RegexApp-type>
<
RegexPackage>false</RegexPackage>
<
RegexPackage-type>java.lang.Boolean</RegexPackage-type>
<
RegexText>false</RegexText>
<
RegexText-type>java.lang.Boolean</RegexText-type>
<
RegexTitle>false</RegexTitle>
<
RegexTitle-type>java.lang.Boolean</RegexTitle-type>
<
Text>&lt;null&gt;</Text>
<
Text-type>java.lang.String</Text-type>
<
TextNames>&lt;null&gt;</TextNames>
<
TextNames-type>java.lang.String</TextNames-type>
<
Title>&lt;null&gt;</Title>
<
Title-type>java.lang.String</Title-type>
<
Type>0</Type>
<
Type-type>java.lang.String</Type-type>
<
com.twofortyfouram.locale.intent.extra.BLURB>Event Behaviour: true
Notification Type
: Only Created Notifications
Persistency Type
: Both
Has Reply Action
: false
Get All Fields 
: false
Get Internal Actions
: false
Get Internal Actions Big
: false</com.twofortyfouram.locale.intent.extra.BLURB>
<
com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
<
net.dinglisch.android.tasker.EXTRA_NSR_DEPRECATED>true</net.dinglisch.android.tasker.EXTRA_NSR_DEPRECATED>
<
net.dinglisch.android.tasker.EXTRA_NSR_DEPRECATED-type>java.lang.Boolean</net.dinglisch.android.tasker.EXTRA_NSR_DEPRECATED-type>
<
net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%anapp
01. App name
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%anbackgroundimage
Background Image
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%anbigicon
04. Icon When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%anbutton1action
13. Button Action 1
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%anbutton1icon
13. Button 1 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5&gt;%anbutton1text
12. Button 1 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6&gt;%anbutton2action
15. Button 2 Action
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7&gt;%anbutton2icon
15. Button 2 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8&gt;%anbutton2text
14. Button 2 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9&gt;%anbutton3action
17. Button 3 Action
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10&gt;%anbutton3icon
17. Button 3 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11&gt;%anbutton3text
16. Button 3 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12&gt;%ancolor
Color
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13&gt;%andismissaction
23. Action On Dismiss Id
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14&gt;%angroup
Group
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15&gt;%anicon
04. Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16&gt;%anid
Id
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17&gt;%aninfotext
10. Info Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18&gt;%ankey
Key
A unique instance key for this notification
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19&gt;%anpackage
Package Name
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20&gt;%anpeople
People
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21&gt;%anpicture
05. Picture
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22&gt;%anpriority
Priority
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23&gt;%anprogress
Progress
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24&gt;%anprogressindeterminate
Progress Indeterminate
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25&gt;%anprogressmax
Progress Max
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26&gt;%anreplyaction
17. Action Reply
Use with AutoNotification Reply
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27&gt;%anshowchronometer
Show Chronometer
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28&gt;%ansortkey
Sort Key
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29&gt;%anstatus
Cancelled Or Created
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30&gt;%anstatusbaricon
07. Status Bar Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31&gt;%anstatusbaricon
Status Bar Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32&gt;%ansubtext
08. SubText
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33&gt;%ansummary
Is Summary
Will be set to 
&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if it's a summary and &amp;lt;b&amp;gt;will not be set&amp;lt;/b&amp;gt; otherwise.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34&gt;%ansummarytext
09. Summary Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES35&gt;%antag
Tag
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES35&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES36&gt;%antext
03. Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES36&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES37&gt;%antextbig
03. Text When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES37&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES38&gt;%antextlines
11. Text Lines
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES38&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES39&gt;%anticker
03. Ticker Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES39&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES40&gt;%antitle
02. Title
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES40&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES41&gt;%antitlebig
02. Title When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES41&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES42&gt;%antouchaction
22. Action On Touch Id
Use with AutoNotification Actions&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES42&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES43&gt;%anwhen
Show When
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES43&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES>
<net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>InterceptApps Type InterceptPersistent plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
<plugininstanceid>438ea4fc-0403-4e4a-90bc-296789e34ec1</plugininstanceid>
<plugininstanceid-type>java.lang.String</plugininstanceid-type>
<plugintypeid>com.joaomgcd.autonotification.intent.IntentInterceptNotificationEvent</plugintypeid>
<plugintypeid-type>java.lang.String</plugintypeid-type>
</Vals>
</Bundle>
<Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
<Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigNotificationInterceptTaskerEvent</Str>
</Event>
</Profile>
<Task sr="task32">
<cdate>1422443678710</cdate>
<edate>1506273919701</edate>
<id>32</id>
<nme>EX_PushGet</nme>
<pri>100</pri>
<Action sr="act0" ve="7">
<code>565385068</code>
<Bundle sr="arg0">
<Vals sr="val">
<AllFields>false</AllFields>
<AllFields-type>java.lang.Boolean</AllFields-type>
<BigImageNames>&lt;null&gt;</BigImageNames>
<BigImageNames-type>java.lang.String</BigImageNames-type>
<BigTextNames>&lt;null&gt;</BigTextNames>
<BigTextNames-type>java.lang.String</BigTextNames-type>
<HasReplyAction>false</HasReplyAction>
<HasReplyAction-type>java.lang.Boolean</HasReplyAction-type>
<ImageNames>&lt;null&gt;</ImageNames>
<ImageNames-type>java.lang.String</ImageNames-type>
<InterceptApps>&lt;StringArray sr=""&gt;&lt;_array_InterceptApps0&gt;com.pushbullet.android&lt;/_array_InterceptApps0&gt;&lt;/StringArray&gt;</InterceptApps>
<InterceptApps-type>[Ljava.lang.String;</InterceptApps-type>
<InterceptPersistent>0</InterceptPersistent>
<InterceptPersistent-type>java.lang.String</InterceptPersistent-type>
<InternalActionsBig>&lt;null&gt;</InternalActionsBig>
<InternalActionsBig-type>java.lang.String</InternalActionsBig-type>
<InternalActionsSmall>&lt;null&gt;</InternalActionsSmall>
<InternalActionsSmall-type>java.lang.String</InternalActionsSmall-type>
<QueryAnyMatch>&lt;null&gt;</QueryAnyMatch>
<QueryAnyMatch-type>java.lang.String</QueryAnyMatch-type>
<QueryAppName>&lt;null&gt;</QueryAppName>
<QueryAppName-type>java.lang.String</QueryAppName-type>
<QueryAppPackage>&lt;null&gt;</QueryAppPackage>
<QueryAppPackage-type>java.lang.String</QueryAppPackage-type>
<QueryText>&lt;null&gt;</QueryText>
<QueryText-type>java.lang.String</QueryText-type>
<QueryTitle>&lt;null&gt;</QueryTitle>
<QueryTitle-type>java.lang.String</QueryTitle-type>
<TextNames>&lt;null&gt;</TextNames>
<TextNames-type>java.lang.String</TextNames-type>
<UseRegex>false</UseRegex>
<UseRegex-type>java.lang.Boolean</UseRegex-type>
<com.twofortyfouram.locale.intent.extra.BLURB>Persistency Type: Both
Use Regex: false
Has Reply Action: false
Get All Fields : false</com.twofortyfouram.locale.intent.extra.BLURB>
<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
<net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%anapp()
01. App name
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%anbackgroundimage()
Background Image
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%anbigicon()
04. Icon When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%anbutton1action()
13. Button Action 1
Use with AutoNotification Actions&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%anbutton1icon()
13. Button 1 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5&gt;%anbutton1text()
12. Button 1 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6&gt;%anbutton2action()
15. Button 2 Action
Use with AutoNotification Actions&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7&gt;%anbutton2icon()
15. Button 2 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8&gt;%anbutton2text()
14. Button 2 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9&gt;%anbutton3action()
17. Button 3 Action
Use with AutoNotification Actions&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10&gt;%anbutton3icon()
17. Button 3 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11&gt;%anbutton3text()
16. Button 3 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12&gt;%ancolor()
Color
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13&gt;%andismissaction()
23. Action On Dismiss Id
Use with AutoNotification Actions&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14&gt;%angroup()
Group
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15&gt;%anicon()
04. Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16&gt;%anid()
Id
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17&gt;%aninfotext()
10. Info Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18&gt;%ankey()
Key
A unique instance key for this notification&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19&gt;%anpackage()
Package Name
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20&gt;%anpeople()
People
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21&gt;%anpicture()
05. Picture
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22&gt;%anpriority()
Priority
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23&gt;%anprogress()
Progress
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24&gt;%anprogressindeterminate()
Progress Indeterminate
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25&gt;%anprogressmax()
Progress Max
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26&gt;%anreplyaction()
17. Action Reply
Use with AutoNotification Reply&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27&gt;%anshowchronometer()
Show Chronometer
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28&gt;%ansortkey()
Sort Key
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29&gt;%anstatus()
Cancelled Or Created
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30&gt;%anstatusbaricon()
07. Status Bar Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31&gt;%anstatusbaricon()
Status Bar Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32&gt;%ansubtext()
08. SubText
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33&gt;%ansummary()
Is Summary
Will be set to &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if it'
s a summary and &amp;lt;b&amp;gt;will not be set&amp;lt;/b&amp;gt; otherwise.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34&gt;%ansummarytext()
09. Summary Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES35&gt;%antag()
Tag
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES35&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES36&gt;%antext()
03. Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES36&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES37&gt;%antextbig()
03. Text When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES37&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES38&gt;%antextlines()
11. Text Lines
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES38&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES39&gt;%anticker()
03. Ticker Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES39&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES40&gt;%antitle()
02. Title
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES40&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES41&gt;%antitlebig()
02. Title When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES41&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES42&gt;%antouchaction()
22. Action On Touch Id
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES42&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES43&gt;%anwhen()
Show When
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES43&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES44&gt;%err
Error Code
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES44&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES45&gt;%errmsg
Error Message
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES45&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES>
<
net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
<
net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>InterceptApps InterceptPersistent plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
<
net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
<
net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
<
net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
<
plugininstanceid>c11317f7-e49f-4dcf-b731-fa6b4ea56c96</plugininstanceid>
<
plugininstanceid-type>java.lang.String</plugininstanceid-type>
<
plugintypeid>com.joaomgcd.autonotification.intent.IntentNotificationQuery</plugintypeid>
<
plugintypeid-type>java.lang.String</plugintypeid-type>
</
Vals>
</
Bundle>
<
Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
<
Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigNotificationQuery</Str>
<
Int sr="arg3" val="20"/>
</
Action>
<
Action sr="act1" ve="7">
<
code>547</code>
<
Str sr="arg0" ve="3">%PushID</Str>
<
Str sr="arg1" ve="3">%anid</Str>
<
Int sr="arg2" val="0"/>
<
Int sr="arg3" val="0"/>
<
Int sr="arg4" val="0"/>
</
Action>
<
Action sr="act10" ve="7">
<
code>130</code>
<
Str sr="arg0" ve="3">EX_PushRun</Str>
<
Int sr="arg1">
<var>%
priority</var>
</
Int>
<
Str sr="arg2" ve="3"/>
<
Str sr="arg3" ve="3"/>
<
Str sr="arg4" ve="3"/>
<
Int sr="arg5" val="1"/>
</
Action>
<
Action sr="act11" ve="7">
<
code>38</code>
</
Action>
<
Action sr="act2" ve="7">
<
code>548</code>
<
Str sr="arg0" ve="3">%antitle</Str>
<
Int sr="arg1" val="0"/>
</
Action>
<
Action sr="act3" ve="7">
<
code>548</code>
<
Str sr="arg0" ve="3">%antext</Str>
<
Int sr="arg1" val="0"/>
</
Action>
<
Action sr="act4" ve="7">
<
code>548</code>
<
Str sr="arg0" ve="3">%antextbig</Str>
<
Int sr="arg1" val="0"/>
</
Action>
<
Action sr="act5" ve="7">
<
code>590</code>
<
Str sr="arg0" ve="3">%Pushmessage</Str>
<
Str sr="arg1" ve="3">/</Str>
<
Int sr="arg2" val="0"/>
</
Action>
<
Action sr="act6" ve="7">
<
code>37</code>
<
ConditionList sr="if">
<
Condition sr="c0" ve="3">
<
lhs>%Pushmessage(1)</lhs>
<
op>4</op>
<
rhs>Say</rhs>
</
Condition>
</
ConditionList>
</
Action>
<
Action sr="act7" ve="7">
<
code>130</code>
<
Str sr="arg0" ve="3">EX_PushSay</Str>
<
Int sr="arg1" val="5"/>
<
Str sr="arg2" ve="3"/>
<
Str sr="arg3" ve="3"/>
<
Str sr="arg4" ve="3"/>
<
Int sr="arg5" val="1"/>
</
Action>
<
Action sr="act8" ve="7">
<
code>38</code>
</
Action>
<
Action sr="act9" ve="7">
<
code>37</code>
<
ConditionList sr="if">
<
Condition sr="c0" ve="3">
<
lhs>%Pushmessage(1)</lhs>
<
op>4</op>
<
rhs>Run</rhs>
</
Condition>
</
ConditionList>
</
Action>
<
Img sr="icn" ve="2">
<
cls>com.pushbullet.android.ui.LaunchActivity</cls>
<
pkg>com.pushbullet.android</pkg>
</
Img>
</
Task>
</
TaskerData>

<TaskerData sr="" dvi="1" tv="5.0u6m">
    <Task sr="task32">
        <cdate>1422443678710</cdate>
        <edate>1506274521450</edate>
        <id>32</id>
        <nme>EX_PushGet</nme>
        <pri>100</pri>
        <Action sr="act0" ve="7">
            <code>565385068</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <AllFields>false</AllFields>
                    <AllFields-type>java.lang.Boolean</AllFields-type>
                    <BigImageNames>&lt;null&gt;</BigImageNames>
                    <BigImageNames-type>java.lang.String</BigImageNames-type>
                    <BigTextNames>&lt;null&gt;</BigTextNames>
                    <BigTextNames-type>java.lang.String</BigTextNames-type>
                    <HasReplyAction>false</HasReplyAction>
                    <HasReplyAction-type>java.lang.Boolean</HasReplyAction-type>
                    <ImageNames>&lt;null&gt;</ImageNames>
                    <ImageNames-type>java.lang.String</ImageNames-type>
                    <InterceptApps>&lt;StringArray sr=""&gt;&lt;_array_InterceptApps0&gt;com.pushbullet.android&lt;/_array_InterceptApps0&gt;&lt;/StringArray&gt;</InterceptApps>
                    <InterceptApps-type>[Ljava.lang.String;</InterceptApps-type>
                    <InterceptPersistent>0</InterceptPersistent>
                    <InterceptPersistent-type>java.lang.String</InterceptPersistent-type>
                    <InternalActionsBig>&lt;null&gt;</InternalActionsBig>
                    <InternalActionsBig-type>java.lang.String</InternalActionsBig-type>
                    <InternalActionsSmall>&lt;null&gt;</InternalActionsSmall>
                    <InternalActionsSmall-type>java.lang.String</InternalActionsSmall-type>
                    <QueryAnyMatch>&lt;null&gt;</QueryAnyMatch>
                    <QueryAnyMatch-type>java.lang.String</QueryAnyMatch-type>
                    <QueryAppName>&lt;null&gt;</QueryAppName>
                    <QueryAppName-type>java.lang.String</QueryAppName-type>
                    <QueryAppPackage>&lt;null&gt;</QueryAppPackage>
                    <QueryAppPackage-type>java.lang.String</QueryAppPackage-type>
                    <QueryText>&lt;null&gt;</QueryText>
                    <QueryText-type>java.lang.String</QueryText-type>
                    <QueryTitle>&lt;null&gt;</QueryTitle>
                    <QueryTitle-type>java.lang.String</QueryTitle-type>
                    <TextNames>&lt;null&gt;</TextNames>
                    <TextNames-type>java.lang.String</TextNames-type>
                    <UseRegex>false</UseRegex>
                    <UseRegex-type>java.lang.Boolean</UseRegex-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Persistency Type: Both
Use Regex
: false
Has Reply Action
: false
Get All Fields 
: false</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%anapp()
01. App name
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%anbackgroundimage()
Background Image
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;%anbigicon()
04. Icon When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;%anbutton1action()
13. Button Action 1
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;%anbutton1icon()
13. Button 1 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5&gt;%anbutton1text()
12. Button 1 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6&gt;%anbutton2action()
15. Button 2 Action
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES6&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7&gt;%anbutton2icon()
15. Button 2 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES7&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8&gt;%anbutton2text()
14. Button 2 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES8&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9&gt;%anbutton3action()
17. Button 3 Action
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES9&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10&gt;%anbutton3icon()
17. Button 3 Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES10&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11&gt;%anbutton3text()
16. Button 3 Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES11&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12&gt;%ancolor()
Color
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES12&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13&gt;%andismissaction()
23. Action On Dismiss Id
Use with AutoNotification Actions
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES13&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14&gt;%angroup()
Group
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES14&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15&gt;%anicon()
04. Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES15&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16&gt;%anid()
Id
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES16&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17&gt;%aninfotext()
10. Info Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES17&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18&gt;%ankey()
Key
A unique instance key for this notification
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES18&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19&gt;%anpackage()
Package Name
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES19&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20&gt;%anpeople()
People
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES20&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21&gt;%anpicture()
05. Picture
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES21&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22&gt;%anpriority()
Priority
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES22&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23&gt;%anprogress()
Progress
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES23&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24&gt;%anprogressindeterminate()
Progress Indeterminate
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES24&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25&gt;%anprogressmax()
Progress Max
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES25&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26&gt;%anreplyaction()
17. Action Reply
Use with AutoNotification Reply
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES26&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27&gt;%anshowchronometer()
Show Chronometer
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES27&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28&gt;%ansortkey()
Sort Key
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES28&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29&gt;%anstatus()
Cancelled Or Created
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES29&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30&gt;%anstatusbaricon()
07. Status Bar Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES30&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31&gt;%anstatusbaricon()
Status Bar Icon
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES31&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32&gt;%ansubtext()
08. SubText
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES32&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33&gt;%ansummary()
Is Summary
Will be set to 
&amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; if it's a summary and &amp;lt;b&amp;gt;will not be set&amp;lt;/b&amp;gt; otherwise.&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES33&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34&gt;%ansummarytext()
09. Summary Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES34&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES35&gt;%antag()
Tag
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES35&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES36&gt;%antext()
03. Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES36&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES37&gt;%antextbig()
03. Text When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES37&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES38&gt;%antextlines()
11. Text Lines
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES38&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES39&gt;%anticker()
03. Ticker Text
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES39&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES40&gt;%antitle()
02. Title
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES40&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES41&gt;%antitlebig()
02. Title When Expanded
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES41&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES42&gt;%antouchaction()
22. Action On Touch Id
Use with AutoNotification Actions&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES42&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES43&gt;%anwhen()
Show When
&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES43&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES44&gt;%err
Error Code
Only available if you select &amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES44&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES45&gt;%errmsg
Error Message
Only available if you select &amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES45&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>InterceptApps InterceptPersistent plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                    <plugininstanceid>c11317f7-e49f-4dcf-b731-fa6b4ea56c96</plugininstanceid>
                    <plugininstanceid-type>java.lang.String</plugininstanceid-type>
                    <plugintypeid>com.joaomgcd.autonotification.intent.IntentNotificationQuery</plugintypeid>
                    <plugintypeid-type>java.lang.String</plugintypeid-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
            <Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigNotificationQuery</Str>
            <Int sr="arg3" val="20"/>
        </Action>
        <Action sr="act1" ve="7">
            <code>547</code>
            <Str sr="arg0" ve="3">%PushID</Str>
            <Str sr="arg1" ve="3">%anid</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
        </Action>
        <Action sr="act10" ve="7">
            <code>130</code>
            <Str sr="arg0" ve="3">EX_PushRun</Str>
            <Int sr="arg1">
                <var>%priority</var>
            </Int>
            <Str sr="arg2" ve="3"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Int sr="arg5" val="1"/>
        </Action>
        <Action sr="act11" ve="7">
            <code>38</code>
        </Action>
        <Action sr="act2" ve="7">
            <code>548</code>
            <Str sr="arg0" ve="3">%antitle</Str>
            <Int sr="arg1" val="0"/>
        </Action>
        <Action sr="act3" ve="7">
            <code>548</code>
            <Str sr="arg0" ve="3">%antext</Str>
            <Int sr="arg1" val="0"/>
        </Action>
        <Action sr="act4" ve="7">
            <code>548</code>
            <Str sr="arg0" ve="3">%antextbig</Str>
            <Int sr="arg1" val="0"/>
        </Action>
        <Action sr="act5" ve="7">
            <code>590</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
            <Str sr="arg1" ve="3">/</Str>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act6" ve="7">
            <code>37</code>
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%Pushmessage(1)</lhs>
                    <op>4</op>
                    <rhs>Say</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act7" ve="7">
            <code>130</code>
            <Str sr="arg0" ve="3">EX_PushSay</Str>
            <Int sr="arg1" val="5"/>
            <Str sr="arg2" ve="3"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Int sr="arg5" val="1"/>
        </Action>
        <Action sr="act8" ve="7">
            <code>38</code>
        </Action>
        <Action sr="act9" ve="7">
            <code>37</code>
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%Pushmessage(1)</lhs>
                    <op>4</op>
                    <rhs>Run</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Img sr="icn" ve="2">
            <cls>com.pushbullet.android.ui.LaunchActivity</cls>
            <pkg>com.pushbullet.android</pkg>
        </Img>
    </Task>
</TaskerData>

Alien:
<TaskerData sr="" dvi="1" tv="5.0u6m">
    <Task sr="task33">
        <cdate>1422443678710</cdate>
        <edate>1504800495588</edate>
        <id>33</id>
        <nme>EX_PushSay</nme>
        <pri>100</pri>
        <Action sr="act0" ve="7">
            <code>37</code>
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%SILENT</lhs>
                    <op>1</op>
                    <rhs>on</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act1" ve="7">
            <code>2046367074</code>
            <se>false</se>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <App>&lt;null&gt;</App>
                    <App-type>java.lang.String</App-type>
                    <CancelAll>false</CancelAll>
                    <CancelAll-type>java.lang.Boolean</CancelAll-type>
                    <CaseinsensitiveApp>false</CaseinsensitiveApp>
                    <CaseinsensitiveApp-type>java.lang.Boolean</CaseinsensitiveApp-type>
                    <CaseinsensitivePackage>false</CaseinsensitivePackage>
                    <CaseinsensitivePackage-type>java.lang.Boolean</CaseinsensitivePackage-type>
                    <CaseinsensitiveText>false</CaseinsensitiveText>
                    <CaseinsensitiveText-type>java.lang.Boolean</CaseinsensitiveText-type>
                    <CaseinsensitiveTitle>false</CaseinsensitiveTitle>
                    <CaseinsensitiveTitle-type>java.lang.Boolean</CaseinsensitiveTitle-type>
                    <ExactApp>false</ExactApp>
                    <ExactApp-type>java.lang.Boolean</ExactApp-type>
                    <ExactPackage>false</ExactPackage>
                    <ExactPackage-type>java.lang.Boolean</ExactPackage-type>
                    <ExactText>false</ExactText>
                    <ExactText-type>java.lang.Boolean</ExactText-type>
                    <ExactTitle>false</ExactTitle>
                    <ExactTitle-type>java.lang.Boolean</ExactTitle-type>
                    <InterceptApps>&lt;StringArray sr=""&gt;&lt;_array_InterceptApps0&gt;org.telegram.messenger&lt;/_array_InterceptApps0&gt;&lt;_array_InterceptApps1&gt;com.pushbullet.android&lt;/_array_InterceptApps1&gt;&lt;/StringArray&gt;</InterceptApps>
                    <InterceptApps-type>[Ljava.lang.String;</InterceptApps-type>
                    <InvertApp>false</InvertApp>
                    <InvertApp-type>java.lang.Boolean</InvertApp-type>
                    <InvertPackage>false</InvertPackage>
                    <InvertPackage-type>java.lang.Boolean</InvertPackage-type>
                    <InvertText>false</InvertText>
                    <InvertText-type>java.lang.Boolean</InvertText-type>
                    <InvertTitle>false</InvertTitle>
                    <InvertTitle-type>java.lang.Boolean</InvertTitle-type>
                    <OtherId>%PushID</OtherId>
                    <OtherId-type>java.lang.String</OtherId-type>
                    <OtherPackage>&lt;null&gt;</OtherPackage>
                    <OtherPackage-type>java.lang.String</OtherPackage-type>
                    <OtherTag>&lt;null&gt;</OtherTag>
                    <OtherTag-type>java.lang.String</OtherTag-type>
                    <PackageName>&lt;null&gt;</PackageName>
                    <PackageName-type>java.lang.String</PackageName-type>
                    <RegexApp>false</RegexApp>
                    <RegexApp-type>java.lang.Boolean</RegexApp-type>
                    <RegexPackage>false</RegexPackage>
                    <RegexPackage-type>java.lang.Boolean</RegexPackage-type>
                    <RegexText>false</RegexText>
                    <RegexText-type>java.lang.Boolean</RegexText-type>
                    <RegexTitle>false</RegexTitle>
                    <RegexTitle-type>java.lang.Boolean</RegexTitle-type>
                    <Text>&lt;null&gt;</Text>
                    <Text-type>java.lang.String</Text-type>
                    <Title>&lt;null&gt;</Title>
                    <Title-type>java.lang.String</Title-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Cancel All: false
Notification Apps
: Telegram
Other Id
: %PushID</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%err
Error Code
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%errmsg
Error Message
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>InterceptApps OtherId plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                    <notificaitionid>&lt;null&gt;</notificaitionid>
                    <notificaitionid-type>java.lang.String</notificaitionid-type>
                    <plugininstanceid>f8ec1bed-9775-4021-92c2-48814df3a66c</plugininstanceid>
                    <plugininstanceid-type>java.lang.String</plugininstanceid-type>
                    <plugintypeid>com.joaomgcd.autonotification.intent.IntentCancelNotification</plugintypeid>
                    <plugintypeid-type>java.lang.String</plugintypeid-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
            <Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigCancelNotification</Str>
            <Int sr="arg3" val="0"/>
        </Action>
        <Action sr="act2" ve="7">
            <code>590</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
            <Str sr="arg1" ve="3">Say</Str>
            <Int sr="arg2" val="1"/>
        </Action>
        <Action sr="act3" ve="7">
            <code>592</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
            <Str sr="arg1" ve="3">/</Str>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act4" ve="7">
            <code>559</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
            <Str sr="arg1" ve="3">com.samsung.SMT:rus-RUS</Str>
            <Int sr="arg2" val="5"/>
            <Int sr="arg3" val="5"/>
            <Int sr="arg4" val="5"/>
            <Int sr="arg5" val="1"/>
            <Int sr="arg6" val="0"/>
            <Int sr="arg7" val="0"/>
        </Action>
        <Action sr="act5" ve="7">
            <code>357</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
        </Action>
        <Action sr="act6" ve="7">
            <code>549</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act7" ve="7">
            <code>549</code>
            <Str sr="arg0" ve="3">%PushID</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act8" ve="7">
            <code>38</code>
        </Action>
        <Img sr="icn" ve="2">
            <cls>com.pushbullet.android.ui.LaunchActivity</cls>
            <pkg>com.pushbullet.android</pkg>
        </Img>
    </Task>
</
TaskerData>

<TaskerData sr="" dvi="1" tv="5.0u6m">
    <Task sr="task35">
        <cdate>1422443678710</cdate>
        <edate>1506273922851</edate>
        <id>35</id>
        <nme>EX_PushRun</nme>
        <pri>100</pri>
        <Action sr="act0" ve="7">
            <code>547</code>
            <Str sr="arg0" ve="3">%PushRun</Str>
            <Str sr="arg1" ve="3">%Pushmessage</Str>
            <Int sr="arg2" val="0"/>
            <Int sr="arg3" val="0"/>
            <Int sr="arg4" val="0"/>
        </Action>
        <Action sr="act1" ve="7">
            <code>590</code>
            <Str sr="arg0" ve="3">%PushRun</Str>
            <Str sr="arg1" ve="3">Run</Str>
            <Int sr="arg2" val="1"/>
        </Action>
        <Action sr="act10" ve="7">
            <code>38</code>
        </Action>
        <Action sr="act11" ve="7">
            <code>37</code>
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%PushRun</lhs>
                    <op>4</op>
                    <rhs>Notify</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act12" ve="7">
            <code>538</code>
            <Str sr="arg0" ve="3">Play</Str>
            <Str sr="arg1" ve="3"/>
            <Img sr="arg2" ve="2"/>
            <Int sr="arg3" val="0"/>
            <Str sr="arg4" ve="3">Android/media/com.google.android.talk/Ringtones/hangouts_incoming_call.ogg</Str>
            <Int sr="arg5" val="3"/>
            <Int sr="arg6" val="0"/>
        </Action>
        <Action sr="act13" ve="7">
            <code>2046367074</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <App>&lt;null&gt;</App>
                    <App-type>java.lang.String</App-type>
                    <CancelAll>false</CancelAll>
                    <CancelAll-type>java.lang.Boolean</CancelAll-type>
                    <CaseinsensitiveApp>false</CaseinsensitiveApp>
                    <CaseinsensitiveApp-type>java.lang.Boolean</CaseinsensitiveApp-type>
                    <CaseinsensitivePackage>false</CaseinsensitivePackage>
                    <CaseinsensitivePackage-type>java.lang.Boolean</CaseinsensitivePackage-type>
                    <CaseinsensitiveText>false</CaseinsensitiveText>
                    <CaseinsensitiveText-type>java.lang.Boolean</CaseinsensitiveText-type>
                    <CaseinsensitiveTitle>false</CaseinsensitiveTitle>
                    <CaseinsensitiveTitle-type>java.lang.Boolean</CaseinsensitiveTitle-type>
                    <ExactApp>false</ExactApp>
                    <ExactApp-type>java.lang.Boolean</ExactApp-type>
                    <ExactPackage>false</ExactPackage>
                    <ExactPackage-type>java.lang.Boolean</ExactPackage-type>
                    <ExactText>false</ExactText>
                    <ExactText-type>java.lang.Boolean</ExactText-type>
                    <ExactTitle>false</ExactTitle>
                    <ExactTitle-type>java.lang.Boolean</ExactTitle-type>
                    <InterceptApps>&lt;StringArray sr=""/&gt;</InterceptApps>
                    <InterceptApps-type>[Ljava.lang.String;</InterceptApps-type>
                    <InvertApp>false</InvertApp>
                    <InvertApp-type>java.lang.Boolean</InvertApp-type>
                    <InvertPackage>false</InvertPackage>
                    <InvertPackage-type>java.lang.Boolean</InvertPackage-type>
                    <InvertText>false</InvertText>
                    <InvertText-type>java.lang.Boolean</InvertText-type>
                    <InvertTitle>false</InvertTitle>
                    <InvertTitle-type>java.lang.Boolean</InvertTitle-type>
                    <OtherId>%PushID</OtherId>
                    <OtherId-type>java.lang.String</OtherId-type>
                    <OtherPackage>&lt;null&gt;</OtherPackage>
                    <OtherPackage-type>java.lang.String</OtherPackage-type>
                    <OtherTag>&lt;null&gt;</OtherTag>
                    <OtherTag-type>java.lang.String</OtherTag-type>
                    <PackageName>&lt;null&gt;</PackageName>
                    <PackageName-type>java.lang.String</PackageName-type>
                    <RegexApp>false</RegexApp>
                    <RegexApp-type>java.lang.Boolean</RegexApp-type>
                    <RegexPackage>false</RegexPackage>
                    <RegexPackage-type>java.lang.Boolean</RegexPackage-type>
                    <RegexText>false</RegexText>
                    <RegexText-type>java.lang.Boolean</RegexText-type>
                    <RegexTitle>false</RegexTitle>
                    <RegexTitle-type>java.lang.Boolean</RegexTitle-type>
                    <Text>&lt;null&gt;</Text>
                    <Text-type>java.lang.String</Text-type>
                    <Title>&lt;null&gt;</Title>
                    <Title-type>java.lang.String</Title-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Cancel All: false
Other Id
: %PushID</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%err
Error Code
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%errmsg
Error Message
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>notificaitionid InterceptApps App Title Text PackageName OtherId OtherPackage OtherTag plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                    <notificaitionid>&lt;null&gt;</notificaitionid>
                    <notificaitionid-type>java.lang.String</notificaitionid-type>
                    <plugininstanceid>f8ec1bed-9775-4021-92c2-48814df3a66c</plugininstanceid>
                    <plugininstanceid-type>java.lang.String</plugininstanceid-type>
                    <plugintypeid>com.joaomgcd.autonotification.intent.IntentCancelNotification</plugintypeid>
                    <plugintypeid-type>java.lang.String</plugintypeid-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
            <Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigCancelNotification</Str>
            <Int sr="arg3" val="0"/>
        </Action>
        <Action sr="act14" ve="7">
            <code>38</code>
        </Action>
        <Action sr="act15" ve="7">
            <code>357</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
        </Action>
        <Action sr="act16" ve="7">
            <code>549</code>
            <Str sr="arg0" ve="3">%Pushmessage</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act17" ve="7">
            <code>357</code>
            <Str sr="arg0" ve="3">%PushRun</Str>
        </Action>
        <Action sr="act18" ve="7">
            <code>549</code>
            <Str sr="arg0" ve="3">%PushRun</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act2" ve="7">
            <code>592</code>
            <Str sr="arg0" ve="3">%PushRun</Str>
            <Str sr="arg1" ve="3">/</Str>
            <Int sr="arg2" val="0"/>
        </Action>
        <Action sr="act3" ve="7">
            <code>37</code>
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%PushRun</lhs>
                    <op>4</op>
                    <rhs>SilentOn</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act4" ve="7">
            <code>130</code>
            <Str sr="arg0" ve="3">QuietModeOn</Str>
            <Int sr="arg1">
                <var>%priority</var>
            </Int>
            <Str sr="arg2" ve="3"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Int sr="arg5" val="0"/>
        </Action>
        <Action sr="act5" ve="7">
            <code>2046367074</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <App>&lt;null&gt;</App>
                    <App-type>java.lang.String</App-type>
                    <CancelAll>false</CancelAll>
                    <CancelAll-type>java.lang.Boolean</CancelAll-type>
                    <CaseinsensitiveApp>false</CaseinsensitiveApp>
                    <CaseinsensitiveApp-type>java.lang.Boolean</CaseinsensitiveApp-type>
                    <CaseinsensitivePackage>false</CaseinsensitivePackage>
                    <CaseinsensitivePackage-type>java.lang.Boolean</CaseinsensitivePackage-type>
                    <CaseinsensitiveText>false</CaseinsensitiveText>
                    <CaseinsensitiveText-type>java.lang.Boolean</CaseinsensitiveText-type>
                    <CaseinsensitiveTitle>false</CaseinsensitiveTitle>
                    <CaseinsensitiveTitle-type>java.lang.Boolean</CaseinsensitiveTitle-type>
                    <ExactApp>false</ExactApp>
                    <ExactApp-type>java.lang.Boolean</ExactApp-type>
                    <ExactPackage>false</ExactPackage>
                    <ExactPackage-type>java.lang.Boolean</ExactPackage-type>
                    <ExactText>false</ExactText>
                    <ExactText-type>java.lang.Boolean</ExactText-type>
                    <ExactTitle>false</ExactTitle>
                    <ExactTitle-type>java.lang.Boolean</ExactTitle-type>
                    <InterceptApps>&lt;StringArray sr=""/&gt;</InterceptApps>
                    <InterceptApps-type>[Ljava.lang.String;</InterceptApps-type>
                    <InvertApp>false</InvertApp>
                    <InvertApp-type>java.lang.Boolean</InvertApp-type>
                    <InvertPackage>false</InvertPackage>
                    <InvertPackage-type>java.lang.Boolean</InvertPackage-type>
                    <InvertText>false</InvertText>
                    <InvertText-type>java.lang.Boolean</InvertText-type>
                    <InvertTitle>false</InvertTitle>
                    <InvertTitle-type>java.lang.Boolean</InvertTitle-type>
                    <OtherId>%PushID</OtherId>
                    <OtherId-type>java.lang.String</OtherId-type>
                    <OtherPackage>&lt;null&gt;</OtherPackage>
                    <OtherPackage-type>java.lang.String</OtherPackage-type>
                    <OtherTag>&lt;null&gt;</OtherTag>
                    <OtherTag-type>java.lang.String</OtherTag-type>
                    <PackageName>&lt;null&gt;</PackageName>
                    <PackageName-type>java.lang.String</PackageName-type>
                    <RegexApp>false</RegexApp>
                    <RegexApp-type>java.lang.Boolean</RegexApp-type>
                    <RegexPackage>false</RegexPackage>
                    <RegexPackage-type>java.lang.Boolean</RegexPackage-type>
                    <RegexText>false</RegexText>
                    <RegexText-type>java.lang.Boolean</RegexText-type>
                    <RegexTitle>false</RegexTitle>
                    <RegexTitle-type>java.lang.Boolean</RegexTitle-type>
                    <Text>&lt;null&gt;</Text>
                    <Text-type>java.lang.String</Text-type>
                    <Title>&lt;null&gt;</Title>
                    <Title-type>java.lang.String</Title-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Cancel All: false
Other Id
: %PushID</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%err
Error Code
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%errmsg
Error Message
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>notificaitionid InterceptApps App Title Text PackageName OtherId OtherPackage OtherTag plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                    <notificaitionid>&lt;null&gt;</notificaitionid>
                    <notificaitionid-type>java.lang.String</notificaitionid-type>
                    <plugininstanceid>f8ec1bed-9775-4021-92c2-48814df3a66c</plugininstanceid>
                    <plugininstanceid-type>java.lang.String</plugininstanceid-type>
                    <plugintypeid>com.joaomgcd.autonotification.intent.IntentCancelNotification</plugintypeid>
                    <plugintypeid-type>java.lang.String</plugintypeid-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
            <Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigCancelNotification</Str>
            <Int sr="arg3" val="0"/>
        </Action>
        <Action sr="act6" ve="7">
            <code>38</code>
        </Action>
        <Action sr="act7" ve="7">
            <code>37</code>
            <ConditionList sr="if">
                <Condition sr="c0" ve="3">
                    <lhs>%PushRun</lhs>
                    <op>4</op>
                    <rhs>SilentOff</rhs>
                </Condition>
            </ConditionList>
        </Action>
        <Action sr="act8" ve="7">
            <code>130</code>
            <Str sr="arg0" ve="3">QuietModeOff</Str>
            <Int sr="arg1">
                <var>%priority</var>
            </Int>
            <Str sr="arg2" ve="3"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Int sr="arg5" val="0"/>
        </Action>
        <Action sr="act9" ve="7">
            <code>2046367074</code>
            <Bundle sr="arg0">
                <Vals sr="val">
                    <App>&lt;null&gt;</App>
                    <App-type>java.lang.String</App-type>
                    <CancelAll>false</CancelAll>
                    <CancelAll-type>java.lang.Boolean</CancelAll-type>
                    <CaseinsensitiveApp>false</CaseinsensitiveApp>
                    <CaseinsensitiveApp-type>java.lang.Boolean</CaseinsensitiveApp-type>
                    <CaseinsensitivePackage>false</CaseinsensitivePackage>
                    <CaseinsensitivePackage-type>java.lang.Boolean</CaseinsensitivePackage-type>
                    <CaseinsensitiveText>false</CaseinsensitiveText>
                    <CaseinsensitiveText-type>java.lang.Boolean</CaseinsensitiveText-type>
                    <CaseinsensitiveTitle>false</CaseinsensitiveTitle>
                    <CaseinsensitiveTitle-type>java.lang.Boolean</CaseinsensitiveTitle-type>
                    <ExactApp>false</ExactApp>
                    <ExactApp-type>java.lang.Boolean</ExactApp-type>
                    <ExactPackage>false</ExactPackage>
                    <ExactPackage-type>java.lang.Boolean</ExactPackage-type>
                    <ExactText>false</ExactText>
                    <ExactText-type>java.lang.Boolean</ExactText-type>
                    <ExactTitle>false</ExactTitle>
                    <ExactTitle-type>java.lang.Boolean</ExactTitle-type>
                    <InterceptApps>&lt;StringArray sr=""/&gt;</InterceptApps>
                    <InterceptApps-type>[Ljava.lang.String;</InterceptApps-type>
                    <InvertApp>false</InvertApp>
                    <InvertApp-type>java.lang.Boolean</InvertApp-type>
                    <InvertPackage>false</InvertPackage>
                    <InvertPackage-type>java.lang.Boolean</InvertPackage-type>
                    <InvertText>false</InvertText>
                    <InvertText-type>java.lang.Boolean</InvertText-type>
                    <InvertTitle>false</InvertTitle>
                    <InvertTitle-type>java.lang.Boolean</InvertTitle-type>
                    <OtherId>%PushID</OtherId>
                    <OtherId-type>java.lang.String</OtherId-type>
                    <OtherPackage>&lt;null&gt;</OtherPackage>
                    <OtherPackage-type>java.lang.String</OtherPackage-type>
                    <OtherTag>&lt;null&gt;</OtherTag>
                    <OtherTag-type>java.lang.String</OtherTag-type>
                    <PackageName>&lt;null&gt;</PackageName>
                    <PackageName-type>java.lang.String</PackageName-type>
                    <RegexApp>false</RegexApp>
                    <RegexApp-type>java.lang.Boolean</RegexApp-type>
                    <RegexPackage>false</RegexPackage>
                    <RegexPackage-type>java.lang.Boolean</RegexPackage-type>
                    <RegexText>false</RegexText>
                    <RegexText-type>java.lang.Boolean</RegexText-type>
                    <RegexTitle>false</RegexTitle>
                    <RegexTitle-type>java.lang.Boolean</RegexTitle-type>
                    <Text>&lt;null&gt;</Text>
                    <Text-type>java.lang.String</Text-type>
                    <Title>&lt;null&gt;</Title>
                    <Title-type>java.lang.String</Title-type>
                    <com.twofortyfouram.locale.intent.extra.BLURB>Cancel All: false
Other Id
: %PushID</com.twofortyfouram.locale.intent.extra.BLURB>
                    <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES>&lt;StringArray sr=""&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;%err
Error Code
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0&gt;&lt;_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;%errmsg
Error Message
Only available if you select 
&amp;lt;b&amp;gt;Continue Task After Error&amp;lt;/b&amp;gt; and the action ends in error&lt;/_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1&gt;&lt;/StringArray&gt;</net.dinglisch.android.tasker.RELEVANT_VARIABLES>
                    <net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>notificaitionid InterceptApps App Title Text PackageName OtherId OtherPackage OtherTag plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
                    <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
                    <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
                    <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
                    <notificaitionid>&lt;null&gt;</notificaitionid>
                    <notificaitionid-type>java.lang.String</notificaitionid-type>
                    <plugininstanceid>f8ec1bed-9775-4021-92c2-48814df3a66c</plugininstanceid>
                    <plugininstanceid-type>java.lang.String</plugininstanceid-type>
                    <plugintypeid>com.joaomgcd.autonotification.intent.IntentCancelNotification</plugintypeid>
                    <plugintypeid-type>java.lang.String</plugintypeid-type>
                </Vals>
            </Bundle>
            <Str sr="arg1" ve="3">com.joaomgcd.autonotification</Str>
            <Str sr="arg2" ve="3">com.joaomgcd.autonotification.activity.ActivityConfigCancelNotification</Str>
            <Int sr="arg3" val="0"/>
        </Action>
        <Img sr="icn" ve="2">
            <cls>com.pushbullet.android.ui.LaunchActivity</cls>
            <pkg>com.pushbullet.android</pkg>
        </Img>
    </Task>
</
TaskerData>

webms: Внесу свои 5 копеек в общее дело по теме. Для работы этих скриптов с МД требуется скрипты в самом МД. С телефона не очень удобно их переносить поэтому выложу их вечером когда буду за компом. Что покажется лишнее можно в таскере удалить или отключить. Отправлено с моего Redmi Note 3 через Tapatalk скиньте пожалуйста скрипты

lanket: Внесу свои 5 копеек в общее дело по теме. Для работы этих скриптов с МД требуется скрипты в самом МД. С телефона не очень удобно их переносить поэтому выложу их вечером когда буду за компом. Что покажется лишнее можно в таскере удалить или отключить. Отправлено с моего Redmi Note 3 через Tapatalk скиньте пожалуйста скрипты Прошу прощения замотался и забыл. Ниже обещенное. Для правильного вызова скриптов из таскера как есть надо соблюсти названия Сценариев Сценарии: Название: BatteryLow Описание: Телефон просит Алису сообщить что села батарейка
/* BatteryLow&Name=%MyName
*/
Say($params['Name'].", поставь телефон на зарядку.",  2);    
 
Название: IAmAtHome Описание: Tasked когда видит подключение к домашней сети шлет сюда имя хозяина телефона
/* IAmAtHome&Name=%MyName
 */
 
Say($params['Name']." зарегистрирован"2);    
 
Название: IncomingCall Описание: Телефон просит Алису сообщить что ктото звонит
/*
script=IncomingCall
To=%MyName
From=%CNAME
FromNumber=%CNUM
*/

$txt=$params['To'].", входящий звонок";
$txt.=" от "
$txt.=($params['From'])?$params['From']:$params['FromNumber'];

 
Say($txt2);    

 
Название: IncomingSms Описание: Телефон просит Алису прочитать смс
/* IncomingSms&To=%MyName&From=%SMSRN&FromNumber=%SMSRF&Text=%SMSRB
*/
$txt=$params['To']." вам СМС.";
$txt.=" Отправитель ".($params['From'])?$params['From']:$params['FromNumber'].$params['To'].".";
$txt.=" С содержанием: ".$params['Text'].".";

 
Say($txt2); 
 
Название: Organayser Описание: Tasker шлет сюда события календара
/* 
script=Organayser
Text=%CALDESCR
Title=%CALTITLE
To=%MyName
*/

$txt=$params['To'].", ежедневник сообщает:";
$txt.=" ".$params['Title'].".";
$txt.=" ".$params['Text'].".";

 
Say($txt2);    

 
Название: Say Описание: Телефон просит Алису сообщить уведомление
/* 
script=Say
To=%MyName
Text=%NTITLE
*/


$txt=$params['To'].", телефон хочет сообщить, что";
$txt.=" ".$params['Text'].".";

 
Say($txt2);    

 
Название: playPause Описание: Ставит на паузу VLC или снимает с паузы Не помню откуда взял код этого скрипта и на самом деле это заготовка не доведеная до ума, даже не знаю работает ли она. Времени нет.
getURL
('http://localhost/rc/?command=vlc_pause',0);
 
Название: Mute Описание: Выключить включить звук
/* нет кода. руки еще не дошли отладить мультимедиа */
 

warik: У меня у одного, xml-ка lanket-а, не импортится в Таскер? Таскер 5.0u6m купленный в плеймаркете. https://uploads.tapatalk-cdn.com/20171013/a52e749a9675a47c332b26d6bf5851a7.jpg

Alexiy2: Тоже сегодня пытался импортировать. На ту же версию Tasker-а, ВЫВАЛИВАЕТСЯ ОШИБКА ПРИ ИМПОРТЕ Отправлено с моего Lenovo TB3-730X через Tapatalk

lanket: У меня версия : About Version: 5.0u6m For Android: 5.0+ ------ А вы точно нажимаете импорт именно проекта а не профиля. Длинное нажатие в области проектов, видна только после снятии галочки beginner mode, и там выбрать импорт. Доеду до дома заново экспортирую и перезалью. Отправлено с моего Redmi Note 4 через Tapatalk https://uploads.tapatalk-cdn.com/20171013/9d523042b8b68bfac65ed89c25471b78.jpg

warik: У меня версия : About Version: 5.0u6m For Android: 5.0+ ------ А вы точно нажимаете импорт именно проекта а не профиля. Длинное нажатие в области проектов, видна только после снятии галочки beginner mode, и там выбрать импорт. Доеду до дома заново экспортирую и перезалью. Отправлено с моего Redmi Note 4 через TapatalkЖму на "Домик" > Импорт > выбираю xml файл. Отправлено с моего ONEPLUS A3000 через Tapatalk

lanket: У меня версия : About Version: 5.0u6m For Android: 5.0+ ------ А вы точно нажимаете импорт именно проекта а не профиля. Длинное нажатие в области проектов, видна только после снятии галочки beginner mode, и там выбрать импорт. Доеду до дома заново экспортирую и перезалью. Отправлено с моего Redmi Note 4 через TapatalkЖму на "Домик" > Импорт > выбираю xml файл. Отправлено с моего ONEPLUS A3000 через TapatalkЖму в смысле долгий таб. Тогда правильно. Обновил ссылку в посте. Перезалил заново 'проект', немного его почистив перед этим. Убрав из него ссылки на несуществующие у вас профили. Думаю мог не импортироваться из за этого. Либо если там спрятана контрольная сумма, то тоже могло не пойти так как уже в xml убирал адреса и пароли и последние координаты мои. Если не пойдет, отпишитесь . Посмотрю может что еще пропустил. Отправлено с моего Redmi Note 3 через Tapatalk https://cloud.mail.ru/public/8b6F/t88U1KPyb П.с. только что, 14.10.17 в 00:04, ещё раз обновил. Увидел ссылку ещё на один профиль не из этого проекта.

warik: У меня версия : About Version: 5.0u6m For Android: 5.0+ ------ А вы точно нажимаете импорт именно проекта а не профиля. Длинное нажатие в области проектов, видна только после снятии галочки beginner mode, и там выбрать импорт. Доеду до дома заново экспортирую и перезалью. Отправлено с моего Redmi Note 4 через TapatalkЖму на "Домик" > Импорт > выбираю xml файл. Отправлено с моего ONEPLUS A3000 через TapatalkЖму в смысле долгий таб. Тогда правильно. Обновил ссылку в посте. Перезалил заново 'проект', немного его почистив перед этим. Убрав из него ссылки на несуществующие у вас профили. Думаю мог не импортироваться из за этого. Либо если там спрятана контрольная сумма, то тоже могло не пойти так как уже в xml убирал адреса и пароли и последние координаты мои. Если не пойдет, отпишитесь . Посмотрю может что еще пропустил. Отправлено с моего Redmi Note 3 через Tapatalk https://cloud.mail.ru/public/8b6F/t88U1KPyb П.с. только что, 14.10.17 в 00:04, ещё раз обновил. Увидел ссылку ещё на один профиль не из этого проекта.Импортнуло без ошибок. Спасибо!

[ Обсудить на форуме ]

 

MajorDomo

Информация

Проекты

Партнёры

edit SideBar

 
 
 

 

Blix theme adapted by David Gilbert, powered by PmWiki