Model

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

Bases: object

Watcher model: constructs and manages rules and alarms.

Parameters
domainlsst.ts.salobj.Domain

DDS Domain.

configtypes.SimpleNamespace

Watcher configuration validated against the Watcher schema.

alarm_callbackcallable, 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
namestr

Regular expression for alarm name(s) to acknowledge.

severitylsst.ts.idl.enums.Watcher.AlarmSeverity or int

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

userstr

Name of user; used to set acknowledged_by.

add_rule(rule)

Add a rule.

Parameters
ruleBaseRule

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.

async 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_regexstr

Regular expression for alarm name(s) to return.

Returns
rulesgenerator

An iterator over rules.

mute_alarm(name, duration, severity, user)

Mute one or more alarms for a specified duration.

Parameters
namestr

Regular expression for alarm name(s) to mute.

durationfloat

How long to mute the alarm (sec)

severitylsst.ts.idl.enums.Watcher.AlarmSeverity or int

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

userstr

Name of user; used to set acknowledged_by.

async start()

Start all remotes.

unacknowledge_alarm(name)

Unacknowledge one or more alarms.

Parameters
namestr

Regular expression for alarm name(s) to unacknowledge.

unmute_alarm(name)

Unmute one or more alarms.

Parameters
namestr

Regular expression for alarm name(s) to unmute.