{"id":20121188,"url":"https://github.com/n8acl/bm_monitor","last_synced_at":"2025-08-12T10:13:07.256Z","repository":{"id":107377911,"uuid":"513328252","full_name":"n8acl/bm_monitor","owner":"n8acl","description":"Brandmeister Last Heard Monitor/Notifier","archived":false,"fork":false,"pushed_at":"2024-05-20T18:08:25.000Z","size":32,"stargazers_count":17,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-18T08:37:25.884Z","etag":null,"topics":["brandmeister","dapnet","discord","ham-radio","pushover-notifications","telegram"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n8acl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-13T00:16:14.000Z","updated_at":"2025-04-22T09:31:03.000Z","dependencies_parsed_at":"2024-05-20T19:46:29.364Z","dependency_job_id":null,"html_url":"https://github.com/n8acl/bm_monitor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/n8acl/bm_monitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8acl%2Fbm_monitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8acl%2Fbm_monitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8acl%2Fbm_monitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8acl%2Fbm_monitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n8acl","download_url":"https://codeload.github.com/n8acl/bm_monitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8acl%2Fbm_monitor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270041469,"owners_count":24516853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brandmeister","dapnet","discord","ham-radio","pushover-notifications","telegram"],"created_at":"2024-11-13T19:26:27.985Z","updated_at":"2025-08-12T10:13:07.232Z","avatar_url":"https://github.com/n8acl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Brandmeister Last Heard Monitor\nBrandmeister Last Heard Monitor/Notifier\n\n###### Forked from [mclemens/pyBMNotify](https://codeberg.org/mclemens/pyBMNotify) and modified.\n\nThis 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.\n\nThis script is really just a refactoring using a newer socketIO python library from what the orginal 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](https://qrz.is/) 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 heay lifting for this project, I just refactored the connection. Everything else is his work.\n\nThis script is for use by Amateur Radio Operators Only.\n\n---\n\n## Supported Services\n\nThis script will push a notification to the following services:\n\n- Discord\n- Telegram\n- Pushover\n- DAPNET\n\n---\n\n## Installation/Setup Instructions\n\n[Click here to see the installation and setup steps](https://github.com/n8acl/bm_monitor/blob/master/installation-setup.md). Then come back here. This is a bit of a long document, so read it all carefully.\n\n---\n## Contact\nIf you have questions, please feel free to reach out to me. You can reach me in one of the following ways:\n\n- Discord: Ravendos\n- Mastodon: @n8acl@mastodon.radio\n- E-mail: n8acl@qsl.net\n\nOr open an issue on Github. I will respond to it, and of course you, when I can. \n\nIf you reach out to me and have an error, please include what error you are getting and what you were doing. I may also ask you to send me certain files to look at. Otherwise just reach out to me :).\n\n---\n\n## Change Log\n* 05/20/2024 - Minor Update Release 1.2 - Added Logic to handle multiple events from BM to correctly identify the evetn needed to send a notification message\n\n* 12/23/2022 - Minor Update Release 1.1 - Fixed logic for ignoring Noisy calls (Callsigns to ignore)\n\n* 07/12/2022 - Inital Release","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn8acl%2Fbm_monitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn8acl%2Fbm_monitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn8acl%2Fbm_monitor/lists"}