Як я створив віджет з інформацією, чи є електроенергія та інтернет вдома

Ще до початку війни відкрив для себе Scriptable — iOS-додаток для створення віджетів на JavaScript. А оскільки нам Тім Кук ще й дозволив створювати віджети для домашнього екрана, то треба цим користуватись!

Колись було досить багато ідей (і я створював віджети з кількістю відвідувачів карти тривог, але коли їх стало дуже багато, то перестав гратись і продався Google Analytics), але в новій реальності у нас в країні війна, і поки агресор не розпався на багато інших, то одна з проблем їх існування — періодична відсутність світла вдома. Через те, що графік не сходиться з реальним вимкненням світла, не завжди зрозуміло, чи пора повертатись додому.

В результаті у мене вийшов ось такий віджет:

Далі йдуть технічні моменти, а внизу інструкція, як додати його собі — якщо хтось працює на 66-му поверсі Карнегі Центра, і не знає, чи вже можна їхати на Печерськ, щоб не підійматись сходами.

Як правильно зазначили в твітерах [1, 2], віджет фактично перевіряє, чи доступний ваш роутер в інтернеті. Можуть бути випадки, що електроенергія є, хоча самого інтернету немає — в такому випадку, віджет все ще буде червоним. В мене в таких випадках інтернет зʼявлявся протягом 5-ти хвилин, але можуть бути такі проблеми також.

No-Сode?

Спочатку я думав виводити віджет на заблокованому екрані, і знайшов Any Text, який підтримує інтеграцію з Shortcuts. Їх навіть можна запускати по розкладу, але мінімальна періодичність — день. Якщо я хочу оновлювати кожні 15 хвилин, то потрібно створити 96 автоматизацій, і кожну з них вручну. Інших варіантів я так і не знайшов, тому ідея з ноукодом швидко провалилась.

Шо по пінгу роутера?

Найпростіший спосіб перевірити, чи є інтернет вдома — зробити пінг на IP адресу роутера, а Scriptable (читай ES6) не вміє робити запити по icmp-протоколу. З доступних ресурсів я знайшов API, яке робить пінг, але там досить довго потрібно чекати на результати — мені достатньо хоча б одного результату, а не перевіряти, чи відповідає мій роутер з усіх материків. Тому треба було створити свій мікросервіс!

Підіймати сервер для одного запиту — така собі ідея, і я спочатку подумав про DigitalOcean Functions (а-ля AWS Lambda), але є проблема, що складно обмежувати кількість запитів в разі необхідності, раптом росіяни почнуть навантажувати сервіс своїми запитами, як і зробили з карти тривог.

А потім я згадав пост Антона (і ось зараз помітив, що там якраз і за Scriptable мова була), що в nginx можна писати на lua, і це виглядало ідеальним рішенням! Тому з гівна та палок за пару хвилин я зібрав швиденько ендпоінт, який робить ping заданої IP-адреси та повертає інформацію, чи доступний він.

