Skip to content

Update External Notifications with a full redo of logic gates#10006

Merged
thebentern merged 3 commits into
developfrom
externalnotification_updates
Mar 25, 2026
Merged

Update External Notifications with a full redo of logic gates#10006
thebentern merged 3 commits into
developfrom
externalnotification_updates

Conversation

@Xaositek

@Xaositek Xaositek commented Mar 25, 2026

Copy link
Copy Markdown
Contributor

I have taken the time to map out the various methods and redo the logic gates which I believe corrects #6368.

This was all tested on a Wio Tracker L1 Pro.

image

@Xaositek Xaositek self-assigned this Mar 25, 2026
@Xaositek Xaositek added bugfix Pull request that fixes bugs 2.7 Planned for next point release labels Mar 25, 2026
@github-actions github-actions Bot added the needs-review Needs human review label Mar 25, 2026
Comment thread src/modules/ExternalNotificationModule.cpp
@mangelajo

Copy link
Copy Markdown

Your patch looks perfect, also handling the Mute, thanks for considering it!.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the External Notification module’s message-handling logic to evaluate alert conditions independently per output (generic GPIO, vibra GPIO, buzzer), aiming to fix issue #6368 where the buzzer could trigger on messages it shouldn’t.

Changes:

  • Split alert evaluation into genericShouldAlert, vibraShouldAlert, and buzzerShouldAlert.
  • Only activate each output when its corresponding alert condition matches (bell vs non-muted message).
  • Consolidate nag-cycle start logic to trigger when any output should alert.

Comment thread src/modules/ExternalNotificationModule.cpp Outdated
Comment thread src/modules/ExternalNotificationModule.cpp
@shalberd

Copy link
Copy Markdown

Would this also work with GPIO buzzers like here: #6368 (comment)

I am asking because in your table, you speak of "Alert GPIO Buzzer when receiving a bell" as Off and
"Alert GPIO Buzzer when receiving a message" as Off.

@Xaositek

Copy link
Copy Markdown
Contributor Author

Would this also work with GPIO buzzers like here: #6368 (comment)

I am asking because in your table, you speak of "Alert GPIO Buzzer when receiving a bell" as Off and "Alert GPIO Buzzer when receiving a message" as Off.

Yes it should work well overall.

@shalberd

shalberd commented Mar 25, 2026

Copy link
Copy Markdown

Would this also work with GPIO buzzers like here: #6368 (comment)
I am asking because in your table, you speak of "Alert GPIO Buzzer when receiving a bell" as Off and "Alert GPIO Buzzer when receiving a message" as Off.

Yes it should work well overall.

Ah yes, of course, it is all in the code.
https://github.com/meshtastic/firmware/pull/10006/changes#diff-8f0f833122f0577cc7d091d7954100cba2e48c1208d118f5830f68417eace402R388
Got confused for a bit between GUI in the App and variables.

All good.

In general: I think the main objective has been fulfilled, meaning alerting on bell only working, if and only if, a bell is in the message, alerting on message working also for all messages.
Final thought: this badly needs some documentation as well :-P

https://meshtastic.org/docs/configuration/module/external-notification/#alert-types

I was going over this with a firefighter, and was puzzled at times. Now, in BE terms, I am buzzing ;-)
Plus, from the descriptions in the story, we were not the only ones to wonder about the deeper meaning behind all the config settings.

To summarize: thank you all very much, I learned a lot about that module.

@thebentern thebentern merged commit d3a8684 into develop Mar 25, 2026
39 of 71 checks passed
@thebentern thebentern deleted the externalnotification_updates branch March 25, 2026 19:46
thebentern pushed a commit that referenced this pull request Mar 25, 2026
* Update External Notifications with a full redo of pathways

* Correct comments.

* Fix TWatch S3 and use HAS_DRV2605
skrashevich pushed a commit to skrashevich/meshtastic-firmware that referenced this pull request Apr 4, 2026
…stic#10006)

* Update External Notifications with a full redo of pathways

* Correct comments.

* Fix TWatch S3 and use HAS_DRV2605
jeek pushed a commit to jeek/Meshtastic-Exploiteers-Hacker-Pager that referenced this pull request Jun 30, 2026
…stic#10006)

* Update External Notifications with a full redo of pathways

* Correct comments.

* Fix TWatch S3 and use HAS_DRV2605
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.7 Planned for next point release bugfix Pull request that fixes bugs needs-review Needs human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Buzzer is all or nothing - activates for all messages even if set to bell only

5 participants