-
-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] feature: Alert Management and Notifications #1560
base: master
Are you sure you want to change the base?
Conversation
For raising and clearing Signal K standard alarm types with predefined (overridable) message text and methods.
Sorry - I have a bunch of gripes that I would like to see fixed in V2 notifications:
I like having @sbender9 you've dealt a lot more with notifications - thoughts on this? |
I don't disagree with your comments, while the intent of the PR was just to address the current alarms detailed in the spec, more than happy to evolve the discussion and the PR here. |
In response to the comments above I have updated the inital PR comment to reflect the change in focus from v1 standard alarms to the establishment of a Notifications API that aims to start addressing the concerns raised in @tkurki 's comments e.g. assigning an id which can be used for subsequent actions. In it's current form it can be considered a skeleton API profile (for interactive / client use) and interface method(s) (for plugins and data stream handlers) to raise, update and clear notifications in a consistent way. There is still much to do and also scenarios that have not yet been addressed, e.g. the handling of notifications originating from within Signal K deltas generated by external devices / sensors. |
I’ve been doing some work with Notifications recently which has prompted some thoughts...
P |
At this time, the working position is based on a fairly common notification / alarm lifecycle (well in my experience at least) where there are sources which can raise different types of alarms and there are "many eyes on glass" to take action as required.
Silencing the alarm is an "Action" but may not apply globally to the alarm but just to the console where the silence action was taken. There may be other actions that fall into a similar basket. There is clearly a need to agree the alarm / notification lifecycle to ensure the API and operation is fit for purpose and not unnecessarily complex. |
Absolutely the scope is all notifications to be actionable regardless of the source. |
This aligns with the current format of how of entries are returned in Signal K. |
The current approach is a rudimentary way to add notification ids and be backwards compatable with current operation. I expect that the underlying notification system will need to re-engineered as it will need to function quite differently to the way it does today (where they are effectively just another path). |
@panaaj - thank you for explaining current thinking on this. On the alarm life cycle front I worry about conflating the semantics of It even jars when I see the expression "Standard Alarms" which in my In my head the only Notification lifecycle events are create and destroy. I acknowledge, of course, that the obvious place to capture some alarm Thus, I remain concerned about reifying these somewhat-notification-related
when, debatably, they have nothing to do with a Notifcation per-se. Conditions like ACK and SILENCE are (to me) alarm related concepts. I have a plugin that forwards Notifications to the WAN by email and web-push and it is You will see how I got to the more general proposal of a tag for flagging things that, P |
Related OpenCPN discussion OpenCPN/OpenCPN#4253 |
I added a data model study I wrote as a separate Issue #1857. In my opinion, notifications and alerts should be separate entities because their lifecycle and treatment are different. We could either refactor this work to deal with alerts or reduce its scope to only address notifications (that in my opinion are fleeting messages for which operator action is not expected). |
I have pushed an update to create a skeleton alert manager and alert class that aligns to the lifecycle in #1857 to provide a basis for building out an approach. |
This PR has been REFACTORED to now address #1857.
Linked Issues
Overview
Provide an Alerts mechanism to encompass the management of the lifecycle of alerts and their associated notifications to address when operating conditions become abnormal and measured values fall outside of acceptable thresholds.
It endeavours to align terminology and implement with best practise by adopting the relevant sections of MSC.302(87), A.1021(26) and IEC 68682:2023.
Other references:
Supported Operations
Alert List
Notifications
Alerts will emit Notifications throughout their lifecycle to indicate changes in status and when they are resolved.
Features
/signalk/v2/api/alerts
)