Skip to content

3 Revisions

Don T edited this page Sep 26, 2016 · 1 revision

Revisions, Bug Fixes and Enhancements

September 4, 2016 Redesign the Generation, handling and acknowledgement of alarm events.

  • Sensor Is Tripped

Event is added to std::map <event sequence, device index>event_list, unless already in list. A Pushover notification of the alarm condition is sent to user. The alert contains device name and the event sequence.
Any number of sensors can trip at the same time or in any sequence. They are added to event_list as they trip.

  • acknowledge Alarm Event

The user, upon receiving the Pushover alert, can acknowledge this single device event by performing the acknowledge request "ACK event-sequence" from the iPhone app. If the device alarm condition has cleared, this request, upon confirmation, will clear the alarm event and reset the device. If the event_list is now empty the alarm will reset (from state notifying to state armed). If there are additional alarm events in the list, i.e. the user has received other alarm events from other sensor devices, he /she needs to acknowledge each of these evens as described above.

  • Disable Device

In the event that the device's alarm condition does not clear, and may not clear for some time, such as a floor water detector or a thermometer sensor with a temperature below its max setting, that sensor can be disabled (temporarily). This is done with the deactivate request, "DEA device-index". A listing of all devices, including their index, can be obtained, sent in a Pushover message, with the list request "LIS".

  • Confirm Request

All requests initiated via the iPhone app (or by any other means available, such as curl or a web page), will result in a 'secret number' being sent to you in an alert. To have your request actually performed, you must enter the secret number in the corresponding box in the iPhone app and press 'Confirm'. The command requested will then be executed and appropriate responses sent via Pushover alerts. Since no command which effects the function of the alarm or describes the alarm detail can be performed without knowing this secret, which is only sent to your registered device, your alarm system environment is very secure.

  • Display Event List

The std::map event_list contents can be viewed, via a Pushover alert, with the event-queue request "EVT". This displays all of the outstanding (not acknowledged) alarm events.

  • Class Organization

Event Handling is a part of class Alarm. The std::map event_list is a private property of the class. The class methods which implement alarm event handling are:

addEntry(), ackEntry(), removeEntry() and eventsClear()

Clone this wiki locally