Model

class lsst.ts.watcher.Model(domain, config, alarm_callback=None)

Bases: object

Watcher model: constructs and manages rules and alarms.

Parameters:
domain : lsst.ts.salobj.Domain

DDS Domain.

config : types.SimpleNamespace

Watcher configuration validated against the Watcher schema.

alarm_callback : callable, optional

Function to call when an alarm changes state. It receives one argument: the alarm. If None then no callback occurs.

Attributes Summary

enabled Get or set the enabled state of the Watcher model.

Methods Summary

acknowledge_alarm(name, severity, user) Acknowledge one or more alarms.
add_rule(rule) Add a rule.
close() Stop rules and close remotes.
disable() Disable the model.
enable() Enable the model.
get_rules(name_regex) Get all rules whose name matches the specified regular expression.
mute_alarm(name, duration, severity, user) Mute one or more alarms for a specified duration.
start() Start all remotes.
unacknowledge_alarm(name) Unacknowledge one or more alarms.
unmute_alarm(name) Unmute one or more alarms.

Attributes Documentation

enabled

Get or set the enabled state of the Watcher model.

Methods Documentation

acknowledge_alarm(name, severity, user)

Acknowledge one or more alarms.

Parameters:
name : str

Regular expression for alarm name(s) to acknowledge.

severity : lsst.ts.idl.enums.Watcher.AlarmSeverity or int

Severity to acknowledge. If the severity goes above this level the alarm will unacknowledge itself.

user : str

Name of user; used to set acknowledged_by.

add_rule(rule)

Add a rule.

Parameters:
rule : BaseRule

Rule to add.

Raises:
ValueError

If a rule by this name already exists

RuntimeError

If the rule uses a remote for which no IDL file is available in the ts_idl package.

RuntimeEror:

If the rule references a topic that does not exist.

close()

Stop rules and close remotes.

disable()

Disable the model. A no-op if already disabled.

enable()

Enable the model. A no-op if already enabled.

get_rules(name_regex)

Get all rules whose name matches the specified regular expression.

Parameters:
name_regex : str

Regular expression for alarm name(s) to return.

Returns:
rules : generator

An iterator over rules.

mute_alarm(name, duration, severity, user)

Mute one or more alarms for a specified duration.

Parameters:
name : str

Regular expression for alarm name(s) to mute.

duration : float

How long to mute the alarm (sec)

severity : lsst.ts.idl.enums.Watcher.AlarmSeverity or int

Severity to mute; used to set the mutedSeverity field of the alarm event.

user : str

Name of user; used to set acknowledged_by.

start()

Start all remotes.

unacknowledge_alarm(name)

Unacknowledge one or more alarms.

Parameters:
name : str

Regular expression for alarm name(s) to unacknowledge.

unmute_alarm(name)

Unmute one or more alarms.

Parameters:
name : str

Regular expression for alarm name(s) to unmute.