Domorela's Blog: Virtual Lab with Domorela DMRL1: Testing with WUI: Technical alarms

We move back to the WUI in order to show how to deal with technical alarms in Domorela. The simplest way to be noticed by technical alarms is through the Alarms View, that will receive the state of all alarms and will update their value in the View without user intervention. But in many installations could also be convenient to edit a Panel for each group of relevant alarms related to different types of elemets: Lighting, Shutters, etc. Another possibility is to add the most relevant alarms to the User Dashboard.

Users are free to employ the methodology they think is best for their own environment. In this Lab we will use the simplest way to get noticed when an alarm is triggered, so we'll use the Alarms View.

To do these tests we'll use CLI interface to send write telegrams to an alarm status Communication Object we choose from those available in the Lab. Then we'll see how the related alarm object is being updated in the Alarms View in another browser that is showing it.

 

As you can see in the above video, the icons of alarm objects in Domorela have an animation in order to be visible more clearly when they are active.

 

When an alarm is switched using WUI controls, its new status is sent to the Communication Object and the View is updated properly. Note that if an alarm is set to false and its conditions remain true, then the alarm will be triggered again to its active status when an update check of these conditions is done. The opposite case will be analogous.

If the alarm is fired for the first time, a new alarm object is generated with a timestamp field indicating the current time and a normalTimestamp field set to the Unix/POSIX Epoch value:

<ref name="1" href="/obix/alarmService/alarmas/1/" is="obix:AckAlarm obix:StatefulAlarm obix:PointAlarm obix:Alarm">
  <ref name="source" href="/obix/knx/config/proyectos/P085D/direcciones/P085D0_GA72/datapoints/P085D0_GA72_oProbe0bProbeError/curVal/"/>
  <abstime name="timestamp" href="/obix/alarmService/alarmas/1/timestamp/" val="2021-04-19T17:28:09.856Z"/>
  <abstime name="normalTimestamp" href="/obix/alarmService/alarmas/1/normalTimestamp/" val="1970-01-01T00:00:00.000Z"/>
  <bool name="alarmValue" href="/obix/alarmService/alarmas/1/alarmValue/" val="true" display="alarm" range="knx/enums/dpt_alarm/"/>
  <op name="ack" href="/obix/alarmService/alarmas/1/ack/" in="obix:obj" out="obix:obj"/>
</ref>

 

Switching off any alarm using the WUI controls will set the normalTimestamp field to the current time in which alarm status becomes off, as well as in the event in which the alarm conditions are finished:

<ref name="1" href="/obix/alarmService/alarmas/1/" is="obix:AckAlarm obix:StatefulAlarm obix:PointAlarm obix:Alarm">
  <ref name="source" href="/obix/knx/config/proyectos/P085D/direcciones/P085D0_GA72/datapoints/P085D0_GA72_oProbe0bProbeError/curVal/"/>
  <abstime name="timestamp" href="/obix/alarmService/alarmas/1/timestamp/" val="2021-04-19T17:28:09.856Z"/>
  <abstime name="normalTimestamp" href="/obix/alarmService/alarmas/1/normalTimestamp/" val="2021-04-19T17:31:45.429Z"/>
  <bool name="alarmValue" href="/obix/alarmService/alarmas/1/alarmValue/" val="true" display="alarm" range="knx/enums/dpt_alarm/"/>
  <op name="ack" href="/obix/alarmService/alarmas/1/ack/" in="obix:obj" out="obix:obj"/>
</ref>

 

If you want acknowledge an alarm without changing its state, you'll need to do it by sending an ack query to the Alarm Service of the REST API. We'll see how to do this in a future article of this blog.

 

Next article will talk about testing security alarms using the WUI.

 

 

Blog Articles