Используйте Tasker для уведомления, когда ваши привязанные устройства теряют доступ к Интернету

Создайте предупреждения «нет сети» привязывания с помощью Tasker. Он сообщит вам, когда ваше соединение прервется. Уведомления для носимых и подключенных устройств

Из прошлой статьи вы знаете, что в поезде я провожу довольно много времени. Это отличное время, чтобы написать пару статей, при условии, что у меня есть доступ к Интернету для поиска фактов и идей. В поезде с привязкой может быть сложно, так как на моем маршруте разбросаны зоны без стойки регистрации. Мне довольно легко сказать, что я собираюсь отключиться от сети, когда я нахожусь в туннеле, но ситуация менее очевидна, когда поезд курсирует по открытым лугам Северного Йоркшира. Встроенное в Android решение для привязки не может сообщить вам, что вы не сможете загрузить этот веб-сайт в течение следующих 5 минут.

Вот почему, как поклонник Tasker, я задумался о том, как решить свою проблему с помощью популярного приложения для автоматизации Android. Я решил свою проблему, создав предупреждение о привязке «нет сети» с помощью Tasker. Цель проекта — сообщить вам, когда ваш телефон больше не находится в зоне действия сотовой сети. Это будет сделано 3 способами:

  • Использование светодиодного индикатора уведомлений (лучше всего подходит для привязки друзей)
  • Использование значка смартфона (нужны умные часы)
  • Использование push-уведомления (лучше всего подходит для персональных устройств — можно заменить на AutoRemote)

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

Тебе понадобится:

Версия Андроид: 4.0+, для плитки уведомлений требуется Android 7.0

Программы: Присоединиться

Плагины: АвтоВеар (необязательный), Автодистанционное управление (может заменить Join), Автоуведомление (необязательный)


Включите предупреждение о привязке «нет сети» с помощью Tasker

Вместо проверки включения модема проще заменить плитку в строке состояния на Автоуведомление и настройте поведение переключения. Если у вас не Android 7.0, вы можете вместо этого использовать ярлык или виджет.

Если вы никогда не включали плитку с Автоуведомление - вы увидите, что это немного неловко. Вам нужно будет создать задачу настройки, которая преобразует плитку шаблона в плитку по нашему выбору. Поместите пустую плитку, т.е. Автоуведомление 02 в область плиток (нажмите «Изменить», чтобы редактировать видимые плитки).

Создайте плитку привязки

Привязывающая плитка

Tile Setup

A1: AutoNotification Tiles [ Configuration: Tile: 2

Command: hotspottoggle

Label: Hotspot

Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal

State: 1

Require Unlock: false

Hide Notifications: true Timeout (Seconds):60 ]

A2: Variable Set [ Name:%HotspotVariable To: 0 Recurse Variables: Off Do Maths: Off Append: Off ]

A3: Variable Set [ Name:%HotspotDialog To: 0 Recurse Variables: Off Do Maths: Off Append: Off ]

читать далее

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

Будут созданы еще две переменные, которым присвоено значение 0. %HotspotVariable отобразит статус привязки (0 = нет, 1 = да) и %ХотспотДиалог отобразит диалоговое окно с вопросом, какое устройство мы хотим уведомить (0 = не показывать, 1 = показывать диалог).

Переключатель модема

Переключатель модема

Hotspot Toggle 

A1: Variable Add [ Name:%HotspotDialog Value: 1 Wrap Around: 2 ]

A2: AutoNotification Tiles [ Configuration: Tile: 2

Command: hotspottoggle

Label: Hotspot

Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal

State: 999

Require Unlock: false

Hide Notifications: true Timeout (Seconds):60 ]

A3: WiFi Tether [ Set: Toggle ]

A4: Perform Task [ Name: Hotspot Dialog Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop: Off ] If [ %HotspotDialog ~ 1 ]

A5: Wait [ MS: 0 Seconds: 5 Minutes: 0 Hours: 0 Days: 0 ]

A6: Variable Add [ Name:%HotspotVariable Value: 1 Wrap Around: 2 ]

A7: Variable Clear [ Name:%HotspotDevice Pattern Matching: Off ] If [ %HotspotVariable ~ 0 ]

читать далее

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

При нажатии на плитку она меняет статус на активный. %ХотспотДиалог изменяется на 1, и это запускает Диалог горячей точки задача. Пока мы выбираем наше устройство, профили Hotspot активируются установкой переменной %HotspotVariable до 1. Когда я снова нажимаю на плитку, чтобы завершить привязку, Диалог горячей точки возвращается к 0 и больше не запрашивает отображение диалогового окна, а %HotspotVariable установлено нейтральное значение 0.

А1, А6

Действие Переменная Добавить +1 изменит значение наших начальных переменных с 0 на 1 и обернет его вокруг 2. Это означает, что эти переменные всегда будут принимать значения 1 или 0. Размещение действия также имеет значение, так как %ХотспотДиалог будет контролировать время отображения диалогового окна. Мы запускаем одну и ту же задачу, чтобы отключить и включить привязку, но мы не хотим, чтобы диалоговое окно появлялось каждый раз, когда мы его переключаем.

А7

Пока мы этим занимаемся, если будет выполнена задача по отключению tether(%HotspotVariable = 0), мы хотим очистить переменную, в которой хранится имя устройства, которое получает уведомление от задачи «Диалоговая точка доступа».

А5

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

А3

Просто переключить привязь Wi-Fi действие. В этом шаге нет ничего сложного.

А4

Отображается отдельная задача, чтобы показать Диалоговое окно «Автоинструменты» и действия по выбору, который я сделал. Это запустится, когда наша управляющая переменная диалога %ХотспотДиалог = 1.

А2

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

Диалоговое окно «Горячая точка»

Диалоговое окно «Горячая точка»

Hotspot Dialog 

A1: AutoTools Dialog [ Configuration: Dialog Type: List

Title: Enable poor network notification?

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png

List Type: 1

Texts: Tablet, Mobile, Computer, Watch, Laptop

Text Size: 20

Images: /storage/emulated/0/Tasker/Material Icons/ic_tablet-1.png,/storage/emulated/0/Tasker/Material Icons/ic_cellphone_android-1.png,/storage/emulated/0/Tasker/Material Icons/ic_desktop_mac-1.png,/storage/emulated/0/Tasker/Material Icons/ic_watch-1.png,/storage/emulated/0/Tasker/Material Icons/ic_laptop-1.png

Image Width: 50

Dim Background: true

Number Of Columns: 3

Top Margin: 16

Bottom Margin: 16

Bottom Buttons Top Margin: 16

Bottom Buttons Bottom Margin: 16

Close On Select: true

Separator: ,

Command Variable: atcommand

Cancelable: true

Turn Screen On: true Timeout (Seconds):60 ]

A2: Variable Set [ Name:%HotspotDevice To:%attext Recurse Variables: Off Do Maths: Off Append: Off ]

читать далее

Диалоговое окно «Автоинструменты» используется для отображения доступных устройств. Когда устройство выбрано, диалоговое окно закроется и установит значение %HotspotDevice к названию этого устройства. Эта переменная очищается каждый раз, когда привязка прекращается.

Плохой прием/нет данных

Плохой прием/нет профилей данных

читать далее

Я создал 2 профиля, которые будут проверять уровень сигнала и подключение к Интернету. Каждый из них контролируется переменной %HotspotVariable и активен только при включенном модеме. Оба профиля запускают одну и ту же задачу при активации и деактивации. Один содержит контекст состояния (мощность сигнала), а другой — мобильную сеть. В идеале соединение все еще будет присутствовать на момент выдачи уведомления. Вот почему я включаю в условие профиля уровень сигнала, равный 1.

Слабый сигнал

Слабый сигнал

Profile: Poor Reception (91)

State: Variable Value [ %HotspotVariable ~ 1 ]

State: Signal Strength [ From: 0 To: 1 ]

Enter: PoorSignal (89)

A1: AutoNotification [ Configuration: Use HTML: false

Title: Poor reception

Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell

Status Bar Icon: device_access_network_cell

Status Bar Text Size: 16

Id: 55

Priority: -1

Persistent: true

Is Group Summary: false

LED Color: red

LED On: 300

LED Off: 30p

Skip Picture Cache: false

Update Notification: false

Only on Phone: true Timeout (Seconds):20 ]

A2: Join Send Push [ Configuration: Device: Chrome@Laptop

Text: Poor range

Title: Poor reception

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]

A3: Join Send Push [ Configuration: Device: Chrome@Home

Text: Poor range

Title: warning

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]