server {
    # ...
    location /ping/ {
        default_type 'application/json';
        content_by_lua '
            local cjson = require "cjson"

            if ngx.var.arg_ip == nil then
                ngx.say(cjson.encode({status="error", error="Передайте IP через ?ip= параметр. Наприклад, ?ip=127.0.0.1"}));
                return
            end

            local ip = ngx.var.arg_ip;
            local chunks = {ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$")}
            if #chunks == 4 then
              for _,v in pairs(chunks) do
                if tonumber(v) > 255 then ngx.say(cjson.encode({status="error", error="Додайте коректний IP в налаштуваннях"})) return end
              end
            else
              ngx.say(cjson.encode({status="error", error="Додайте коректний IP в налаштуваннях"})); return
            end

            local handle = io.popen("ping -c 1 " .. ngx.var.arg_ip .. " -W 0.5", "r")
            local out = handle:read("*all")
            handle:close()
            if string.find(out, "1 received") then
                ngx.say(cjson.encode({status="ok"}))
            else
                ngx.say(cjson.encode({status="error"}))
            end
        ';
    }
}

І все запрацювало!

Віджет

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

Що треба ще знати

Вдома повинен бути завжди статичний IP, оскільки з динамічним складно працювати.

Також iOS сама вирішує, коли їй оновити віджет, і робить це по документації в інтервалі 15..60 хвилин, але фактично в мене виходило 15-20 хвилин. Якщо тапнути по віджету — він оновиться з актуальними даними.

Як?

Надіслати пінг на мій IP

  1. Повинен бути статичний IP. Якщо роутер вимкнути-увімкнути, і IP зміниться — потрібно буде у провайдера замовляти додатково послугу статичного IP. Віджет постійно перевіряє лише одну і ту ж адресу.
  2. Роутер повинен відповідати на ping запити. Якщо повертається помилка при натисканні на кнопку «Надіслати пінг на мій IP», то треба гуглити щось «%router name% Respond to Pings from WAN» та вмикати на роутері.
  3. Потрібно встановити Scriptable, завантажити файл нижче, поділитись ним в Scriptable та замінити IP в першому рядку на потрібний. Раптом що, ось відео, як це робиться.
  4. Створити віджет та додати його на домашній екран.
  5. Всьо!

Light.scriptable 2 KB

Що далі?

Взагалі в мене ще була ідея пройтись по закладах та зробити невелику краудсорсинг-карту з закладами та станом вайфаю в реальному часі. Можна також зробити якогось телеграм-бота або надсилати сповіщення при зміні стану світла.

Або можна зробити якусь zapier-інтеграцію для слака, щоб всі бачили, що у вас немає світла, і що можлива якась затримка в для відповідей. Я якось робив таке для сирен, тому повинно бути максимально просто і зробити для світла також.

👍ПодобаєтьсяСподобалось24
До обраногоВ обраному7
LinkedIn

Найкращі коментарі пропустити

Я перевіряю по роботу-пилососу. Якщо він онлайн — значить світло з’явилось :)

ajax вдома присилає коли хаб без світла і коли зі світлом

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Добрий вечір а є аналог scriptable на android?

Чомусь тепер не працює скрипт, показує повідомлення про помилку:
Exception occurred
Error: The data couldn’t be read because it isn’t in the correct format.

Слухайте, а є гарні аналоги для uptime robot? А то відчуття що його перегрузили і він довше ніж 5 хв. реагує на зміну :(

А в мене щось не спрацювало. Маю інет від адамант, є статична адреса. Із цікавості вимкнув модем. Але все одного світло є, бо я так розумію це приходить від провайдера відповідь. Тому варіант не працює.

Я просто залишив вдома планшет з іншим акк телеграму. Коли світло є, то дзвінок вже, коли немає, то і дзвінку нема :)

Дивно. Статична ip адреса хіба не на роутері, що вдома прописана?
В мене саме так.
Вимкну роутер — пінгу не буде.

Вже розібрався. Просто кривий сервіс використав. Так і є :)

Красиво! Може трохи не той форум, но я у себе зробив більш hardware-way, так як мало електронщик по освіті. В ідеалі мати безперебійник і надійне джерело інтернету. Майже місяць такого не було, навіть моб гас через 2 години після відключення. Але дякувати провайдеру розорився на ДБЖ для ONU на наш ЖК і тепер по оптиці лінк є завжди. Далі все просто — контактор з живленням реле на мережу і комутуємо sonoff (заживлений від ДБЖ) в режимі повторювача, у вебці якого прописана сцена слати webhook на api телеграм бота який публікує зміну статусу в канал. Приходить в момент, фальшивих спрацювань не є, статика не потрібна, час на реалізацію 30хв

Так можна старенький смартфон під’єднати до роутера та відправляти на нього повідомлення в будь якому месенджері.

А яким чином це можна зробити, підкажете?
Дякую.

Статична IP-адреса у домашнього інтернет-провайдера, Mikrotik з OpenVPN-сервером і клієнт на телефоні. Коннект у домашню мережу проходить — світло є.

Лише у випадку, якщо обладнання провайдера та роутер не підключені до дбж

На жаль, при відключеннях пінг не проходить ще до проміжного вузла провайдера.

З перерахованого вистачає статичної адреси.
Ну і на телефоні «клієнт» == звичайний pinger. Вручну, мені не потрібно перевіряти кожні хх хвилин
Ані Мікротика ані OpenVPN нема, і не здогадуюсь навіщо вони для такої задачі.

А взагалі у будинку є відеоспостереження, камери у сусіда поверхом вище на статичному ай-пі
Якщо камера не працює — то скорше за все блекаут.

Все так, просто VPN у домашню мережу інколи буває у нагоді і вже був налаштованим до війни. Тапнути конект у додатку простіше, ніж набивати IP в termux.

Є ж апки де IP увів та зберіг.
Termius точно не підходить

Ось також, з приємним UI t.me/e_connect_bot

Привіт, ідея дуже прикольна, на данний момент 06.11.2022 в мене чомусь не працює твій код.
IOS 16.1
Я просто отримую у відповідь undefined. Не знаю з чим це повʼязано.
В мене статичне IP і також воно являється публічним.

Також я пробував на різних сайтах які пінгують IP провірити чи я маю доступ, щоб побачити, щось через IP, і я можу бачити.

Я спробував просто через fetch спробувати отримати теж саме, але там проблеми у мене виникли з CORS і це має сенс.

В мене є ідея, що це може бути проблема з роутером, що він не дає доступу... Tp Link роутер, якщо хтось знає, що робити буду вдячний

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

Якщо у когось була ця проблема і ви рішили її, напишіть будь ласка буде корисно і мені і я думаю іншим людям у кого є така сама проблема.

Дякую

Я вирішив проблему, вона була з роутером

А що ти зробив ?
Бо в мене така сама проблема ?

Пінгом перевіряти електрику. О часи, о Данія нещасна...

mail UPS up Power Failure !!!

APC : 001,038,0942
DATE : 2022-11-05 15:08:08 +0200
HOSTNAME : ups
VERSION : 3.14.141 May 2016) debian
UPSNAME : ups
CABLE : Ethernet Link
DRIVER : NETWORK UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2022-11-04 20:48:13 +0200
MASTERUPD: 2022-11-05 15:08:08 +0200
MASTER : 192.168.°.°:3551
MODEL : Back-UPS RS 900G
STATUS : ONBATT SLAVE
LINEV : 0.0 Volts
LOADPCT : 1.0 Percent
BCHARGE : 77.0 Percent
TIMELEFT : 338.5 Minutes

Самий простий спосіб.
Інший — відеоспостереження у будинку.
Якщо камери off, то електрики нема 🤣
Але программісти готові на будь що писати утіліти 😎

Коли вирубається світло, то і обладнання провайдера разом з ним. І цей лист прийде в кращому випадку після відновлення електропостачання. І навіть якщо заживити провайдеру найближчий свіч від власного безперебійника, таких проміжних комутаторів без живлення ще багато по району. Покладатись на успішну відправку листа зсередини об’єкта, який знеструмлено не варто.

Для таких цілей у роутерах є usb порт для 4g модему, який автоматично піднімається при втраті основного каналу (у мене додатково 3g модем від 3Mob на raspberry)

