Tạo thông báo Telegram khi mất điện với Mikrotik

Giới thiệu

Bài viết này sẽ hướng dẫn bạn tạo một hệ thống thông báo trên Telegram khi mất điện lưới. Chúng ta sẽ sử dụng một thiết bị thông minh có kết nối internet với IP tĩnh và một script để kiểm tra kết nối với thiết bị đó. Khi mất kết nối (tức là thiết bị không trả lời ping), hệ thống sẽ gửi một thông báo đến Telegram.

Yêu cầu

  1. Thiết bị thông minh với IP tĩnh: Đảm bảo rằng thiết bị của bạn có thể kết nối internet và có một địa chỉ IP tĩnh.
  2. Router Mikrotik: Chúng ta sẽ sử dụng file .cmd để thực hiện ping và gửi thông báo.
  3. Tài khoản Telegram và một bot: Bạn cần tạo một bot Telegram và lấy API token của bot.

Bước 1: Tạo Bot Telegram

  1. Mở Telegram và tìm kiếm “@BotFather”.
  2. Bắt đầu trò chuyện với BotFather và gửi lệnh /start.
  3. Gửi tiếp lệnh /newbot và làm theo hướng dẫn để tạo bot mới.
  4. Sau khi tạo xong, bạn sẽ nhận được một API token. Hãy lưu lại token này để sử dụng sau.

Bước 2: Tạo Chat ID

  1. Tìm “@userinfobot” trên Telegram.
  2. Bắt đầu trò chuyện với bot này và gửi lệnh /start.
  3. Bot sẽ trả về thông tin của bạn, bao gồm Chat ID. Hãy lưu lại Chat ID này.

Bước 3: Tạo một nhóm chat Thông báo

  1. Mở telegram tạo 1 nhóm chat bao gồm các thành viên muốn được nhận thông báo
  2. Add con bot bạn vừa tạo vào ở bước 1
  3. Lấy ID của nhóm chat bằng bot. ID nhóm chat có cấu trúc -xxxxxxxxxx

Bước 4: Cấu hình trên Mikrotik

Mục System -> Script bạn tạo lần lượt 2 Script như sau

Script 1: Ping kiểm tra thiết bị còn online không


Name: check-device
Source:

:local host "IP_TINH_THIET_BI"  
:local pingResult [/ping $host count=3]

:if ($pingResult = 0) do={
    /system script run send-telegram-message
}

Script 2: Gửi tin nhắn telegram
Name: send-telegram-message
Source:

:local message "Thong bao mat ket noi toi thiet bị - MAT DIEN"

/tool fetch url=("https://api.telegram.org/bot6419183476:AAHjc9sADvCMeHl1GbtOIzL-wGpEtvUyCPc/sendMessage?chat_id=-4263663211&text=" . $message) keep-result=no

Đoạn mã trên bạn thay thế API của con bot bạn vừa tạo vào và ID của nhóm chat telegram muốn nhận thông báo (Dòng chữ in đậm).

Tiếp theo bạn vào System -> Sechuduler để tạo lịch trình cho Script chạy.


Bạn tạo mới một lịch trình có tên: check-device
Start Time: startup
Interval: 00:01:00 <– giãn cách giữa các lần check
On event:

/system script run check-device

Bước 5: Test thử.

Hãy tắt nguồn thiết bị có IP tĩnh đợi 1 phút xem quá trình gửi tin nhắn có thành công hay không nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *