No description
  • Python 96.5%
  • Dockerfile 3.5%
Find a file
2026-03-03 20:25:43 -06:00
.forgejo/workflows feat: add claude code integration 2026-02-28 16:13:49 -06:00
.github build(deps): bump docker/login-action from 3.6.0 to 3.7.0 2026-02-02 23:44:20 +00:00
.dockerignore chore(docker): add .dockerignore file to optimize Docker image build 2024-12-21 13:45:02 -06:00
.gitignore chore(gitignore): add config.ini to .gitignore to prevent sensitive data exposure 2024-12-20 17:41:22 -06:00
.pre-commit-config.yaml chore(pre-commit): add pre-commit configuration for code quality checks 2024-12-19 11:37:32 -06:00
.sourcery.yaml chore(sourcery.yaml): update configuration for Sourcery tool 2024-12-21 13:37:43 -06:00
bm_monitor.py chore: bump version to 1.3.6 and update changelog 2026-01-07 12:55:53 -06:00
CODEOWNERS chore: add CODEOWNERS file to define code ownership 2024-12-20 16:56:30 -06:00
config.py Build direction change (additions in case of problems) 2024-12-20 15:27:47 -06:00
config.tmpl Build direction change (additions in case of problems) 2024-12-20 15:27:47 -06:00
Dockerfile fix: use Python tzdata package instead of system tzdata 2026-01-07 12:21:10 -06:00
fly.toml chore(fly.toml): update timestamp in configuration file comment 2024-12-21 14:02:24 -06:00
installation-setup.md docs: update README and installation-setup for clarity and formatting 2024-12-21 07:26:45 -06:00
LICENSE Initial commit 2022-07-12 20:16:15 -04:00
PRD.md feat: add Product Requirements Document for Brandmeister Last Heard Monitor 2025-05-03 09:23:03 -05:00
README.md chore: bump version to 1.3.6 and update changelog 2026-01-07 12:55:53 -06:00
RELEASING.md docs: add release process documentation 2026-01-07 09:48:16 -06:00
renovate.json chore: disable renovate for this repo 2026-03-03 20:25:43 -06:00
requirements.txt fix: use Python tzdata package instead of system tzdata 2026-01-07 12:21:10 -06:00

Docker Publish CodeQL Dependabot Updates

Brandmeister Last Heard Monitor

Brandmeister Last Heard Monitor/Notifier

This Python script will listen to the Brandmeister Last Heard API endpoint for any callsign or Talkgroup (or both) that you configure and it will send you a notification when there is activity for those callsigns and/or talkgroups.

Origins

Created by mclemens/pyBMNotify then forked/refactored by n8acl/bm_monitor and finally you are here: mauvehed/bm_monitor.

This script is really just a refactoring using a newer socketIO python library from what the original pyBMNotify script was using. Brandmesiter updated the protocol that their API was using a few months ago and the old script did not support the newer protocol, so I just refactored the script for this newer protocol.

The actual logic and guts of the script are still the same as the original pyBMNotify script that Michael Clemens, DK1MI wrote and that is all HIS work. That is why this is a fork, not an original work. I wanted to make sure that was clear. I did not do the heavy lifting for this project, I just refactored the connection. Everything else is his work.

-n8acl

This script is for use by Amateur Radio Operators only.


Supported Services

This script will push a notification to the following services:

  • Discord
  • Telegram
  • Pushover
  • DAPNET

Installation/Setup Instructions

Click here to see the installation and setup steps. Then come back here. This is a bit of a long document, so read it all carefully.


Change Log

  • 01/07/2026 - Point Release 1.3.6 - Fix TalkerAlias control character handling with fallback to SourceCall, fix timezone with Python tzdata package

  • 01/07/2026 - Point Release 1.3.5 - Fix Docker timezone errors by adding tzdata package

  • 01/07/2026 - Point Release 1.3.4 - Fix Discord message line breaks in callsign display

  • 01/15/2025 - Point Release 1.3.3 - Add debug log file "bm_logging.py" with all Brandmeister messages

  • 12/22/2024 - Point Release 1.3.2 - Add improved logging

  • 12/20/2024 - Point Release 1.3.1 - Add TalkerAlias compatibility when posting to Discord

  • 12/19/2024 - Minor Update Release 1.3 - Add functionality to post Discord messages to Threads

  • 05/20/2024 - Minor Update Release 1.2 - Added Logic to handle multiple events from BM to correctly identify the event needed to send a notification message

  • 12/23/2022 - Minor Update Release 1.1 - Fixed logic for ignoring Noisy calls (Callsigns to ignore)

  • 07/12/2022 - Inital Release