Commit 23aaf90e authored by Sergi Rubio's avatar Sergi Rubio
Browse files

Merge branch 'manual-set-quality' into 'main'

Manual set quality

Closes #177

See merge request !182
parents b4295dd5 c17044e1
Loading
Loading
Loading
Loading
Loading
+3 −0
Changes for 2/Device.md: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -207,6 +207,9 @@ The State Attribute represents Device State.

* By default the Device State SHOULD be in ALARM if at a given time the Device State is ON and at least one of Device
  Attributes has the quality set to ALARM or WARNING.
  * When determining if the Device State SHOULD be in ALARM, a Device MUST exclude from consideration Device Attributes
    with *automatic alarm handling* enabled if they do not have Attribute Properties defined for alarming purposes (See
    [Attribute][../4/Attribute.md]).

Value of Device's State Attribute MAY impact how the Device responds to:

+50 −10
Changes for 4/Attribute.md: 50 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -107,6 +107,11 @@ an Attribute MAY have associated following additional static metadata:
  of enumerated values.
  * It MAY be empty.

If *data type* is numerical,
an Attribute MAY have associated following additional static metadata:
* *automatic alarm handling enabled*, a boolean which if true enables *automatic alarm handling*
  for the attribute.
  * If not present, then *automatic alarm handling* MUST be enabled

#### Memorized attribute

@@ -220,36 +225,46 @@ General properties:

Properties for alarming purposes:
* *min alarm*: Describing the threshold value of Attribute's *read value*
  below which the attribute is considered as having alarm *quality* set to ALARM.
  * It MUST be defined only for Attributes with numerical *data type*.
  below which the attribute is considered as having *quality* set to *ALARM*
  if *automatic alarm handling* is enabled.
  * It MUST be defined only for Attributes with numerical *data type* with
    *automatic alarm handling* enabled.
  * If defined:
    * It MUST be a valid numerical value.
    * It MUST be lower than *max alarm* (if specified).
* *max alarm*: Describing the threshold value of Attribute's *read value*
  above which the attribute is considered as having alarm *quality*.
  * It MUST be defined only for Attributes with numerical *data type*.
  above which the attribute is considered as having *quality* set to *ALARM*
  if automatic alarm handling is enabled.
  * It MUST be defined only for Attributes with numerical *data type* with
    *automatic alarm handling* enabled.
  * If defined:
    * It MUST be a valid numerical value.
    * It MUST be greater than *min alarm* (if specified).
* *min warning*: Describing the threshold value of Attribute's *read value*
  below which the attribute is considered as having *quality* set to WARNING.
  * It MUST be defined only for Attributes with numerical *data type*.
  below which the attribute is considered as having *quality* set to *WARNING*
  if *automatic alarm handling* is enabled.
  * It MUST be defined only for Attributes with numerical *data type* with
    *automatic alarm handling* enabled.
  * If defined:
    * It MUST be a valid numerical value.
    * It MUST be lower than *max warning* (if specified).
* *max warning*: Describing the threshold value of Attribute's *read value*
  above which the attribute is considered as having *quality* set to WARNING.
  * It MUST be defined only for Attributes with numerical *data type*.
  above which the attribute is considered as having *quality* set to *WARNING*
  if *automatic alarm handling* is enabled.
  * It MUST be defined only for Attributes with numerical *data type* with
    *automatic alarm handling* enabled.
  * If defined:
    * It MUST be a valid numerical value.
    * It MUST be greater than *min warning* (if specified).
* *delta val*: Describing the maximum difference between Attribute's
  *read value* and *set value* after *delta t* time period,
  above which the attribute is considered as having *quality* set to ALARM.
  above which the attribute is considered as having *quality* set to *ALARM*
  if *automatic alarm handling* is enabled.
  * It MUST be defined only for writable Attributes.
* *delta t*: describing the time period (in milliseconds) after which the
  difference between *read value* and *set value* must be lower than
  *delta val*. Otherwise the attribute is considered as having *quality* set to ALARM.
  *delta val*. Otherwise the attribute is considered as having *quality* set to
  *ALARM* if *automatic alarm handling* is enabled.
  * It MUST be defined only for writable Attributes.
  * It MUST be defined if *delta val* is also defined.

@@ -333,6 +348,31 @@ An *alias* MUST follow the same naming specification as an *attribute name*.

See [16/TangoResourceLocator/Alias](../16/TangoResourceLocator.md### Alias) for common Alias properties.

### Attribute quality factor

An Attribute must have one of the following *quality* factors
describing its *read value*:
* *VALID*
* *INVALID*
* *ALARM*
* *CHANGING*
* *WARNING*

The quality factor MAY be set manually from device server code.

The Tango kernel MUST provide *automatic alarm handling* which MAY only set the
quality factor to *VALID, *WARNING* or *ALARM*.

A manually set quality factor other than *VALID* MUST take precedence over a
quality factor set by *automatic alarm handling*.

If the *automatic alarm handling* has been disabled for an Attribute, the
[Attribute properties](#attribute-properties) used for alarming purposes MUST
not be defined.

When *automatic alarm handling* is enabled, the Tango kernel MUST follow the
alarm configuration specified by the [Attribute properties](#attribute-properties).

### Attribute events

An Attribute can send following events: