瀏覽代碼

Bump version. Improve LRR detail. added perimeter only and instant flags from section #1

pyserial_fix
Sean Mathews 5 年之前
父節點
當前提交
72a9d417ec
共有 6 個檔案被更改,包括 341 行新增289 行删除
  1. +21
    -1
      alarmdecoder/decoder.py
  2. +4
    -4
      alarmdecoder/messages/lrr/__init__.py
  3. +309
    -280
      alarmdecoder/messages/lrr/events.py
  4. +5
    -2
      alarmdecoder/messages/lrr/message.py
  5. +1
    -1
      alarmdecoder/messages/lrr/system.py
  6. +1
    -1
      setup.py

+ 21
- 1
alarmdecoder/decoder.py 查看文件

@@ -150,6 +150,8 @@ class AlarmDecoder(object):
self._alarm_status = None
self._bypass_status = {}
self._armed_status = None
self._entry_delay_off_status = None
self._perimeter_only_status = None
self._armed_stay = False
self._fire_status = False
self._battery_status = (False, 0)
@@ -758,7 +760,8 @@ class AlarmDecoder(object):
arm_status = None
stay_status = None
ready_status = None

entry_delay_off_status = None
perimeter_only_status = None
send_ready = False
send_arm = False

@@ -766,6 +769,8 @@ class AlarmDecoder(object):
arm_status = message.armed_away
stay_status = message.armed_home
ready_status = message.ready
entry_delay_off_status = message.entry_delay_off
perimeter_only_status = message.perimeter_only

if arm_status is None or stay_status is None or ready_status is None:
return
@@ -773,11 +778,26 @@ class AlarmDecoder(object):
self._armed_stay, old_stay = stay_status, self._armed_stay
self._armed_status, old_arm = arm_status, self._armed_status
self._ready_status, old_ready_status = ready_status, self._ready_status
self._entry_delay_off_status, old_entry_delay_off_status = entry_delay_off_status, self._entry_delay_off_status
self._perimeter_only_status, old_perimeter_only_status = perimeter_only_status, self._perimeter_only_status

if old_arm is not None:
if arm_status != old_arm or stay_status != old_stay:
send_arm = True

# This bit is expected to change only when the ARMED bit changes.
# But just in case watch for it to change
if old_entry_delay_off_status is not None:
if entry_delay_off_status != old_entry_delay_off_status:
send_arm = True

# This bit can change after the armed bit is set
# this will treat it like AWAY/Stay transition as an additional
# arming event.
if old_perimeter_only_status is not None:
if perimeter_only_status != old_perimeter_only_status:
send_arm = True

if old_ready_status is not None:
if ready_status != old_ready_status:
send_ready = True


+ 4
- 4
alarmdecoder/messages/lrr/__init__.py 查看文件

@@ -1,9 +1,9 @@
from .message import LRRMessage
from .system import LRRSystem
from .events import get_event_description, get_event_source, LRR_EVENT_TYPE, LRR_EVENT_STATUS, LRR_CID_EVENT, LRR_DSC_EVENT, LRR_ADEMCO_EVENT, \
from .events import get_event_description, get_event_source, get_event_data_type, LRR_EVENT_TYPE, LRR_EVENT_STATUS, LRR_CID_EVENT, LRR_DSC_EVENT, LRR_ADEMCO_EVENT, \
LRR_ALARMDECODER_EVENT, LRR_UNKNOWN_EVENT, LRR_CID_MAP, LRR_DSC_MAP, LRR_ADEMCO_MAP, \
LRR_ALARMDECODER_MAP, LRR_UNKNOWN_MAP
LRR_ALARMDECODER_MAP, LRR_UNKNOWN_MAP, LRR_DATA_TYPE

__all__ = ['get_event_description', 'get_event_source', 'LRRMessage', 'LRR_EVENT_TYPE', 'LRR_EVENT_STATUS', 'LRR_CID_EVENT', 'LRR_DSC_EVENT',
__all__ = ['get_event_description', 'get_event_source', 'get_event_data_type', 'LRRMessage', 'LRR_EVENT_TYPE', 'LRR_EVENT_STATUS', 'LRR_CID_EVENT', 'LRR_DSC_EVENT',
'LRR_ADEMCO_EVENT', 'LRR_ALARMDECODER_EVENT', 'LRR_UNKNOWN_EVENT', 'LRR_CID_MAP',
'LRR_DSC_MAP', 'LRR_ADEMCO_MAP', 'LRR_ALARMDECODER_MAP', 'LRR_UNKNOWN_MAP']
'LRR_DSC_MAP', 'LRR_ADEMCO_MAP', 'LRR_ALARMDECODER_MAP', 'LRR_UNKNOWN_MAP', 'LRR_DATA_TYPE']

+ 309
- 280
alarmdecoder/messages/lrr/events.py 查看文件

@@ -20,9 +20,32 @@ def get_event_description(event_type, event_code):

if lookup_map is not None:
description = lookup_map.get(event_code, description)

# Extract the real message if it's a dictionary
if isinstance(description, dict):
description = description.get('message', description)
return description

def get_event_data_type(event_type, event_code):
"""
Retrieves the human-readable data type for the LRR event.

:param event_type: Base LRR event type. Use LRR_EVENT_TYPE.*
:type event_type: int
:param event_code: LRR event code
:type event_code: int

:returns: string
"""
dtype = ''
lookup_map = LRR_TYPE_MAP.get(event_type, None)

if lookup_map is not None:
dtype = lookup_map.get(event_code, dtype)
# Extract the event data type if it's a dictionary
if isinstance(dtype, dict):
dtype = dtype.get('dtype', dtype)
return dtype

def get_event_source(prefix):
"""
Retrieves the LRR_EVENT_TYPE corresponding to the prefix provided.abs
@@ -64,6 +87,12 @@ class LRR_EVENT_STATUS:
TRIGGER = 1
RESTORE = 3

class LRR_DATA_TYPE:
"""
LRR Data type for the event
"""
ZONE = 'Z'
USER = 'U'

class LRR_CID_EVENT:
"""
@@ -422,289 +451,289 @@ class LRR_UNKNOWN_EVENT:

