Автоматичне інформування про появу і зникнення світла в Telegram

Виклав на гітхаб код, що давно справно працює в Telegram чаті моєї громди і автоматично інформує про появу і зникнення світла: github.com/...​anha1/telegram-power-info

При мінімальному вмінні паяти і досвіді з Arduino (або бажанні розібратись за вихідні — це ж дитячий конструктор 🙂) повинно завестись без проблем.

Всі компоненти доступні на prom.ua:

  • esp32 — 450 грн
  • плата зарядки батареї dw01 — 100 грн
  • Батарея LiIon 3.7v — 150 грн
👍ПодобаєтьсяСподобалось8
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

«Orange pi zero» + клон ардуино + ZMPT101B (модуль який дозволяє ардуіні безпечно виміряти напругу 230в), все це заживлено через аккумулятор разом із роутером і конвертером в оптику та передає до influxdb значення напруги яке потім малюється через Grafana.

Та я дома, блин, работаю, на Киевстар родненький матюкаюсь (иногда).

Хотя, в принципе, канала волшебным образом хватает и НПМ-пакеты качать, и в зуме общаться. А что ещё нам надо.

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

маю в квартирі розумні лампочки та розетки на платформі tuya з аліекспресу (у нас також перепродують). з телефону у апці smart life дивлюся статус девайсів — якщо у автономному режимі значить електрики нема (технічно також може означати що робочого wifi підключення немає і відповідно потенційно і електрики у квартирі, але у мене роутер на дбж).

в принципі також можна поколупати api tuya та пайтонівську бібліотеку TinyTuya щоб витягнути локальний ключ і hardware id розетки та автоматизувати перевірку статусу (для себе пробував по туторіуалу скриптом керувати розеткою) — але мені поки «ручної» перевірки через програмку вистачає.

Добре що в коментах запропановано стільки альтернативних варіантів, буду радий, якщо комусь щось з цього підійде краще.

Але щодо першого повідомлення, є пара апдейтів:
Забув додати, що бажано використовувати ще два регулятори MCP1700-3302E (24 грн на тому ж prom.ua) і два конденсатори (копійки). Оновив документацію з врахуванням цього, додав схему.

Є ще альтернативний і можливо простіший варіант без батарейки, але з двома блоками живлення: один в мережу щоб детектувати відключення, один до UPS (який все одно потрібен для роутера) щоб власне живити ESP32.

І були ще питання про Viber (для більш консервативних громад 🙂), але там таке значно складніше зробити, потрібен цілий сервер з вебхуком і базою даних щоб трекати підписниквів, тож просто додати світч Telegram/Viber не вийде.

Сигналізація Ajax — інформує не лише про наявність електрики, а й чи є інтернет по оптиці і мобільному інтернеті 😎

Смотрю через приложение mi wifi появились ли девайсы в сети (соответственно есть питание на роутер)

Роутер keenetic у додатку сповіщає коли він онлай

Мені YIHome після оновлення почало спамити, коли ввімнкулась і вимкнулась камера, не інакше для українців оновлення зробили.

Готовий сервіс

t.me/eSvitloTest_bot Пінгує публічний IP вашого роутера (або вашого провайдера у будинку)

Зробив те саме в наступний спосіб:
1. UPS APC-900, придбаний в 2014 в очікуванні блекаутів
2. До нього по usb підключений raspberry pi (25 доларів у 2016 році)
3. На raspberry pi встановлено apcupsd і підключений придбаний на olx за 100 грн 3g модем, який піднімається при втраті доступу до інтернету.
4. Є події onbattery/offbattery, на які запускаються звичайні bash скрипти. В середині яких curl-ом смикаю api бота (ну і листи ще відправляю)

Централь Ajax Hub вміє про це сповіщати через додаток (вона має батарею і сімку, тому не залежить від перебоїв). Її ще можна сконфігурувати, щоб вона слала ці події через TCP/IP текстовим протоколом SIA-DC09 на будь-яку адресу і порт, і відповідно крутити якийсь сервіс, який реагуватиме на це, і, наприклад, слатиме пости в Телеграм.

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

Я просто дивлюсь чи з’явився мій домашній робот-пилососос Xiaomi онлайн. З’явився — можна ідти додому з офісу)

Цифровой домовёнок 21века)))

Налагодив по розкладу POST на Heartbeat.sh.

з зовнішнього сервера пігуєте роутер і пишете бота в Тг.
Потрібно мати лише статичну адресу. Але якщо один провайдер, то краще пінгувати ще сусідів з іншими провайдерами(на випадок, якщо проблема не з e/e, а з інтернетом) і якщо 2/3/4 провайдера відвалилося, тоді зникла е/е.
Але це якщо ваш роутер, звичайно, не підключений до ДБЖ

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

А я просто пінгую з роутера публічну ІП і на відсутність/присутність пінгу шлю сповіщення в ТГ.

а як ви без інтернету шлете сповіщення?

Mikrotik вміє підключати 4g модем автоматично чи зі скрипта

Якщо сповіщення немає деякий час (хвилину) — вважаю що відсутнє світло (публічна ІП — це мій сервер). Зазвичай якщо немає інтернету, то це значить що немає світла (в будинок підведене оптоволокно).

Налаштував телеграм-бот + скрипт на мікротіку, котрий кожні 30 секунд пушить до бота логи зміни статусу інтерфейсів мікротіка.

Ви не побачите коли світло зникло, але коли wan-інтерфейс підіймається — це означає тільки одне — сітло дали.

Я так розумію, щоб було повідомлення про вимикання світла треба, щоб у вайфая було резервне живлення та інтернет.

Так, про це написано в readme як про єдину зовнішню залежність. Не на весть час відключення, тільки щоб вистачило встигнути відправити повідомлення що світло зникло. Але багато вже організував таке щоб просто був інтернет для роботи.

Пінгую роутер за допомогою uptimerobot.com і отримую сповіщення у телеграм та застосунок.

так, або налаштувати DDNS

що саме бачите несекюрного у відкритому пінгу?

У відкритому ICMP*
Можна, але якщо фаєрвол налаштувати на вайтліст.

А взагалі набагато простіше щоб роутер сам пінгував що треба назовні, тоді ніякі статичні адреси не потрібно брати у провайдера додатково. На крайняк найдешевший впс.

проводите другий шнур і ще один роутер і відкриваєте)
+ у вас буде ще один провайдер

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