Щось не зустрічав роутери, де зв’язок через USB модем АВТОМАТИЧНО піднімається при втраті основного каналу. У більшості є підтримка модему, але треба вручну перемикатися через веб-інтерфейс зсередини мережі або допилювати скрипти/прошивку вручну самому і це рішення проживе рівно стільки, скільки ви будете в змозі закупати платформу під нього. При тому, що сам модем часто підвисає на USB шині чисто в силу особливостей їх конструкції і непромислового призначення і його непросто перезапустити чисто програмними засобами.
Крім того, як показала практика, після блекаута вишки мобільних операторів тримаються 3-5 годин і працюють в перевантаженому режимі, часто опускаючи протокол до EDGE або вимикаючи мобільний інтернет. Модем повинен вміти у мобільний роумінг даних і агресивно боротися за ресурси радіоефіру. Тобто ще й вишукувати потрібні модеми і підбирати прошивки. Це вже 2 особливих пристрої. Пошта вимагає досить багато ресурсів і тут доводиться балансувати — або зарубіжний хостер до якого з більшою ймовірністю падає канал, або домашній у якого падає живлення, але він ближче. Трафік мессенджерів компактніше і він часто маршрутизується з більшим пріоритетом, бо входить в так звану соціальну або пільгову групу тарифікації.

Щось не зустрічав роутери, де зв’язок через USB модем АВТОМАТИЧНО піднімається при втраті основного каналу.

В мікротіках, достатньо поставити пріоритет usb нижче за ethernet, і як тільки падає інтернет (зникає фізичне лінк до провайдера), то піднімається usb 4g
weblance.com.ua/...​73-operator-lifecell.html
Якщо є бажання поскриптувати, то теж є можливість weblance.com.ua/...​domleniy-iz-mikrotik.html
В усіх openwrt достатньо виставити пріоритет (metric) openwrt.org/...​k/wan/simple_wan_failover

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

В мікротіках це працює wiki.mikrotik.com/wiki/Manual:USB_Features

Крім того, як показала практика, після блекаута вишки мобільних операторів тримаються 3-5 годин і працюють в перевантаженому режимі, часто опускаючи протокол до EDGE або вимикаючи мобільний інтернет.

Питання було про відправити лист при втраті живлення. На початковому етапі деградації не очікується.

Нащо так складно, wget щоби смикати телеграм є на кожному девайсі, кросспінг та й усе, ще й категоризація, історія, mute, розбивка по каналам автоматом в телеграмі. «Код» і результат виглядає ось так ibb.co/bd5jxwn
Більше того, користуючись прив’язкою по MAC можна контролювати присутність тих чи інших осіб на об’єкті, автоматичний алерт при появі «чужака» чи інших нештатних ситуаціях.
До війни за 900 грн можна було взяти роутер ксяомі з 256 RAM i 256 NAND Flash на борту + USB3 +2 ядра + гігабітний свіч — прошив на падаван і роби що хочеш, сигналка, температура, в кого руки криві — розібрали мишку — вже маєте 2-3 контакта як датчик по USB, з такими ТТХ можна навішати вебхуки, нормальний VPN і т.п.
Скажу більше, коли падав чи погіршувався зв’язок (тут не показано) автоматом запускався traceroute із записом в журнал, тим журналом потім били особливо хитрих по обличчю.

Не знав що на айосі все так складно. Таких утиліт в яких є віджет і які вміють в пінг в плеймаркеті просто сотні, на роутері можна натюнити ddns якщо немає виділеного IP. Ну а просто щоб чимось себе зайняти — хороша стаття 🙂

Imho в кого статичний ІР на роутері, той давно на смартфоні мaє щось на кшалт ’pinger’, щоб ’пінганути хату’ і таке інше.

Навіщо так ускладнювати собі життя?
Купуєте найпростіше wi-fi реле Sonnoff, підключаєте його до домашньої електричної мережі, підключаєте його до свого акаунту і вуаля можете в любій точці світу перевірити чи є електро енергія чи відсутня. А якщо купити wi-fi електро лічильник то можна додатково мати ще й графіки подачі напруги, рівень напруги а також рівень споживання струму

мені здається, що ускладнюєте життя саме ви, враховуючи те, що роутер є практично у кожного, а ви пропонуєте якісь релє куплять і електролічильники

ну конечно))) купить статичный ип, настроить роутер, натроить стороний сервис, написать програму на айос, установить ее на свой телефон через акаунт разработчика, против купить саноф за 300грн и втыкнуть его в розетку))

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

Можна докупити статичний.
+50грн здається (?)

1. Чому просто не скористатися ping з теміналу? (Ок, рішення для тих, хто не знайомий з терміналом)

2. Що значить «а не перевіряти, чи відповідає мій роутер з усіх материків»? Це де пінг так працює?

3. Для динамічних адрес є ddns. (А, забув. Це ж рішення для тих хто не шарить)

4. Чому не згадано про «сірі» ip адреси? Досить часто провайдери видають клієнтам статичні адреси, але своє внутрішньої мережі. Вони починаються з 10.A.B.C (В теорії можуть бути ще декілька варіантів, але не бачив в реальному житті). Якщо ж користувач за допомогою сервісів дізнається все ж зовнішню адресу, то віджет перевірить доступність обладнання провайдера, а не світло вдома:))

5. Може ipv6 вже десь працює?:)

Дивно якось, світло є, а відображається як немає 🥲

Роутер TP Link, у додатку (tether) відображається статус роутера, підключено чи недоступний.

Тільки якщо він підтримує хмарний доступ) а старі в Tetheri видно, тільки якщо ви до них підключені через вайфай

Это скорей есть ваш роутер в сети))) при услови АБВГДейка

А что если электроэнергия будет, а роутер зависнет или возникнет проблема у провайдера?

а чукча в чуме ждёт рассвета, а рассвет наступит летом © из советского шлягера

Ваш метод пішов гуляти інтернетом по різним паблікам і сайтам.
Це тільки деякі
t.me/warradarukraine/3387
t.me/eldo_ua/921

Так, топік став досить медійним! Дякую за лінки!

Насправді то був пост в персональному блозі з рішенням за 30 хвилин, щоб покрити свої потреби та подивитись на реалізацію lua в nginx, а виявилось, що тема досить популярна серед не-айті, а айтівці (пост на ДОУ публікували модератори, і це їх пропозиція була) вимагають повноцінного рішення з підтримкою ddns та ipv6, без білого айпі і т.д. :)

Але добре, що в коментарях досить багато альтернативних рішень, тому сподіваюсь, що кожен знайде щось ідеальне для себе :)

Всюди податється інфо, неначе це дуже елементарно. Не треба статичний іп перевіряти чи брати у правайдеру, не кажучи вже за скрипт. Ну для ДОУ це все норм а для «досвітчених користувачів ПК» наврядчи це елементарно 🙂

Народ, а підкажіть хто, як зробити (і чи можна), щоб при зміні статусу "Світло є"/"Світла нема" з‘являлось сповіщення?

Бойлер з вайфай якщо онлайн то є світло якщо оф то нема і ніяких танців з бубном

Вау, перевірив зі смарт-розеткою Nous — працює! Дякую!

Батько фігні не порадить)))) взагалі будь-яка розумна приблуда скаже: хазяїнама немає світланама)))

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

А що за бойлер такий?

Midea и додаток MSmartHome це наш Український,рекомендую є інтелектуальне нагрівання, брав за 4500

Бойлер з вайфаєм... Десь на болотах завили буряти😂😂😂

А вони точно знають що таке бойлер? :)

В цілому крута ідея
я схожою методою «пінгую» розумні девайси в квартирі
якщо є інет та світло — вони загрузять статус, якщо чогось немає — буду ловити ерори

оце і я вирішила купити розумну лампочку, бо з розумного в моєму офісі тільки я))))) навіть роутер хмаринний доступ не підтримує))))

Ну дуже сире та не робоче рішення. Схоже більше вузький притик.

Дециметровий передавач поставити, та із собой відповідну рацію носити) Якщо є сигнал на обраній частоті — то знач і світло є)

А можно було вказати спочатку, що це тільки для айос?
Все зробив, дійшов до пункту встановлення скриптебл, і сюрпрайз!

В первой же строчке гайда написано xD

так можна ж дочитати гайд і тоді повторювати дії :)

