Closed otterdahl closed 1 month ago
This type of command exists in other protocols and we've gotten feedback that it is missing in RSMP.
I'm not sure if it really applies to all kinds of alarm, but the typical use case is alarms that is generated in software. For instance A0302: Detector error (logic error).
That alarm monitors that the detector has remained on or off for an unreasonable long time. It would indicate that the detector is faulty. It may use a timer to achieve this. But if the detector gets fixed, then the alarm may remain active for a long time afterwards. It would be useful to reset the alarm timer.
I don't know what the best term to use: "reset" or "clearing" alarms. I also don't know if it only applies to all alarms or only a few.
We have previously implemented this as the "restart" command (don't remember the exact name), which will reset the errors. (this also implies that if the intersection is in a major fault, it will attempt to start up again).
Resetting an alarm sounds like something you can do for a single alarm, or a set of alarms, whereas a general 'reset controller' would affect all alarms, and probably many other things as well?
Resetting single alarms is overdoing it. In some countries it's a requirement to be able to reset detector errors separately.
The reset alarms/errors should clear all active alarms/errors on controller, simple as that. After resetting errors, the alarms will come again active, if they can't be "fixed" by resetting alarms.
Basically controllers should always clear all alarms/errors automatically, but in some cases they need manually error reset.
As Andres wrote, Swarco controllers uses command M0004 to clear = reset alarms. This is why we need own function for clearing alarms. For example, now LS Cartesio will restart the controller with that command, but there is no command to reset alarms for example after all starting retries are used after lamp failure. Solution = let's made clear/reset errors/alarms command.
Since resetting alarms needs a new command. Should we target 1.2.1 or 1.3? @emiltin
I suggest 1.3
In some countries it's a requirement to be able to reset detector errors separately.
Then we should probably support this. We could have an attribute like "types" where you can specify which types of alarms to clear. If you leave it out, it just clears everythíng. (This requires optional attributes in the core spec, which is currently planned for core 3.3)
Never versions of the ITC-3 controllers don't even reset alarms when receiving the 'restart' command, instead the reply with "not supported".
Since ability to reset detector logic errors separately is a requirement in some countries we might want to support that, otherwise it's just about resetting all alarms.
Most alarms should reset themselves when the error is not present amymore, but the ability to reset alarms is a way to speed up that process. If the error is still there, the alarm should reactive again.
PR i schema repo in https://github.com/rsmp-nordic/rsmp_schema/pull/100
Do we need the 'status' attribute when it should always be set to true? question is if something breaks if there are no attributes at all.
Closing, instead of introducing a new command for clearing alarms, we'll modifiy M0004 so you can either restart or clear alarms.
Would this be clearing alarms?