A4: Join Send Push [ Configuration: Device: Tablet

Text: Poor range

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]

A5: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Show

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

Exit: Cancel (90)

A1: AutoNotification Cancel [ Configuration: Id: 55

Cancel All: false Timeout (Seconds):0 ]

A2: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

Profile: No Data (92)

State: Variable Value [ %HotspotVariable ~ 1 ]

State: Mobile Network [ 2G: On 3G: Off 3G - HSPA: Off 4G: Off ]

Enter: PoorSignal (89)

A1: AutoNotification [ Configuration: Use HTML: false

Title: Poor reception

Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell

Status Bar Icon: device_access_network_cell

Status Bar Text Size: 16

Id: 55

Priority: -1

Persistent: true

Is Group Summary: false

LED Color: red

LED On: 300

LED Off: 30p

Skip Picture Cache: false

Update Notification: false

Only on Phone: true Timeout (Seconds):20 ]

A2: Join Send Push [ Configuration: Device: Chrome@Laptop

Text: Poor range

Title: Poor reception

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]

A3: Join Send Push [ Configuration: Device: Chrome@Home

Text: Poor range

Title: warning

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]

A4: Join Send Push [ Configuration: Device: Tablet

Text: Poor range

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]

A5: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Show

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

Exit: Cancel

A1: AutoNotification Cancel [ Configuration: Id: 55

Cancel All: false Timeout (Seconds):0 ]

A2: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

читать далее

Автоуведомление уведомление создается на телефоне, но только для того, чтобы мигал светодиод. Выберите другие значения уведомления по своему вкусу и установите быстрое мигание светодиода (у меня вкл/выкл 300 мс) желаемого цвета. Идея состоит в том, чтобы отображать дискретную информацию, а не полностью агрессивное оповещение при пробуждении экрана. Уведомление сохраняется как постоянное уведомление с ID 55.

Далее следует Присоединяйтесь к пушу для каждого вашего устройства. Выберите Присоединяйтесь к пушу для каждого устройства и используйте условие IF, чтобы соответствовать значению %HotspotDevice переменная.

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

Умные часы

Профиль умных часов

Profile: Remove Watch Icon 

Event: AutoWear Command [ Configuration: Command Filter: closepoorrange

Case Insensitive: false

Exact: true

Regex: false

Variable Array: false ]

Enter: Close WearIcon (55)

A1: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ]

читать далее

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

Создайте значок, используя Плавающие значки AutoWear Manage *(необходимо зайти в приложение AutoWear) и проверить размер и расположение часов на часах. Значок будет отображаться на любом экране, поэтому убедитесь, что он содержит команду для его закрытия. я использовал закрытьбедныйдиапазон и назвал значок плохой диапазон. Размер моего значка — 30х30 пикселей, он расположен на 65% справа и на 20% сверху.

Если вас устраивает размер и расположение, воспользуйтесь Приложение AutoWear действие, чтобы отобразить значок, и условие ЕСЛИ, чтобы связать его с %HotspotDevice переменная.

Отмена

Отмена

Cancel (90)

A1: AutoNotification Cancel [ Configuration: Id: 55

Cancel All: false Timeout (Seconds):0 ]

A2: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

читать далее

Чтобы прекратить мигание светодиода и убрать плавающий значок с часов, я воспользуюсь простым Отмена автоматического уведомления действие с идентификатором моего уведомления (55), чтобы выполнить Приложение AutoWear действие, которое скрывает плавающий значок.

Умные часы имеют дополнительный профиль, который убирает плавающий значок при нажатии на него. Для этого я использую Команда AutoWear событие 'закрытьбедныйдиапазон’, затем я запускаю отдельную задачу, которая содержит практически то же действие, что и Отмена задача.


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

Загрузите файл проекта с предупреждением о привязке «Нет сети» здесь!

Чтобы импортировать предупреждения о привязке «нет сети» с помощью файла проекта Tasker, загрузите указанный выше файл и сохраните его в любом месте во внутренней памяти. Откройте Tasker и убедитесь, что в меню настроек отключен «режим новичка». Затем нажмите и удерживайте значок «домой» в левом нижнем углу и нажмите «Импорт». Найдите файл prj.xml, который вы сохранили ранее, и выберите его, чтобы импортировать. Теперь вы увидите новую вкладку в нижнем ряду, содержащую все профили и задачи, на которые мы ссылались в этой статье.