це скоріше перевірка чи є в оселі інтернет а не перевірка чи є електроенергія — оскільки як що світло є а інтернету немає — мережа не буде бачити роутера )

Окрім робота-пилососа я можу ще й сайт свого провайдера пінгувати, бо вони хостять його на власному залізі, яке явно стоїть на одній лінії з моїм будинком 😂

Це все добре, але коли особисто я надовго полишаю свою оселю, я усе вимикаю, щоб не згоріло, як будуть броски напруги.

Але і я про такий сервіс думав, але я хлопчик-гакер, тому мені не потрібні додатки та віджети, у мене у телефоні є термінал, а у ньому можна набрати ping ;)

(додаток termux для Андроїд, усім раджу)

Вітаю! Я не програміст. А це складно? Я був би вдячний за короткий мануал або лінк на ресурс де про це можна почитати. Дякую! :)

Ну, якщо у вас телефон с ОС Андроід, то знайдіть у магазині додатків безкоштовний додаток на ім’я termux і установіть його. Коли його запускаєте, будете мати чорне вікно, де можна вводити команди терміналу Лінукс.

Наприклад

ping 8.8.8.8

Ця команда тестує IP адесу Гугла (нотатка: команда нескінченна, тому зупиняти її треба за допомогою control C. Клавіша (слово) Cntr на екранній клавіатурі є.

Потім вам треба взнати IP адресу, яку вам видає провайдер і аналогічно її пінгувати.

Может бути, що у вашому домашньому роутері заборонений ping, тоді треба полазити по його налаштуваннях (обережно, не міняйте того, чого не знаєте, я сам користуюся таким правилом) і ввімкнути дозвіл ping. Напростіше погуглити по назві моделі вашого роутера і словами «відкрити ping» або «відкрити ICMP». (ICMP — протокол, за яким працює команда ping)

Чи це ви питали?

Дякую! Як дадуть світло, буду тестити. :)

Цікаве технічне рішення, але якщо стоїть задача вирішити проблему , є можливо менш цікаве технічне рішення, але точно надійне. В мене таке працює вже років 5. Більшість роутерів підтримують якийсь dynamic dns(в мене ASUS, і він підтримує ddns). Це вирішує проблему статичного айпі. Далі реєструємось на uptime robot там налаштовуємо пінг джобу. Ставимо на телефон апку(android/ios) і все, вам приходять пуш нотіфікейшени при зміні стану. Можна поставити апку всій сімї. Додатково отримуємо статистику буття роутера в офлайні(читай відсутності інтернету/світла). Також можна додати кілька роутерів.

Напишіть будь-ласка трохи детальніше, як встановити джобу і як пінгувати роутер з динамічним ip.

Для динамічного ІР вам потрібно щоб ваш роутер підтримував якийсь сервіс динамічного ДНС. Мій асус підтримує ddns. в першу чергу налаштовуєте це на роутері і отримуєте своє домене імя. Потім реєструєтесь на uptimerobot і там налаштовуємо пінг на це доменне імя.

Я перевіряю по роботу-пилососу. Якщо він онлайн — значить світло з’явилось :)

У мене смарт тв, на ньому встановленому spotify, на який можна транслювати... По ньому видно теж

От тільки не завжди він перепідконекчується після того як роутер перезавантажився.

Яка є альтернатива для тих у кого немає білого IP?

розумна розетка (xiaomi наприклад) але тре буде зарегатись на їхньому клауді

У Ajax Systems все давно Є!!!... й більше ...усі канали звязку дубльовано...WI Fi, та 2-і сімки різніх операторів мобільного звязку!

Точно! Про дві сімки до речі не знав. У мене коли віялове відключення то все одно втрачає сигнал(

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

можна бота на телеграм зробити, апі досить просте. Я б купив розетку від хлаомі — бо лінивий.

Далеко не у всех белый ип. Проще зарегать еще один аккаунт в телеграмме и каждые полчаса запускать консольный клиент, по last seen можно понять, есть ли дома эл-во

Чи створити бота і зробити щоб він відправляв нотіфай

Пінгую пральну машину, так як роутер працює через дбж і він постійно в мережі, а далі відправляю статус через телегу

Доброго дня, я не програміст та взагалі у цьому всьому не розбираюсь, але захотілось заради цікавості спробувати повторити цю штуку по вашій інструкції, наче все правильно ввела, але вчеодно пише «світла немає», хоча воно є, у чому може бути проблема?

Вітаю! Така ж ситуація. Може спеціалісти можуть порадити, що у чому проблема?

Я пінгую домашню RaspberryPi через ZeroTier мережу, вирішує проблему динамічного IP та не треба роутер відкривати усьому інтернету. А ще такий сетап ідеально підходить щоб майнкрафт сервер для друзів хостити :)

Якщо роутер MicroTik то ZeroTier прям на нього можна встановити, але там не всі роутери підійдуть techoverflow.net/...​devices-support-zerotier

На андроіді пінгувати можна через Termux, рут не потрібний

Я поставив собі WebSSH(для iOS, або щось аналогічне для Андроід) і просто пінгую сервак який в мене дома є. (Айпішка не сервака ж а роутера, тому навіть якщо сервак вимкнений роутер пінгується)

У кого динамічна адреса як в мене є dns сервіси по типу duckdns.org, на серваку крутиться скрипт від цих чуваків який оновлює вашу айпіншу постійно.

Я собі купив мікроконтроллер (RP Pico) і запустив мінімальний скрипт, який при включенні шле привіт мені в телеграм.
Ну і можна в нього запитати в будь-який момент чи він включений через той же телеграм.

А я встановив UptimeRobot, він кожні 5 хвилин пінгує роутер і пуш нотіфікейшени кидає.
Ще й статистику веде, зручна штука.

Хіба в тебе не RP 4 Model B? 🤔

ajax вдома присилає коли хаб без світла і коли зі світлом

кстати, очень удобная сайд-фича.

А також температура у зонах. Хоча це службова інфа, але зорієнтуватися можна.

У коллеги сегодня аякс орал так, что я уж подумала это ДСНС(у меня он на беззвучном) и предложила баг/фича реквест завести чтобы была возможность этот ор выключить где-то в настройках))

І я так використовую)
Супер рішення!

У меня як інсталятора карта покриття)))

Повинен бути статичний IP.
ngx.say(cjson.encode({status="error", error="Додайте коректний IP в налаштуваннях"})); return

Пан в курсі, що на роутерах є інтеграція ddns сервісів, а от додаток не дає можливості забити доменне ім’я? Платити за статику х2 від тарифу таке собі задоволення. Може і не у всіх білий IP, але білих точно більше ніж статичних. Хоча 100% користувачів це не по криє, як апаратна реалізація, де можна за NAT сидіти.

А які ще варіанти якщо за NATом? Пробував наконфігурити ddns через noip, нічого не вийшло, потім зрозумів що швидше за все я за NATом

Поки я тут мрію купити платку вимірювання напруги, підключити її до системи розумного будинку, запрограмувати openHAB тощо — інші просто беруть і роблять. Так і треба.

Ще можна зачепитись за будинкові камери відеонагляду, якщо вони є.

Я дивлюся чи домашній пилос онлайн.

Тоже самое, но с чайником)

www.amazon.com/...​7-9bc0-4513d670b6bc&psc=1
Он на 120 вольт, но у меня есть преобразователь.

Або розумну лампу чи вимикач

моя бляха умная после выключения света сама включается

Кондиціонер з вайфай модулем)

О, точно, буду на пилосос дивитись

Прикольно:)
Можно ще зробити більш battery-friendly, але менш user-friendly за допомогою вбудованих автоматизацій — клікати на іконку команди і отримувати результат від промови siri «все ок» до повідомлення тімліду в slack

Підписатись на коментарі