Skip to content

k6ef/pushover-pistar

Repository files navigation

DMR MMDVM → Pushover Alert Script

User Guide

This application monitors an MMDVMHost log and sends Pushover notifications when selected DMR activity occurs.

It supports:

  • Talkgroup voice calls
  • Private voice calls (direct calls to you)
  • DMR Call Alert (CSBK / page)
  • RF traffic, network traffic, or both
  • Filtering by talkgroup, caller ID, destination ID, slot, and mode
  • Continuous operation using systemd

1. Requirements

Hardware / OS

  • Raspberry Pi running Pi-Star or another MMDVMHost-based image
  • Internet connectivity

Software

  • Python 3
  • A Pushover account and mobile app

2. Files Overview

File Purpose
dmr_tg_pushover.py Main application
dmr_tg_pushover.ini Configuration file
dmr-tg-pushover.service systemd service
mmdvm-current-log.service Updates log symlink
mmdvm-current-log.timer Runs symlink update daily

3. Pushover Setup

  1. Create an account at https://pushover.net
  2. Note your User Key
  3. Create an application and note the API Token
  4. Install the Pushover mobile app

These credentials are required in the configuration file.


4. Log File Handling

Pi-Star rotates logs daily, for example:

/var/log/pi-star/MMDVM-YYYY-MM-DD.log

This application expects a stable log path, so a symlink is used:

/var/log/pi-star/MMDVM-current.log

A systemd timer is provided to refresh this symlink automatically at midnight.


5. Configuration File

Create dmr_tg_pushover.ini:

[main]
log = /var/log/pi-star/MMDVM-current.log
slot = 2
source = rf
mode = all
cooldown = 10
alias_ttl = 10
priority = 0
debug = false

[tg]
allow = 91,3100

[filter]
from = 1234567
to = 7654321

[pushover]
token = YOUR_PUSHOVER_APP_TOKEN
user  = YOUR_PUSHOVER_USER_KEY

6. Configuration Sections

[main]

Option Description
log Path to MMDVM log
slot 1, 2, or 0 (any slot)
source rf, network, or both
mode tg, private, alert, both, all
cooldown Minimum seconds between alerts
alias_ttl Seconds a talker alias remains valid
priority Pushover priority (-2 to 2)
debug Enable debug output

[tg]

Option Description
allow Allowed talkgroup IDs (comma-separated)

Accepts numeric or alphanumeric TG identifiers.


[filter]

Option Description
from Only alert if caller matches this ID
to Only alert if destination matches this ID

Values may be numeric DMR IDs or any identifier exactly as it appears in the log.


[pushover]

Option Description
token Pushover application token
user Pushover user or group key

7. Modes Explained

mode = tg

Alert on talkgroup voice calls.

mode = private

Alert on private voice calls.

mode = alert

Alert on DMR Call Alert CSBK.

mode = both

Alert on talkgroup and private voice calls.

mode = all

Alert on talkgroup, private voice, and call alerts.


8. Running the Script Manually

python3 dmr_tg_pushover.py --config dmr_tg_pushover.ini

Enable debug output:

python3 dmr_tg_pushover.py --config dmr_tg_pushover.ini --debug

If run without arguments, the script prints usage help automatically.


9. Running Automatically with systemd

sudo systemctl enable --now dmr-tg-pushover.service

Check status:

systemctl status dmr-tg-pushover.service
journalctl -u dmr-tg-pushover.service -f

10. Log Rotation Support

sudo systemctl enable --now mmdvm-current-log.timer

11. Troubleshooting

  • Verify the log path exists
  • Enable debug output
  • Confirm Pushover credentials
  • Ensure the script started before the event occurred

12. Security Notes

  • Credentials are stored in a config file, not on the command line
  • Outbound HTTPS only
  • No listening sockets

13. Summary

This application provides real-time notification of selected DMR activity from an MMDVM hotspot, including talkgroup traffic, private calls, and call alerts.

It is designed for continuous operation and integrates cleanly with systemd.

About

Send call alerts / TG calls to pushover

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors