Skip to content

Notifications

The router checks itself every minute (Alarms and the wall). With notifications on, what changed in a check is sent out at once: one message per check and channel, with every alarm raised and cleared in it.

Channel What you need Cost
Email An SMTP server: your mail provider’s, or your own Free
Telegram A bot (from @BotFather) added to your NOC group Free
WhatsApp Meta’s WhatsApp Cloud API: a business number, a token and an approved template Free up to Meta’s monthly allowance, then per message
SMS A Twilio account and number Per message

Set everything with dtvsol notify …, the API or the monitor’s Settings → Notifications. Passwords and tokens are stored encrypted on the router and never shown again.

  • Critical alarms by default (add warnings or info with dtvsol notify level).
  • Every change that failed on the router (see Changes that failed), whatever its level.
  • When an alarm clears, so nobody drives to a problem that is already gone.

One check’s raises and clears go together, at most 15 lines, then … and N more. A channel sends at most 30 messages an hour; the 30th says so, and the rest of that hour stays in the monitor.

[DTVSOL router-1] CRITICAL: 1 alarm(s) raised, 1 cleared
CRITICAL: bond0 (uplink) is down
CLEARED: DHCP service is not running
https://XXX.XXX.XXX.10:8881/
Terminal window
dtvsol notify on
dtvsol notify level critical warning # which levels (critical only by default)
dtvsol notify link https://XXX.XXX.XXX.10:8881/ # the monitor, at the end of each message
dtvsol notify # the settings, and how the last message went

dtvsol notify changes off stops the failed changes, dtvsol notify clears off the clears.

Terminal window
dtvsol notify email to noc@your-isp.com,boss@your-isp.com
dtvsol notify email server smtp.your-isp.com 587 starttls
dtvsol notify email user alarms@your-isp.com
dtvsol notify email password # asked for, not echoed
dtvsol notify email on
dtvsol notify test email
  • security: starttls (port 587, the usual), tls (port 465) or none (port 25, a relay inside your network).
  • from: the sender (dtvsol notify email from …); the login when not set.
  • Gmail and Microsoft 365 want an app password, not the account’s own.
  1. In Telegram, talk to @BotFather, send /newbot, and keep the token it gives.
  2. Add the bot to your NOC group and send a message in the group.
  3. Find the group’s chat id: open https://api.telegram.org/bot<token>/getUpdates in a browser and read "chat":{"id":-100…} (a negative number).
Terminal window
dtvsol notify telegram token # asked for, not echoed
dtvsol notify telegram chat add -1001234567890
dtvsol notify telegram on
dtvsol notify test telegram

WhatsApp only lets a business start a conversation with an approved template, so the router sends each alarm message as the one parameter of your template.

  1. In Meta for Developers, create an app with WhatsApp, and add your business phone number.

  2. From WhatsApp → API setup, note the phone number ID.

  3. Create a permanent token: in Meta Business settings, a system user with the whatsapp_business_messaging permission.

  4. In WhatsApp Manager, create a template of category Utility, named dtvsol_alarm (or another name), in your language, with a body such as:

    Router alarm: {{1}}

    Wait until Meta approves it.

Terminal window
dtvsol notify whatsapp phone-id 123456789012345
dtvsol notify whatsapp token # asked for, not echoed
dtvsol notify whatsapp template dtvsol_alarm es # the template's name and language
dtvsol notify whatsapp to add +573001234567
dtvsol notify whatsapp on
dtvsol notify test whatsapp

The numbers are written with + and the country code. A WhatsApp parameter is one line, so the alarm lines are joined with ·.

Terminal window
dtvsol notify sms sid ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
dtvsol notify sms token # the auth token, asked for, not echoed
dtvsol notify sms from +15005550006 # your Twilio number
dtvsol notify sms to add +573001234567
dtvsol notify sms on
dtvsol notify test sms

An SMS carries the first 480 characters of the message (up to 3 SMS).

Each channel keeps how its last message went (dtvsol notify, and the monitor). A channel whose last message failed is an alarm itself, Alarm notifications by telegram fail: …, sent by the other channels. It clears when a message on that channel works again, for example dtvsol notify test telegram.

dtvsol notify telegram reset (or Forget in the monitor) removes a channel’s settings, its token included.

  • Tokens and passwords are sealed with the router’s vault key, bound to this machine: a copy of the database does not open them elsewhere. They are never shown by the API, the CLI or the monitor.
  • The router sends with curl, its settings on a private file removed after each message: no secret appears on a command line or in a process list.
  • A slow mail server never holds the alarm checks: messages are sent on their own.

This site was written with the help of AI and checked by our team.