Використовуйте Tasker для сповіщення, коли ваші прив’язані пристрої втрачають доступ до Інтернету

Створіть попередження про тетерінг «немає мережі» за допомогою Tasker. Він повідомить вас, коли ваше з’єднання розривається. Сповіщення для носіїв і підключених пристроїв

З минулої статті ви знаєте, що я проводжу досить багато часу в поїзді. Це чудовий час, щоб написати статтю або дві, якщо я маю доступ до Інтернету для пошуку фактів та ідей. Прив’язка може бути складною у поїзді, оскільки зони без стійки реєстрації розкидані по всьому маршруту. Мені досить легко зрозуміти, що я збираюся вийти з мережі, коли я в тунелі, але ситуація менш очевидна, коли потяг курсує відкритими луками Північного Йоркшира. Вбудоване рішення для модема Android не має жодного способу повідомити вам, що ви не зможете завантажити цей веб-сайт протягом наступних 5 хвилин.

Ось чому, як фанат Tasker, я подумав про те, як вирішити свою проблему за допомогою популярного додатка для автоматизації Android. Я вирішив свою проблему, створивши попередження про тетерінг «немає мережі» за допомогою Tasker. Мета проекту – повідомити вам, коли ваш телефон більше не знаходиться в зоні дії стільникової мережі. Це буде зроблено трьома способами:

  • Використання світлодіода сповіщень (найкраще, коли ви використовуєте модем для друзів)
  • Використання піктограми смартфона (потрібен смарт-годинник)
  • Використання Push Join (найкраще для персональних пристроїв – можна замінити на AutoRemote)

Ви можете бути більш креативними зі сповіщеннями, однак я буду використовувати лише окремі параметри, оскільки прив’язка, швидше за все, буде використовуватися в громадських місцях. Ніхто не любить неприємні сповіщення, чи не так? Майте на увазі, що для відображення сповіщень на підключеному пристрої використовуватиметься підключення до Інтернету. Ви могли б використовувати AutoRemote (через Bluetooth), щоб надсилати попередження, коли мережа відсутня. Для цього потрібно буде з’єднати відповідний пристрій через Bluetooth.

Ви будете потребувати:

Версія Android: 4.0+, Android 7.0 потрібен для плитки сповіщень

програми: Приєднуйтесь

Плагіни: AutoWear (необов'язково), AutoRemote (може замінити Join), Автосповіщення (необов'язково)


Увімкніть попередження про тетерінг "немає мережі" за допомогою Tasker

Замість того, щоб перевіряти, чи ввімкнено модем, простіше замінити плитку в рядку стану на Автосповіщення і налаштуйте поведінку перемикача. Якщо у вас не Android 7.0, ви можете замість цього скористатися ярликом або віджетом.

Якщо ви ніколи не вмикали плитку за допомогою Автосповіщення - ви побачите, що це трохи незручно. Вам потрібно буде створити завдання налаштування, яке перетворить плитку шаблону на плитку за нашим вибором. Розмістіть порожню плитку, тобто Автосповіщення 02 на область плиток (клацніть редагувати, щоб редагувати видимі плитки).

Створіть плитку Tethering

Прив'язувальна плитка

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 ]

читати далі

Вам потрібно буде запустити це лише один раз, щоб налаштувати плитки та змінні. Плитка використовуватиме команду hotspottoggle щоб змінити стан прив’язки та зробити його неактивним. Після натискання також буде згорнуто рядок стану. Ви можете прикрасити плитку етикеткою та піктограмою на ваш вибір.

Буде створено ще дві змінні та встановлено значення 0. %HotspotVariable відобразить статус прив’язки (0 = ні, 1 = так) і %HotspotDialog відобразить діалогове вікно із запитом про те, який пристрій ми хочемо повідомити (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 ]

читати далі

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

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

A1, A6

Дія Змінна Додати +1 змінить значення наших початкових змінних з 0 на 1 і оберне його навколо 2. Це означає, що ці змінні завжди прийматимуть значення 1 або 0. Розміщення дії також актуальне, як і %HotspotDialog контролюватиме час відображення діалогового вікна. Ми виконуємо те саме завдання, щоб вимкнути та ввімкнути прив’язку, але ми не хочемо, щоб діалогове вікно з’являлося кожного разу, коли ми його вмикаємо.

A7

Поки ми на цьому, якщо буде виконано завдання відключити прив’язку (%HotspotVariable = 0), ми хочемо очистити змінну, яка зберігає назву пристрою, який отримує сповіщення від завдання Hotspot Dialog.

A5

The Зачекайте додано дію, щоб запобігти негайному відображенню інформації про низький радіус дії, що може статися під час перемикання налаштувань точки доступу.

A3

просто увімкнути прив’язку WiFi дію. У цьому кроці немає нічого складного.

A4

Окреме завдання відображається, щоб показати Діалог AutoTools і дії за вибір, який я зробив. Це буде виконано, коли наше діалогове вікно керує змінною %HotspotDialog = 1.

A2

Коли перемикач натиснуто, ми хочемо переконатися, що плитка перемикає стан активний/неактивний і зберігає ту саму команду: hotspottoggle. Нарешті переконайтеся, що він згорне рядок стану.

Діалог точки доступу

Діалог точки доступу

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 ]

читати далі

The Діалог AutoTools використовується для відображення доступних пристроїв. Коли пристрій вибрано, діалогове вікно закриється та встановить значення %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 ]

читати далі

The Автосповіщення сповіщення створюється на телефоні, але лише для того, щоб світлодіод блимав. Виберіть інші значення сповіщення на свій смак і встановіть швидке блимання світлодіода (у мене 300 мс увімк./вимк.) бажаним кольором. Ідея полягає в тому, щоб відображати дискретну інформацію, а не повне сповіщення під час пробудження екрана. Сповіщення зберігається як постійне сповіщення з ID 55.

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

Налаштуйте Приєднуйтеся до натискання дію, щоб надіслати сповіщення за вашим вибором. Оскільки ці сповіщення буде відхилено на цільовому пристрої, інші дії не потрібні.

SmartWatch

Профіль Smartwatch

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 Керування плаваючими значками *(необхідно перейти в програму AutoWear) і перевірити розмір і розташування годинника. Піктограма буде намальована на будь-якому екрані, тому переконайтеся, що вона містить команду, щоб закрити його. я використав closepoorrange і назвав ікону poorrange. Розмір моєї іконки становить 30x30 пікселів, і вона розташована на 65% праворуч і на 20% зверху.

Коли ви задоволені розміром і місцем розташування, використовуйте Додаток AutoWear дія, щоб показати піктограму, і умова IF, щоб зв’язати її з %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 ]

читати далі

Щоб припинити блимання світлодіода та видалити плаваючу піктограму з годинника, я скористаюся простим AutoNotification Скасувати дія з ідентифікатором мого сповіщення (55) для виконання Додаток AutoWear дія, яка приховує плаваючу піктограму.

Розумний годинник має додатковий профіль, який видаляє плаваючу іконку, якщо її натиснути. Для цього я використовую Команда AutoWear подія "closepoorrange’ тоді я запускаю окреме завдання, яке містить майже ту саму дію, що й Скасувати завдання.


Ми сподіваємося, що вам сподобається це наше невелике творіння, і повідомте нам, якщо вважаєте, що ми можемо зробити якісь покращення! Як завжди, ви можете завантажити проект, натиснувши посилання нижче.

Завантажте файл проекту попередження про тетерінг «Немає мережі» тут!

Щоб імпортувати попередження про модем «немає мережі» за допомогою файлу проекту Tasker, завантажте наведений вище файл і збережіть його будь-де у своїй внутрішній пам’яті. Відкрийте Tasker і переконайтеся, що «режим для початківців» вимкнено в меню налаштувань. Потім натисніть і утримуйте піктограму «додому» в нижньому лівому куті та натисніть «імпортувати». Знайдіть файл prj.xml, який ви зберегли раніше, і виберіть його, щоб імпортувати. Тепер ви побачите нову вкладку в нижньому рядку, яка містить усі профілі та завдання, про які ми згадували в цій статті.