# Map of ContactID event codes to human-readable text.
LRR_CID_MAP = {
LRR_CID_EVENT.MEDICAL: 'Medical Emergency: Non-specific',
LRR_CID_EVENT.MEDICAL_PENDANT: 'Emergency Assistance Request',
LRR_CID_EVENT.MEDICAL_FAIL_TO_REPORT: 'Medical: Failed to activate monitoring device',
LRR_CID_EVENT.TAMPER_ZONE: 'Zone Tamper',
LRR_CID_EVENT.FIRE: 'Fire: Non-specific',
LRR_CID_EVENT.FIRE_SMOKE: 'Fire: Smoke Alarm',
LRR_CID_EVENT.FIRE_COMBUSTION: 'Fire: Combustion',
LRR_CID_EVENT.FIRE_WATER_FLOW: 'Fire: Water Flow',
LRR_CID_EVENT.FIRE_HEAT: 'Fire: Heat',
LRR_CID_EVENT.FIRE_PULL_STATION: 'Fire: Pull Station',
LRR_CID_EVENT.FIRE_DUCT: 'Fire: Duct',
LRR_CID_EVENT.FIRE_FLAME: 'Fire: Flame',
LRR_CID_EVENT.FIRE_NEAR_ALARM: 'Fire: Near Alarm',
LRR_CID_EVENT.PANIC: 'Panic',
LRR_CID_EVENT.PANIC_DURESS: 'Panic: Duress',
LRR_CID_EVENT.PANIC_SILENT: 'Panic: Silent',
LRR_CID_EVENT.PANIC_AUDIBLE: 'Panic: Audible',
LRR_CID_EVENT.PANIC_DURESS_ACCESS_GRANTED: 'Fire: Duress',
LRR_CID_EVENT.PANIC_DURESS_EGRESS_GRANTED: 'Fire: Egress',
LRR_CID_EVENT.PANIC_HOLDUP_SUSPICION: 'Panic: Hold-up, Suspicious Condition',
LRR_CID_EVENT.PANIC_HOLDUP_VERIFIER: 'Panic: Hold-up Verified',
LRR_CID_EVENT.BURGLARY: 'Burglary',
LRR_CID_EVENT.BURGLARY_PERIMETER: 'Burglary: Perimeter',
LRR_CID_EVENT.BURGLARY_INTERIOR: 'Burglary: Interior',
LRR_CID_EVENT.BURGLARY_AUX: 'Burglary: 24 Hour',
LRR_CID_EVENT.BURGLARY_ENTRYEXIT: 'Burglary: Entry/Exit',
LRR_CID_EVENT.BURGLARY_DAYNIGHT: 'Burglary: Day/Night',
LRR_CID_EVENT.BURGLARY_OUTDOOR: 'Burglary: Outdoor',
LRR_CID_EVENT.BURGLARY_TAMPER: 'Burglary: Tamper',
LRR_CID_EVENT.BURGLARY_NEAR_ALARM: 'Burglary: Near Alarm',
LRR_CID_EVENT.BURGLARY_INTRUSION_VERIFIER: 'Burglary: Intrusion Verifier',
LRR_CID_EVENT.ALARM_GENERAL: 'Alarm: General',
LRR_CID_EVENT.ALARM_POLLING_LOOP_OPEN: 'Alarm: Polling Loop Open',
LRR_CID_EVENT.ALARM_POLLING_LOOP_SHORT: 'Alarm: Polling Loop Closed',
LRR_CID_EVENT.ALARM_EXPANSION_MOD_FAILURE: 'Alarm: Expansion Module Failure',
LRR_CID_EVENT.ALARM_SENSOR_TAMPER: 'Alarm: Sensor Tamper',
LRR_CID_EVENT.ALARM_EXPANSION_MOD_TAMPER: 'Alarm: Expansion Module Tamper',
LRR_CID_EVENT.BURGLARY_SILENT: 'Burglary: Silent',
LRR_CID_EVENT.TROUBLE_SENSOR_SUPERVISION: 'Trouble: Sensor Supervision Failure',
LRR_CID_EVENT.ALARM_AUX: 'Alarm: 24 Hour Non-Burglary',
LRR_CID_EVENT.ALARM_GAS_DETECTED: 'Alarm: Gas Detected',
LRR_CID_EVENT.ALARM_REFRIDGERATION: 'Alarm: Refridgeration',
LRR_CID_EVENT.ALARM_LOSS_OF_HEAT: 'Alarm: Loss of Heat',
LRR_CID_EVENT.ALARM_WATER_LEAKAGE: 'Alarm: Water Leakage',
LRR_CID_EVENT.TROUBLE_FOIL_BREAK: 'Trouble: Foil Break',
LRR_CID_EVENT.TROUBLE_DAY_TROUBLE: 'Trouble: Day Trouble',
LRR_CID_EVENT.ALARM_LOW_BOTTLED_GAS_LEVEL: 'Alarm: Low Bottled Gas Level',
LRR_CID_EVENT.ALARM_HIGH_TEMP: 'Alarm: High Temperature',
LRR_CID_EVENT.ALARM_LOW_TEMP: 'Alarm: Low Temperature',
LRR_CID_EVENT.ALARM_LOSS_OF_AIR_FLOW: 'Alarm: Loss of Air Flow',
LRR_CID_EVENT.ALARM_CARBON_MONOXIDE: 'Alarm: Carbon Monoxide',
LRR_CID_EVENT.TROUBLE_TANK_LEVEL: 'Trouble: Tank Level',
LRR_CID_EVENT.TROUBLE_HIGH_HUMIDITY: 'Trouble: High Humidity',
LRR_CID_EVENT.TROUBLE_LOW_HUMIDITY: 'Trouble: Low Humidity',
LRR_CID_EVENT.SUPERVISORY_FIRE: 'Supervisory: Fire',
LRR_CID_EVENT.SUPERVISORY_LOW_PRESSURE: 'Supervisory: Low Water Pressure',
LRR_CID_EVENT.SUPERVISORY_LOW_CO2: 'Supervisory: Low CO2',
LRR_CID_EVENT.SUPERVISORY_GATE_VALVE_SENSOR: 'Supervisory: Gate Valve Sensor',
LRR_CID_EVENT.SUPERVISORY_LOW_WATER_LEVEL: 'Supervisory: Low Water Level',
LRR_CID_EVENT.SUPERVISORY_PUMP_ACTIVATED: 'Supervisory: Pump Activated',
LRR_CID_EVENT.SUPERVISORY_PUMP_FAILURE: 'Supervisory: Pump Failure',
LRR_CID_EVENT.TROUBLE_SYSTEM_TROUBLE: 'Trouble: System Trouble',
LRR_CID_EVENT.TROUBLE_AC_LOSS: 'Trouble: AC Loss',
LRR_CID_EVENT.TROUBLE_LOW_BATTERY: 'Trouble: Low Battery',
LRR_CID_EVENT.TROUBLE_RAM_CHECKSUM_BAD: 'Trouble: RAM Checksum Bad',
LRR_CID_EVENT.TROUBLE_ROM_CHECKSUM_BAD: 'Trouble: ROM Checksum Bad',
LRR_CID_EVENT.TROUBLE_RESET: 'Trouble: System Reset',
LRR_CID_EVENT.TROUBLE_PANEL_PROGRAMMING_CHANGED: 'Trouble: Panel Programming Changed',
LRR_CID_EVENT.TROUBLE_SELF_TEST_FAILURE: 'Trouble: Self-Test Failure',
LRR_CID_EVENT.TROUBLE_SHUTDOWN: 'Trouble: System Shutdown',
LRR_CID_EVENT.TROUBLE_BATTERY_TEST_FAIL: 'Trouble: Battery Test Failure',
LRR_CID_EVENT.TROUBLE_GROUND_FAULT: 'Trouble: Ground Fault',
LRR_CID_EVENT.TROUBLE_BATTERY_MISSING: 'Trouble: Battery Missing',
LRR_CID_EVENT.TROUBLE_POWER_SUPPLY_OVERCURRENT: 'Trouble: Power Supply Overcurrent',
LRR_CID_EVENT.STATUS_ENGINEER_RESET: 'Status: Engineer Reset',
LRR_CID_EVENT.TROUBLE_PRIMARY_POWER_SUPPLY_FAILURE: 'Trouble: Primary Power Supply Failure',
LRR_CID_EVENT.TROUBLE_TAMPER: 'Trouble: System Tamper',
LRR_CID_EVENT.TROUBLE_SOUNDER: 'Trouble: Sounder',
LRR_CID_EVENT.TROUBLE_BELL_1: 'Trouble: Bell 1',
LRR_CID_EVENT.TROUBLE_BELL_2: 'Trouble: Bell 2',
LRR_CID_EVENT.TROUBLE_ALARM_RELAY: 'Trouble: Alarm Relay',
LRR_CID_EVENT.TROUBLE_TROUBLE_RELAY: 'Trouble: Trouble Relay',
LRR_CID_EVENT.TROUBLE_REVERSING_RELAY: 'Trouble: Reversing Relay',
LRR_CID_EVENT.TROUBLE_NOTIFICATION_APPLIANCE_CIRCUIT_3: 'Trouble: Notification Appliance Circuit #3',
LRR_CID_EVENT.TROUBLE_NOTIFICATION_APPLIANCE_CIRCUIT_4: 'Trouble: Notification Appliance Circuit #3',
LRR_CID_EVENT.TROUBLE_SYSTEM_PERIPHERAL: 'Trouble: System Peripheral',
LRR_CID_EVENT.TROUBLE_POLLING_LOOP_OPEN: 'Trouble: Pooling Loop Open',
LRR_CID_EVENT.TROUBLE_POLLING_LOOP_SHORT: 'Trouble: Polling Loop Short',
LRR_CID_EVENT.TROUBLE_EXPANSION_MODULE_FAILURE: 'Trouble: Expansion Module Failure',
LRR_CID_EVENT.TROUBLE_REPEATER_FAILURE: 'Trouble: Repeater Failure',
LRR_CID_EVENT.TROUBLE_LOCAL_PRINTER_PAPER_OUT: 'Trouble: Local Printer Out Of Paper',
LRR_CID_EVENT.TROUBLE_LOCAL_PRINTER_FAILURE: 'Trouble: Local Printer Failure',
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_DC_LOSS: 'Trouble: Expander Module, DC Power Loss',
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_LOW_BATTERY: 'Trouble: Expander Module, Low Battery',
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_RESET: 'Trouble: Expander Module, Reset',
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_TAMPER: 'Trouble: Expander Module, Tamper',
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_AC_LOSS: 'Trouble: Expander Module, AC Power Loss',
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_SELF_TEST_FAIL: 'Trouble: Expander Module, Self-test Failure',
LRR_CID_EVENT.TROUBLE_RF_RECEIVER_JAM_DETECTED: 'Trouble: RF Receiver Jam Detected',
LRR_CID_EVENT.TROUBLE_AES_ENCRYPTION: 'Trouble: AES Encryption',
LRR_CID_EVENT.TROUBLE_COMMUNICATION: 'Trouble: Communication',
LRR_CID_EVENT.TROUBLE_TELCO_1_FAULT: 'Trouble: Telco 1',
LRR_CID_EVENT.TROUBLE_TELCO_2_FAULT: 'Trouble: Telco 2',
LRR_CID_EVENT.TROUBLE_LRR_TRANSMITTER_FAULT: 'Trouble: Long Range Radio Transmitter Fault',
LRR_CID_EVENT.TROUBLE_FAILURE_TO_COMMUNICATE: 'Trouble: Failure To Communicate',
LRR_CID_EVENT.TROUBLE_LOSS_OF_RADIO_SUPERVISION: 'Trouble: Loss of Radio Supervision',
LRR_CID_EVENT.TROUBLE_LOSS_OF_CENTRAL_POLLING: 'Trouble: Loss of Central Polling',
LRR_CID_EVENT.TROUBLE_LRR_TRANSMITTER_VSWR: 'Trouble: Long Range Radio Transmitter/Antenna',
LRR_CID_EVENT.TROUBLE_PERIODIC_COMM_TEST: 'Trouble: Periodic Communication Test',
LRR_CID_EVENT.TROUBLE_PROTECTION_LOOP: 'Trouble: Protection Loop',
LRR_CID_EVENT.TROUBLE_PROTECTION_LOOP_OPEN: 'Trouble: Protection Loop Open',
LRR_CID_EVENT.TROUBLE_PROTECTION_LOOP_SHORT: 'Trouble: Protection Loop Short',
LRR_CID_EVENT.TROUBLE_FIRE: 'Trouble: Fire',
LRR_CID_EVENT.TROUBLE_EXIT_ERROR: 'Trouble: Exit Error',
LRR_CID_EVENT.TROUBLE_PANIC_ZONE_TROUBLE: 'Trouble: Panic',
LRR_CID_EVENT.TROUBLE_HOLDUP_ZONE_TROUBLE: 'Trouble: Hold-up',
LRR_CID_EVENT.TROUBLE_SWINGER_TROUBLE: 'Trouble: Swinger',
LRR_CID_EVENT.TROUBLE_CROSS_ZONE_TROUBLE: 'Trouble: Cross-zone',
LRR_CID_EVENT.TROUBLE_SENSOR_TROUBLE: 'Trouble: Sensor',
LRR_CID_EVENT.TROUBLE_RF_LOSS_OF_SUPERVISION: 'Trouble: RF Loss of Supervision',
LRR_CID_EVENT.TROUBLE_RPM_LOSS_OF_SUPERVISION: 'Trouble: RPM Loss of Supervision',
LRR_CID_EVENT.TROUBLE_SENSOR_TAMPER: 'Trouble: Sensor Tamper',
LRR_CID_EVENT.TROUBLE_RF_LOW_BATTERY: 'Trouble: RF Low Battery',
LRR_CID_EVENT.TROUBLE_SMOKE_HI_SENS: 'Trouble: Smoke Detector, High Sensitivity',
LRR_CID_EVENT.TROUBLE_SMOKE_LO_SENS: 'Trouble: Smoke Detector, Low Sensitivity',
LRR_CID_EVENT.TROUBLE_INTRUSION_HI_SENS: 'Trouble: Intrusion Detector, High Sensitivity',
LRR_CID_EVENT.TROUBLE_INTRUSION_LO_SENS: 'Trouble: Intrusion Detector, Low Sensitivity',
LRR_CID_EVENT.TROUBLE_SELF_TEST_FAIL: 'Trouble: Self-test Failure',
LRR_CID_EVENT.TROUBLE_SENSOR_WATCH_FAIL: 'Trouble: Sensor Watch',
LRR_CID_EVENT.TROUBLE_DRIFT_COMP_ERROR: 'Trouble: Drift Compensation Error',
LRR_CID_EVENT.TROUBLE_MAINTENANCE_ALERT: 'Trouble: Maintenance Alert',
LRR_CID_EVENT.OPENCLOSE: 'Open/Close',
LRR_CID_EVENT.OPENCLOSE_BY_USER: 'Open/Close: By User',
LRR_CID_EVENT.OPENCLOSE_GROUP: 'Open/Close: Group',
LRR_CID_EVENT.OPENCLOSE_AUTOMATIC: 'Open/Close: Automatic',
LRR_CID_EVENT.OPENCLOSE_LATE: 'Open/Close: Late',
LRR_CID_EVENT.OPENCLOSE_DEFERRED: 'Open/Close: Deferred',
LRR_CID_EVENT.OPENCLOSE_CANCEL_BY_USER: 'Open/Close: Cancel',
LRR_CID_EVENT.OPENCLOSE_REMOTE_ARMDISARM: 'Open/Close: Remote',
LRR_CID_EVENT.OPENCLOSE_QUICK_ARM: 'Open/Close: Quick Arm',
LRR_CID_EVENT.OPENCLOSE_KEYSWITCH: 'Open/Close: Keyswitch',
LRR_CID_EVENT.REMOTE_CALLBACK_REQUESTED: 'Remote: Callback Requested',
LRR_CID_EVENT.REMOTE_SUCCESS: 'Remote: Successful Access',
LRR_CID_EVENT.REMOTE_UNSUCCESSFUL: 'Remote: Unsuccessful Access',
LRR_CID_EVENT.REMOTE_SYSTEM_SHUTDOWN: 'Remote: System Shutdown',
LRR_CID_EVENT.REMOTE_DIALER_SHUTDOWN: 'Remote: Dialer Shutdown',
LRR_CID_EVENT.REMOTE_SUCCESSFUL_UPLOAD: 'Remote: Successful Upload',
LRR_CID_EVENT.ACCESS_DENIED: 'Access: Denied',
LRR_CID_EVENT.ACCESS_REPORT_BY_USER: 'Access: Report By User',
LRR_CID_EVENT.ACCESS_FORCED_ACCESS: 'Access: Forced Access',
LRR_CID_EVENT.ACCESS_EGRESS_DENIED: 'Access: Egress Denied',
LRR_CID_EVENT.ACCESS_EGRESS_GRANTED: 'Access: Egress Granted',
LRR_CID_EVENT.ACCESS_DOOR_PROPPED_OPEN: 'Access: Door Propped Open',
LRR_CID_EVENT.ACCESS_POINT_DSM_TROUBLE: 'Access: Door Status Monitor Trouble',
LRR_CID_EVENT.ACCESS_POINT_RTE_TROUBLE: 'Access: Request To Exit Trouble',
LRR_CID_EVENT.ACCESS_PROGRAM_MODE_ENTRY: 'Access: Program Mode Entry',
LRR_CID_EVENT.ACCESS_PROGRAM_MODE_EXIT: 'Access: Program Mode Exit',
LRR_CID_EVENT.ACCESS_THREAT_LEVEL_CHANGE: 'Access: Threat Level Change',
LRR_CID_EVENT.ACCESS_RELAY_FAIL: 'Access: Relay Fail',
LRR_CID_EVENT.ACCESS_RTE_SHUNT: 'Access: Request to Exit Shunt',
LRR_CID_EVENT.ACCESS_DSM_SHUNT: 'Access: Door Status Monitor Shunt',
LRR_CID_EVENT.ACCESS_SECOND_PERSON: 'Access: Second Person Access',
LRR_CID_EVENT.ACCESS_IRREGULAR_ACCESS: 'Access: Irregular Access',
LRR_CID_EVENT.OPENCLOSE_ARMED_STAY: 'Open/Close: Armed Stay',
LRR_CID_EVENT.OPENCLOSE_KEYSWITCH_ARMED_STAY: 'Open/Close: Keyswitch, Armed Stay',
LRR_CID_EVENT.OPENCLOSE_EXCEPTION: 'Open/Close: Armed with Trouble Override',
LRR_CID_EVENT.OPENCLOSE_EARLY: 'Open/Close: Early',
LRR_CID_EVENT.OPENCLOSE_LATE: 'Open/Close: Late',
LRR_CID_EVENT.TROUBLE_FAILED_TO_OPEN: 'Trouble: Failed To Open',
LRR_CID_EVENT.TROUBLE_FAILED_TO_CLOSE: 'Trouble: Failed To Close',
LRR_CID_EVENT.TROUBLE_AUTO_ARM_FAILED: 'Trouble: Auto Arm Failed',
LRR_CID_EVENT.OPENCLOSE_PARTIAL_ARM: 'Open/Close: Partial Arm',
LRR_CID_EVENT.OPENCLOSE_EXIT_ERROR: 'Open/Close: Exit Error',
LRR_CID_EVENT.OPENCLOSE_USER_ON_PREMISES: 'Open/Close: User On Premises',
LRR_CID_EVENT.TROUBLE_RECENT_CLOSE: 'Trouble: Recent Close',
LRR_CID_EVENT.ACCESS_WRONG_CODE_ENTRY: 'Access: Wrong Code',
LRR_CID_EVENT.ACCESS_LEGAL_CODE_ENTRY: 'Access: Legal Code',
LRR_CID_EVENT.STATUS_REARM_AFTER_ALARM: 'Status: Re-arm After Alarm',
LRR_CID_EVENT.STATUS_AUTO_ARM_TIME_EXTENDED: 'Status: Auto-arm Time Extended',
LRR_CID_EVENT.STATUS_PANIC_ALARM_RESET: 'Status: Panic Alarm Reset',
LRR_CID_EVENT.ACCESS_SERVICE_ONOFF_PREMISES: 'Status: Service On/Off Premises',
LRR_CID_EVENT.OPENCLOSE_PARTIAL_CLOSING: 'Open/Close: Partial Closing',
LRR_CID_EVENT.OPENCLOSE_PARTIAL_CLOSE: 'Open/Close: Partial Close',
LRR_CID_EVENT.DISABLE_ACCESS_READER: 'Disable: Access Reader',
LRR_CID_EVENT.DISABLE_SOUNDER: 'Disable: Sounder',
LRR_CID_EVENT.DISABLE_BELL_1: 'Disable: Bell 1',
LRR_CID_EVENT.DISABLE_BELL_2: 'Disable: Bell 2',
LRR_CID_EVENT.DISABLE_ALARM_RELAY: 'Disable: Alarm Relay',
LRR_CID_EVENT.DISABLE_TROUBLE_RELAY: 'Disable: Trouble Relay',
LRR_CID_EVENT.DISABLE_REVERSING_RELAY: 'Disable: Reversing Relay',
LRR_CID_EVENT.DISABLE_NOTIFICATION_APPLIANCE_CIRCUIT_3: 'Disable: Notification Appliance Circuit #3',
LRR_CID_EVENT.DISABLE_NOTIFICATION_APPLIANCE_CIRCUIT_4: 'Disable: Notification Appliance Circuit #4',
LRR_CID_EVENT.SUPERVISORY_MODULE_ADDED: 'Supervisory: Module Added',
LRR_CID_EVENT.SUPERVISORY_MODULE_REMOVED: 'Supervisory: Module Removed',
LRR_CID_EVENT.DISABLE_DIALER: 'Disable: Dialer',
LRR_CID_EVENT.DISABLE_RADIO_TRANSMITTER: 'Disable: Radio Transmitter',
LRR_CID_EVENT.DISABLE_REMOTE_UPLOADDOWNLOAD: 'Disable: Remote Upload/Download',
LRR_CID_EVENT.BYPASS_ZONE: 'Bypass: Zone',
LRR_CID_EVENT.BYPASS_FIRE: 'Bypass: Fire',
LRR_CID_EVENT.BYPASS_24HOUR_ZONE: 'Bypass: 24 Hour Zone',
LRR_CID_EVENT.BYPASS_BURGLARY: 'Bypass: Burglary',
LRR_CID_EVENT.BYPASS_GROUP: 'Bypass: Group',
LRR_CID_EVENT.BYPASS_SWINGER: 'Bypass: Swinger',
LRR_CID_EVENT.BYPASS_ACCESS_ZONE_SHUNT: 'Bypass: Access Zone Shunt',
LRR_CID_EVENT.BYPASS_ACCESS_POINT_BYPASS: 'Bypass: Access Point',
LRR_CID_EVENT.BYPASS_ZONE_VAULT: 'Bypass: Vault',
LRR_CID_EVENT.BYPASS_ZONE_VENT: 'Bypass: Vent',
LRR_CID_EVENT.TEST_MANUAL: 'Test: Manual Trigger',
LRR_CID_EVENT.TEST_PERIODIC: 'Test: Periodic',
LRR_CID_EVENT.TEST_PERIODIC_RF_TRANSMISSION: 'Test: Periodic RF Transmission',
LRR_CID_EVENT.TEST_FIRE: 'Test: Fire',
LRR_CID_EVENT.TEST_FIRE_STATUS: 'Test: Fire, Status Report To Follow',
LRR_CID_EVENT.TEST_LISTENIN_TO_FOLLOW: 'Test: Listen-in To Follow',
LRR_CID_EVENT.TEST_WALK: 'Test: Walk',
LRR_CID_EVENT.TEST_SYSTEM_TROUBLE_PRESENT: 'Test: Periodic Test, System Trouble Present',
LRR_CID_EVENT.TEST_VIDEO_TRANSMITTER_ACTIVE: 'Test: Video Transmitter Active',
LRR_CID_EVENT.TEST_POINT_TESTED_OK: 'Test: Point Tested OK',
LRR_CID_EVENT.TEST_POINT_NOT_TESTED: 'Test: Point Not Tested',
LRR_CID_EVENT.TEST_INTRUSION_ZONE_WALK_TESTED: 'Test: Intrusion Zone Walk Tested',
LRR_CID_EVENT.TEST_FIRE_ZONE_WALK_TESTED: 'Test: Fire Zone Walk Tested',
LRR_CID_EVENT.TEST_PANIC_ZONE_WALK_TESTED: 'Test: Panic Zone Walk Tested',
LRR_CID_EVENT.TROUBLE_SERVICE_REQUEST: 'Trouble: Service Request',
LRR_CID_EVENT.TROUBLE_EVENT_LOG_RESET: 'Trouble: Event Log Reset',
LRR_CID_EVENT.TROUBLE_EVENT_LOG_50PERCENT_FULL: 'Trouble: Event Log 50% Full',
LRR_CID_EVENT.TROUBLE_EVENT_LOG_90PERCENT_FULL: 'Trouble: Event Log 90% Full',
LRR_CID_EVENT.TROUBLE_EVENT_LOG_OVERFLOW: 'Trouble: Event Log Overflow',
LRR_CID_EVENT.TROUBLE_TIMEDATE_RESET: 'Trouble: Time/Date Reset',
LRR_CID_EVENT.TROUBLE_TIMEDATE_INACCURATE: 'Trouble: Time/Date Inaccurate',
LRR_CID_EVENT.TROUBLE_PROGRAM_MODE_ENTRY: 'Trouble: Program Mode Entry',
LRR_CID_EVENT.TROUBLE_PROGRAM_MODE_EXIT: 'Trouble: Program Mode Exit',
LRR_CID_EVENT.TROUBLE_32HOUR_EVENT_LOG_MARKER: 'Trouble: 32 Hour Event Log Marker',
LRR_CID_EVENT.SCHEDULE_CHANGE: 'Schedule: Change',
LRR_CID_EVENT.SCHEDULE_EXCEPTION_SCHEDULE_CHANGE: 'Schedule: Exception Schedule Change',
LRR_CID_EVENT.SCHEDULE_ACCESS_SCHEDULE_CHANGE: 'Schedule: Access Schedule Change',
LRR_CID_EVENT.TROUBLE_SENIOR_WATCH_TROUBLE: 'Schedule: Senior Watch Trouble',
LRR_CID_EVENT.STATUS_LATCHKEY_SUPERVISION: 'Status: Latch-key Supervision',
LRR_CID_EVENT.SPECIAL_ADT_AUTHORIZATION: 'Special: ADT Authorization',
LRR_CID_EVENT.RESERVED_652: 'Reserved: For Ademco Use',
LRR_CID_EVENT.RESERVED_653: 'Reserved: For Ademco Use',
LRR_CID_EVENT.TROUBLE_SYSTEM_INACTIVITY: 'Trouble: System Inactivity',
LRR_CID_EVENT.TROUBLE_UNABLE_TO_OUTPUT_SIGNAL: 'Trouble: Unable To Output Signal (Derived Channel)',
LRR_CID_EVENT.TROUBLE_STU_CONTROLLER_DOWN: 'Trouble: STU Controller Down (Derived Channel)',
LRR_CID_EVENT.REMOTE_DOWNLOAD_ABORT: 'Remote: Download Aborted',
LRR_CID_EVENT.REMOTE_DOWNLOAD_STARTEND: 'Remote: Download Start/End',
LRR_CID_EVENT.REMOTE_DOWNLOAD_INTERRUPTED: 'Remote: Download Interrupted',
LRR_CID_EVENT.REMOTE_CODE_DOWNLOAD_STARTEND: 'Remote: Device Flash Start/End',
LRR_CID_EVENT.REMOTE_CODE_DOWNLOAD_FAILED: 'Remote: Device Flash Failed',
LRR_CID_EVENT.OPENCLOSE_AUTOCLOSE_WITH_BYPASS: 'Open/Close: Auto-Close With Bypass',
LRR_CID_EVENT.OPENCLOSE_BYPASS_CLOSING: 'Open/Close: Bypass Closing',
LRR_CID_EVENT.EVENT_FIRE_ALARM_SILENCED: 'Event: Fire Alarm Silenced',
LRR_CID_EVENT.EVENT_SUPERVISOR_POINT_STARTEND: 'Event: Supervisory Point Test Start/End',
LRR_CID_EVENT.EVENT_HOLDUP_TEST_STARTEND: 'Event: Hold-up Test Start/End',
LRR_CID_EVENT.EVENT_BURGLARY_TEST_PRINT_STARTEND: 'Event: Burglary Test Print Start/End',
LRR_CID_EVENT.EVENT_SUPERVISORY_TEST_PRINT_STARTEND: 'Event: Supervisory Test Print Start/End',
LRR_CID_EVENT.EVENT_BURGLARY_DIAGNOSTICS_STARTEND: 'Event: Burglary Diagnostics Start/End',
LRR_CID_EVENT.EVENT_FIRE_DIAGNOSTICS_STARTEND: 'Event: Fire Diagnostics Start/End',
LRR_CID_EVENT.EVENT_UNTYPED_DIAGNOSTICS: 'Event: Untyped Diagnostics',
LRR_CID_EVENT.EVENT_TROUBLE_CLOSING: 'Event: Trouble Closing',
LRR_CID_EVENT.EVENT_ACCESS_DENIED_CODE_UNKNOWN: 'Event: Access Denied, Code Unknown',
LRR_CID_EVENT.ALARM_SUPERVISORY_POINT: 'Alarm: Supervisory Point',
LRR_CID_EVENT.EVENT_SUPERVISORY_POINT_BYPASS: 'Event: Supervisory Point Bypass',
LRR_CID_EVENT.TROUBLE_SUPERVISORY_POINT: 'Trouble: Supervisory Point',
LRR_CID_EVENT.EVENT_HOLDUP_POINT_BYPASS: 'Event: Hold-up Point Bypass',
LRR_CID_EVENT.EVENT_AC_FAILURE_FOR_4HOURS: 'Event: AC Failure For 4 Hours',
LRR_CID_EVENT.TROUBLE_OUTPUT: 'Trouble: Output Trouble',
LRR_CID_EVENT.EVENT_USER_CODE_FOR_EVENT: 'Event: User Code For Event',
LRR_CID_EVENT.EVENT_LOG_OFF: 'Event: Log-off',
LRR_CID_EVENT.EVENT_CS_CONNECTION_FAILURE: 'Event: Central Station Connection Failure',
LRR_CID_EVENT.EVENT_RECEIVER_DATABASE_CONNECTION: 'Event: Receiver Database Connection',
LRR_CID_EVENT.EVENT_LICENSE_EXPIRATION: 'Event: License Expiration',
LRR_CID_EVENT.OTHER_NO_READ_LOG: 'Other: No Read Log',
LRR_CID_EVENT.MEDICAL: {'message': 'Medical Emergency: Non-specific', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.MEDICAL_PENDANT: {'message': 'Emergency Assistance Request', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.MEDICAL_FAIL_TO_REPORT: {'message': 'Medical: Failed to activate monitoring device', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TAMPER_ZONE: {'message': 'Zone Tamper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE: {'message': 'Fire: Non-specific', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_SMOKE: {'message': 'Fire: Smoke Alarm', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_COMBUSTION: {'message': 'Fire: Combustion', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_WATER_FLOW: {'message': 'Fire: Water Flow', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_HEAT: {'message': 'Fire: Heat', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_PULL_STATION: {'message': 'Fire: Pull Station', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_DUCT: {'message': 'Fire: Duct', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_FLAME: {'message': 'Fire: Flame', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.FIRE_NEAR_ALARM: {'message': 'Fire: Near Alarm', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.PANIC: {'message': 'Panic', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.PANIC_DURESS: {'message': 'Panic: Duress', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.PANIC_SILENT: {'message': 'Panic: Silent', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.PANIC_AUDIBLE: {'message': 'Panic: Audible', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.PANIC_DURESS_ACCESS_GRANTED: {'message': 'Fire: Duress', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.PANIC_DURESS_EGRESS_GRANTED: {'message': 'Fire: Egress', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.PANIC_HOLDUP_SUSPICION: {'message': 'Panic: Hold-up, Suspicious Condition', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.PANIC_HOLDUP_VERIFIER: {'message': 'Panic: Hold-up Verified', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY: {'message': 'Burglary', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_PERIMETER: {'message': 'Burglary: Perimeter', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_INTERIOR: {'message': 'Burglary: Interior', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_AUX: {'message': 'Burglary: 24 Hour', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_ENTRYEXIT: {'message': 'Burglary: Entry/Exit', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_DAYNIGHT: {'message': 'Burglary: Day/Night', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_OUTDOOR: {'message': 'Burglary: Outdoor', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_TAMPER: {'message': 'Burglary: Tamper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_NEAR_ALARM: {'message': 'Burglary: Near Alarm', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_INTRUSION_VERIFIER: {'message': 'Burglary: Intrusion Verifier', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_GENERAL: {'message': 'Alarm: General', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_POLLING_LOOP_OPEN: {'message': 'Alarm: Polling Loop Open', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_POLLING_LOOP_SHORT: {'message': 'Alarm: Polling Loop Closed', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_EXPANSION_MOD_FAILURE: {'message': 'Alarm: Expansion Module Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_SENSOR_TAMPER: {'message': 'Alarm: Sensor Tamper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_EXPANSION_MOD_TAMPER: {'message': 'Alarm: Expansion Module Tamper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BURGLARY_SILENT: {'message': 'Burglary: Silent', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SENSOR_SUPERVISION: {'message': 'Trouble: Sensor Supervision Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_AUX: {'message': 'Alarm: 24 Hour Non-Burglary', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_GAS_DETECTED: {'message': 'Alarm: Gas Detected', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_REFRIDGERATION: {'message': 'Alarm: Refridgeration', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_LOSS_OF_HEAT: {'message': 'Alarm: Loss of Heat', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_WATER_LEAKAGE: {'message': 'Alarm: Water Leakage', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_FOIL_BREAK: {'message': 'Trouble: Foil Break', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_DAY_TROUBLE: {'message': 'Trouble: Day Trouble', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_LOW_BOTTLED_GAS_LEVEL: {'message': 'Alarm: Low Bottled Gas Level', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_HIGH_TEMP: {'message': 'Alarm: High Temperature', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_LOW_TEMP: {'message': 'Alarm: Low Temperature', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_LOSS_OF_AIR_FLOW: {'message': 'Alarm: Loss of Air Flow', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ALARM_CARBON_MONOXIDE: {'message': 'Alarm: Carbon Monoxide', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_TANK_LEVEL: {'message': 'Trouble: Tank Level', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_HIGH_HUMIDITY: {'message': 'Trouble: High Humidity', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LOW_HUMIDITY: {'message': 'Trouble: Low Humidity', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_FIRE: {'message': 'Supervisory: Fire', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_LOW_PRESSURE: {'message': 'Supervisory: Low Water Pressure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_LOW_CO2: {'message': 'Supervisory: Low CO2', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_GATE_VALVE_SENSOR: {'message': 'Supervisory: Gate Valve Sensor', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_LOW_WATER_LEVEL: {'message': 'Supervisory: Low Water Level', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_PUMP_ACTIVATED: {'message': 'Supervisory: Pump Activated', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_PUMP_FAILURE: {'message': 'Supervisory: Pump Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SYSTEM_TROUBLE: {'message': 'Trouble: System Trouble', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_AC_LOSS: {'message': 'Trouble: AC Loss', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LOW_BATTERY: {'message': 'Trouble: Low Battery', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_RAM_CHECKSUM_BAD: {'message': 'Trouble: RAM Checksum Bad', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_ROM_CHECKSUM_BAD: {'message': 'Trouble: ROM Checksum Bad', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_RESET: {'message': 'Trouble: System Reset', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PANEL_PROGRAMMING_CHANGED: {'message': 'Trouble: Panel Programming Changed', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SELF_TEST_FAILURE: {'message': 'Trouble: Self-Test Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SHUTDOWN: {'message': 'Trouble: System Shutdown', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_BATTERY_TEST_FAIL: {'message': 'Trouble: Battery Test Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_GROUND_FAULT: {'message': 'Trouble: Ground Fault', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_BATTERY_MISSING: {'message': 'Trouble: Battery Missing', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_POWER_SUPPLY_OVERCURRENT: {'message': 'Trouble: Power Supply Overcurrent', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.STATUS_ENGINEER_RESET: {'message': 'Status: Engineer Reset', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_PRIMARY_POWER_SUPPLY_FAILURE: {'message': 'Trouble: Primary Power Supply Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_TAMPER: {'message': 'Trouble: System Tamper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SOUNDER: {'message': 'Trouble: Sounder', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_BELL_1: {'message': 'Trouble: Bell 1', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_BELL_2: {'message': 'Trouble: Bell 2', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_ALARM_RELAY: {'message': 'Trouble: Alarm Relay', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_TROUBLE_RELAY: {'message': 'Trouble: Trouble Relay', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_REVERSING_RELAY: {'message': 'Trouble: Reversing Relay', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_NOTIFICATION_APPLIANCE_CIRCUIT_3: {'message': 'Trouble: Notification Appliance Circuit #3', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_NOTIFICATION_APPLIANCE_CIRCUIT_4: {'message': 'Trouble: Notification Appliance Circuit #3', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SYSTEM_PERIPHERAL: {'message': 'Trouble: System Peripheral', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_POLLING_LOOP_OPEN: {'message': 'Trouble: Pooling Loop Open', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_POLLING_LOOP_SHORT: {'message': 'Trouble: Polling Loop Short', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXPANSION_MODULE_FAILURE: {'message': 'Trouble: Expansion Module Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_REPEATER_FAILURE: {'message': 'Trouble: Repeater Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LOCAL_PRINTER_PAPER_OUT: {'message': 'Trouble: Local Printer Out Of Paper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LOCAL_PRINTER_FAILURE: {'message': 'Trouble: Local Printer Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_DC_LOSS: {'message': 'Trouble: Expander Module, DC Power Loss', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_LOW_BATTERY: {'message': 'Trouble: Expander Module, Low Battery', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_RESET: {'message': 'Trouble: Expander Module, Reset', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_TAMPER: {'message': 'Trouble: Expander Module, Tamper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_AC_LOSS: {'message': 'Trouble: Expander Module, AC Power Loss', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXPANDER_MODULE_SELF_TEST_FAIL: {'message': 'Trouble: Expander Module, Self-test Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_RF_RECEIVER_JAM_DETECTED: {'message': 'Trouble: RF Receiver Jam Detected', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_AES_ENCRYPTION: {'message': 'Trouble: AES Encryption', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_COMMUNICATION: {'message': 'Trouble: Communication', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_TELCO_1_FAULT: {'message': 'Trouble: Telco 1', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_TELCO_2_FAULT: {'message': 'Trouble: Telco 2', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LRR_TRANSMITTER_FAULT: {'message': 'Trouble: Long Range Radio Transmitter Fault', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_FAILURE_TO_COMMUNICATE: {'message': 'Trouble: Failure To Communicate', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LOSS_OF_RADIO_SUPERVISION: {'message': 'Trouble: Loss of Radio Supervision', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LOSS_OF_CENTRAL_POLLING: {'message': 'Trouble: Loss of Central Polling', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_LRR_TRANSMITTER_VSWR: {'message': 'Trouble: Long Range Radio Transmitter/Antenna', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PERIODIC_COMM_TEST: {'message': 'Trouble: Periodic Communication Test', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PROTECTION_LOOP: {'message': 'Trouble: Protection Loop', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PROTECTION_LOOP_OPEN: {'message': 'Trouble: Protection Loop Open', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PROTECTION_LOOP_SHORT: {'message': 'Trouble: Protection Loop Short', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_FIRE: {'message': 'Trouble: Fire', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EXIT_ERROR: {'message': 'Trouble: Exit Error', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PANIC_ZONE_TROUBLE: {'message': 'Trouble: Panic', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_HOLDUP_ZONE_TROUBLE: {'message': 'Trouble: Hold-up', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SWINGER_TROUBLE: {'message': 'Trouble: Swinger', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_CROSS_ZONE_TROUBLE: {'message': 'Trouble: Cross-zone', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SENSOR_TROUBLE: {'message': 'Trouble: Sensor', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_RF_LOSS_OF_SUPERVISION: {'message': 'Trouble: RF Loss of Supervision', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_RPM_LOSS_OF_SUPERVISION: {'message': 'Trouble: RPM Loss of Supervision', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SENSOR_TAMPER: {'message': 'Trouble: Sensor Tamper', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_RF_LOW_BATTERY: {'message': 'Trouble: RF Low Battery', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SMOKE_HI_SENS: {'message': 'Trouble: Smoke Detector, High Sensitivity', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SMOKE_LO_SENS: {'message': 'Trouble: Smoke Detector, Low Sensitivity', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_INTRUSION_HI_SENS: {'message': 'Trouble: Intrusion Detector, High Sensitivity', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_INTRUSION_LO_SENS: {'message': 'Trouble: Intrusion Detector, Low Sensitivity', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SELF_TEST_FAIL: {'message': 'Trouble: Self-test Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SENSOR_WATCH_FAIL: {'message': 'Trouble: Sensor Watch', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_DRIFT_COMP_ERROR: {'message': 'Trouble: Drift Compensation Error', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_MAINTENANCE_ALERT: {'message': 'Trouble: Maintenance Alert', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.OPENCLOSE: {'message': 'Open/Close', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_BY_USER: {'message': 'Open/Close: By User', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_GROUP: {'message': 'Open/Close: Group', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_AUTOMATIC: {'message': 'Open/Close: Automatic', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_LATE: {'message': 'Open/Close: Late', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_DEFERRED: {'message': 'Open/Close: Deferred', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_CANCEL_BY_USER: {'message': 'Open/Close: Cancel', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_REMOTE_ARMDISARM: {'message': 'Open/Close: Remote', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_QUICK_ARM: {'message': 'Open/Close: Quick Arm', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_KEYSWITCH: {'message': 'Open/Close: Keyswitch', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_CALLBACK_REQUESTED: {'message': 'Remote: Callback Requested', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_SUCCESS: {'message': 'Remote: Successful Access', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_UNSUCCESSFUL: {'message': 'Remote: Unsuccessful Access', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_SYSTEM_SHUTDOWN: {'message': 'Remote: System Shutdown', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_DIALER_SHUTDOWN: {'message': 'Remote: Dialer Shutdown', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_SUCCESSFUL_UPLOAD: {'message': 'Remote: Successful Upload', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_DENIED: {'message': 'Access: Denied', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_REPORT_BY_USER: {'message': 'Access: Report By User', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_FORCED_ACCESS: {'message': 'Access: Forced Access', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_EGRESS_DENIED: {'message': 'Access: Egress Denied', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_EGRESS_GRANTED: {'message': 'Access: Egress Granted', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_DOOR_PROPPED_OPEN: {'message': 'Access: Door Propped Open', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_POINT_DSM_TROUBLE: {'message': 'Access: Door Status Monitor Trouble', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_POINT_RTE_TROUBLE: {'message': 'Access: Request To Exit Trouble', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_PROGRAM_MODE_ENTRY: {'message': 'Access: Program Mode Entry', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_PROGRAM_MODE_EXIT: {'message': 'Access: Program Mode Exit', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_THREAT_LEVEL_CHANGE: {'message': 'Access: Threat Level Change', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_RELAY_FAIL: {'message': 'Access: Relay Fail', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_RTE_SHUNT: {'message': 'Access: Request to Exit Shunt', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_DSM_SHUNT: {'message': 'Access: Door Status Monitor Shunt', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_SECOND_PERSON: {'message': 'Access: Second Person Access', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_IRREGULAR_ACCESS: {'message': 'Access: Irregular Access', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_ARMED_STAY: {'message': 'Open/Close: Armed Stay', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_KEYSWITCH_ARMED_STAY: {'message': 'Open/Close: Keyswitch, Armed Stay', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_EXCEPTION: {'message': 'Open/Close: Armed with Trouble Override', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_EARLY: {'message': 'Open/Close: Early', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_LATE: {'message': 'Open/Close: Late', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_FAILED_TO_OPEN: {'message': 'Trouble: Failed To Open', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_FAILED_TO_CLOSE: {'message': 'Trouble: Failed To Close', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_AUTO_ARM_FAILED: {'message': 'Trouble: Auto Arm Failed', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_PARTIAL_ARM: {'message': 'Open/Close: Partial Arm', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_EXIT_ERROR: {'message': 'Open/Close: Exit Error', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_USER_ON_PREMISES: {'message': 'Open/Close: User On Premises', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_RECENT_CLOSE: {'message': 'Trouble: Recent Close', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ACCESS_WRONG_CODE_ENTRY: {'message': 'Access: Wrong Code', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_LEGAL_CODE_ENTRY: {'message': 'Access: Legal Code', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.STATUS_REARM_AFTER_ALARM: {'message': 'Status: Re-arm After Alarm', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.STATUS_AUTO_ARM_TIME_EXTENDED: {'message': 'Status: Auto-arm Time Extended', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.STATUS_PANIC_ALARM_RESET: {'message': 'Status: Panic Alarm Reset', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.ACCESS_SERVICE_ONOFF_PREMISES: {'message': 'Status: Service On/Off Premises', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_PARTIAL_CLOSING: {'message': 'Open/Close: Partial Closing', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.OPENCLOSE_PARTIAL_CLOSE: {'message': 'Open/Close: Partial Close', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.DISABLE_ACCESS_READER: {'message': 'Disable: Access Reader', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_SOUNDER: {'message': 'Disable: Sounder', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_BELL_1: {'message': 'Disable: Bell 1', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_BELL_2: {'message': 'Disable: Bell 2', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_ALARM_RELAY: {'message': 'Disable: Alarm Relay', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_TROUBLE_RELAY: {'message': 'Disable: Trouble Relay', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_REVERSING_RELAY: {'message': 'Disable: Reversing Relay', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_NOTIFICATION_APPLIANCE_CIRCUIT_3: {'message': 'Disable: Notification Appliance Circuit #3', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_NOTIFICATION_APPLIANCE_CIRCUIT_4: {'message': 'Disable: Notification Appliance Circuit #4', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_MODULE_ADDED: {'message': 'Supervisory: Module Added', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SUPERVISORY_MODULE_REMOVED: {'message': 'Supervisory: Module Removed', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_DIALER: {'message': 'Disable: Dialer', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_RADIO_TRANSMITTER: {'message': 'Disable: Radio Transmitter', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.DISABLE_REMOTE_UPLOADDOWNLOAD: {'message': 'Disable: Remote Upload/Download', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_ZONE: {'message': 'Bypass: Zone', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_FIRE: {'message': 'Bypass: Fire', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_24HOUR_ZONE: {'message': 'Bypass: 24 Hour Zone', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_BURGLARY: {'message': 'Bypass: Burglary', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_GROUP: {'message': 'Bypass: Group', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.BYPASS_SWINGER: {'message': 'Bypass: Swinger', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_ACCESS_ZONE_SHUNT: {'message': 'Bypass: Access Zone Shunt', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_ACCESS_POINT_BYPASS: {'message': 'Bypass: Access Point', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_ZONE_VAULT: {'message': 'Bypass: Vault', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.BYPASS_ZONE_VENT: {'message': 'Bypass: Vent', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_MANUAL: {'message': 'Test: Manual Trigger', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_PERIODIC: {'message': 'Test: Periodic', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_PERIODIC_RF_TRANSMISSION: {'message': 'Test: Periodic RF Transmission', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_FIRE: {'message': 'Test: Fire', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TEST_FIRE_STATUS: {'message': 'Test: Fire, Status Report To Follow', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_LISTENIN_TO_FOLLOW: {'message': 'Test: Listen-in To Follow', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_WALK: {'message': 'Test: Walk', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TEST_SYSTEM_TROUBLE_PRESENT: {'message': 'Test: Periodic Test, System Trouble Present', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_VIDEO_TRANSMITTER_ACTIVE: {'message': 'Test: Video Transmitter Active', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_POINT_TESTED_OK: {'message': 'Test: Point Tested OK', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_POINT_NOT_TESTED: {'message': 'Test: Point Not Tested', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_INTRUSION_ZONE_WALK_TESTED: {'message': 'Test: Intrusion Zone Walk Tested', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_FIRE_ZONE_WALK_TESTED: {'message': 'Test: Fire Zone Walk Tested', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TEST_PANIC_ZONE_WALK_TESTED: {'message': 'Test: Panic Zone Walk Tested', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SERVICE_REQUEST: {'message': 'Trouble: Service Request', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EVENT_LOG_RESET: {'message': 'Trouble: Event Log Reset', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EVENT_LOG_50PERCENT_FULL: {'message': 'Trouble: Event Log 50% Full', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EVENT_LOG_90PERCENT_FULL: {'message': 'Trouble: Event Log 90% Full', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_EVENT_LOG_OVERFLOW: {'message': 'Trouble: Event Log Overflow', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_TIMEDATE_RESET: {'message': 'Trouble: Time/Date Reset', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_TIMEDATE_INACCURATE: {'message': 'Trouble: Time/Date Inaccurate', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PROGRAM_MODE_ENTRY: {'message': 'Trouble: Program Mode Entry', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_PROGRAM_MODE_EXIT: {'message': 'Trouble: Program Mode Exit', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_32HOUR_EVENT_LOG_MARKER: {'message': 'Trouble: 32 Hour Event Log Marker', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SCHEDULE_CHANGE: {'message': 'Schedule: Change', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SCHEDULE_EXCEPTION_SCHEDULE_CHANGE: {'message': 'Schedule: Exception Schedule Change', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.SCHEDULE_ACCESS_SCHEDULE_CHANGE: {'message': 'Schedule: Access Schedule Change', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_SENIOR_WATCH_TROUBLE: {'message': 'Schedule: Senior Watch Trouble', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.STATUS_LATCHKEY_SUPERVISION: {'message': 'Status: Latch-key Supervision', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.SPECIAL_ADT_AUTHORIZATION: {'message': 'Special: ADT Authorization', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.RESERVED_652: {'message': 'Reserved: For Ademco Use', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.RESERVED_653: {'message': 'Reserved: For Ademco Use', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_SYSTEM_INACTIVITY: {'message': 'Trouble: System Inactivity', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_UNABLE_TO_OUTPUT_SIGNAL: {'message': 'Trouble: Unable To Output Signal (Derived Channel)', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_STU_CONTROLLER_DOWN: {'message': 'Trouble: STU Controller Down (Derived Channel)', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.REMOTE_DOWNLOAD_ABORT: {'message': 'Remote: Download Aborted', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_DOWNLOAD_STARTEND: {'message': 'Remote: Download Start/End', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_DOWNLOAD_INTERRUPTED: {'message': 'Remote: Download Interrupted', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.REMOTE_CODE_DOWNLOAD_STARTEND: {'message': 'Remote: Device Flash Start/End', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.REMOTE_CODE_DOWNLOAD_FAILED: {'message': 'Remote: Device Flash Failed', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.OPENCLOSE_AUTOCLOSE_WITH_BYPASS: {'message': 'Open/Close: Auto-Close With Bypass', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.OPENCLOSE_BYPASS_CLOSING: {'message': 'Open/Close: Bypass Closing', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_FIRE_ALARM_SILENCED: {'message': 'Event: Fire Alarm Silenced', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_SUPERVISOR_POINT_STARTEND: {'message': 'Event: Supervisory Point Test Start/End', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_HOLDUP_TEST_STARTEND: {'message': 'Event: Hold-up Test Start/End', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_BURGLARY_TEST_PRINT_STARTEND: {'message': 'Event: Burglary Test Print Start/End', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_SUPERVISORY_TEST_PRINT_STARTEND: {'message': 'Event: Supervisory Test Print Start/End', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_BURGLARY_DIAGNOSTICS_STARTEND: {'message': 'Event: Burglary Diagnostics Start/End', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_FIRE_DIAGNOSTICS_STARTEND: {'message': 'Event: Fire Diagnostics Start/End', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_UNTYPED_DIAGNOSTICS: {'message': 'Event: Untyped Diagnostics', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_TROUBLE_CLOSING: {'message': 'Event: Trouble Closing', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.EVENT_ACCESS_DENIED_CODE_UNKNOWN: {'message': 'Event: Access Denied, Code Unknown', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.ALARM_SUPERVISORY_POINT: {'message': 'Alarm: Supervisory Point', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_SUPERVISORY_POINT_BYPASS: {'message': 'Event: Supervisory Point Bypass', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.TROUBLE_SUPERVISORY_POINT: {'message': 'Trouble: Supervisory Point', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_HOLDUP_POINT_BYPASS: {'message': 'Event: Hold-up Point Bypass', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_AC_FAILURE_FOR_4HOURS: {'message': 'Event: AC Failure For 4 Hours', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.TROUBLE_OUTPUT: {'message': 'Trouble: Output Trouble', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_USER_CODE_FOR_EVENT: {'message': 'Event: User Code For Event', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.EVENT_LOG_OFF: {'message': 'Event: Log-off', 'dtype': LRR_DATA_TYPE.USER},
LRR_CID_EVENT.EVENT_CS_CONNECTION_FAILURE: {'message': 'Event: Central Station Connection Failure', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_RECEIVER_DATABASE_CONNECTION: {'message': 'Event: Receiver Database Connection', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.EVENT_LICENSE_EXPIRATION: {'message': 'Event: License Expiration', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_CID_EVENT.OTHER_NO_READ_LOG: {'message': 'Other: No Read Log', 'dtype': LRR_DATA_TYPE.ZONE},
}

# Map of DSC event codes to human-readable text.
LRR_DSC_MAP = {
LRR_DSC_EVENT.ZONE_EXPANDER_SUPERVISORY_ALARM: 'Zone Expander Supervisory Alarm',
LRR_DSC_EVENT.ZONE_EXPANDER_SUPERVISORY_RESTORE: 'Zone Expander Supervisory Restore',
LRR_DSC_EVENT.AUX_INPUT_ALARM: 'Auxillary Input Alarm',
LRR_DSC_EVENT.SPECIAL_CLOSING: 'Special Closing',
LRR_DSC_EVENT.CROSS_ZONE_POLICE_CODE_ALARM: 'Cross-zone Police Code Alarm',
LRR_DSC_EVENT.AUTOMATIC_CLOSING: 'Automatic Closing',
LRR_DSC_EVENT.ZONE_BYPASS: 'Zone Bypass',
LRR_DSC_EVENT.REPORT_DSC_USER_LOG_EVENT: 'Report DSC User Log Event',
LRR_DSC_EVENT.ZONE_EXPANDER_SUPERVISORY_ALARM: {'message': 'Zone Expander Supervisory Alarm', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_DSC_EVENT.ZONE_EXPANDER_SUPERVISORY_RESTORE: {'message': 'Zone Expander Supervisory Restore', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_DSC_EVENT.AUX_INPUT_ALARM: {'message': 'Auxillary Input Alarm', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_DSC_EVENT.SPECIAL_CLOSING: {'message': 'Special Closing', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_DSC_EVENT.CROSS_ZONE_POLICE_CODE_ALARM: {'message': 'Cross-zone Police Code Alarm', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_DSC_EVENT.AUTOMATIC_CLOSING: {'message': 'Automatic Closing', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_DSC_EVENT.ZONE_BYPASS: {'message': 'Zone Bypass', 'dtype': LRR_DATA_TYPE.ZONE},
LRR_DSC_EVENT.REPORT_DSC_USER_LOG_EVENT: {'message': 'Report DSC User Log Event', 'dtype': LRR_DATA_TYPE.ZONE},
}

# Map of ADEMCO event codes to human-readable text.


+ 5
- 2
alarmdecoder/messages/lrr/message.py 查看文件

@@ -12,14 +12,15 @@ devices.
from .. import BaseMessage
from ...util import InvalidMessageError

from .events import LRR_EVENT_TYPE, get_event_description, get_event_source
from .events import LRR_EVENT_TYPE, get_event_description, get_event_data_type, get_event_source


class LRRMessage(BaseMessage):
"""
Represent a message from a Long Range Radio or emulated Long Range Radio.
"""

event_data_type = None
"""Data Type for specific LRR message. User or Zone"""
event_data = None
"""Data associated with the LRR message. Usually user ID or zone."""
partition = -1
@@ -89,6 +90,7 @@ class LRRMessage(BaseMessage):
if not self.skip_report_override and self.report_code not in ['00', 'ff']:
self.event_code = int(event_type_data[1][1] + self.report_code, 16)
self.event_description = get_event_description(self.event_source, self.event_code)
self.event_data_type = get_event_data_type(self.event_source, self.event_code)

except ValueError:
raise InvalidMessageError('Received invalid message: {0}'.format(data))
@@ -101,6 +103,7 @@ class LRRMessage(BaseMessage):
return dict(
time = self.timestamp,
event_data = self.event_data,
event_data_type = self.event_data_type,
event_type = self.event_type,
partition = self.partition,
report_code = self.report_code,


+ 1
- 1
alarmdecoder/messages/lrr/system.py 查看文件

@@ -4,7 +4,7 @@ Primary system for handling LRR events.
.. moduleauthor:: Scott Petersen <scott@nutech.com>
"""

from .events import LRR_EVENT_TYPE, LRR_EVENT_STATUS, LRR_CID_EVENT
from .events import LRR_EVENT_TYPE, LRR_EVENT_STATUS, LRR_CID_EVENT, LRR_DATA_TYPE
from .events import LRR_FIRE_EVENTS, LRR_POWER_EVENTS, LRR_BYPASS_EVENTS, LRR_BATTERY_EVENTS, \
LRR_PANIC_EVENTS, LRR_ARM_EVENTS, LRR_STAY_EVENTS, LRR_ALARM_EVENTS



+ 1
- 1
setup.py 查看文件

@@ -14,7 +14,7 @@ if sys.version_info < (3,):
extra_requirements.append('future==0.14.3')

setup(name='alarmdecoder',
version='1.13.5',
version='1.13.6',
description='Python interface for the AlarmDecoder (AD2) family '
'of alarm devices which includes the AD2USB, AD2SERIAL and AD2PI.',
long_description=readme(),


Loading…
取消
儲存