text: var commands = {
    a0: 'Disarm',
    a1: 'Arm to away',
    a2: 'Arm to stay',
    a3: 'Arm to stay instant',
    a4: 'Arm to night',
    a5: 'Arm to night instant',
    a6: 'Arm to vacation',
    a7: 'Arm step to next Away Mode',
    a8: 'Arm step to next Stay Mode',
    ar: 'Alarm Reporting Acknowledge',
    AR: 'Alarm Reporting to Ethernet',
    as: 'Request arming status',
    AS: 'Arming status report data',
    at: 'Ethernet Test Acknowledge',
    AT: 'Ethernet Test to IP',
    az: 'Alarm by zone request',
    AZ: 'Alarm by zone reply',
    CC: 'Control output change update',
    cf: 'Control output OFF',
    cn: 'Control output ON',
    cp: 'Request ALL custom values',
    cr: 'Request custom value',
    CR: 'Custom value report data',
    cs: 'Control output status request',
    CS: 'Control output status report data',
    ct: 'Control output TOGGLE',
    cu: 'Change user code request',
    CU: 'Change user code reply',
    cw: 'Write custom value data',
    cv: 'Request Counter value',
    CV: 'Counter Value Data',
    cx: 'Write counter value',
    dm: 'Display message',
    ds: 'Lighting Poll Request',
    DS: 'Lighting Poll Response',
    DK: 'Display KP LCD Data',
    EM: 'Email Trigger to M1XEP',
    IC: 'Send invalid user code digits',
    IE: 'Installer program exited',
    IP: 'M1XSP Insteon Program',
    ip: 'M1XSP Insteon Program',
    IR: 'M1XSP Insteon Read',
    ir: 'M1XSP Insteon Read',
    ka: 'Request keypad areas',
    KA: 'Keypad areas report data',
    kc: 'Request F Key illumination status',
    KC: 'Keypad key change update',
    kf: 'Request simulated function key press',
    KF: 'Function key pressed data',
    LD: 'Log data with index',
    ld: 'Request log data, with index',
    le: 'Write Log Data Entry',
    lw: 'Request temperature data',
    LW: 'Reply temperature data',
    pc: 'Control any PLC device',
    PC: 'PLC change update',
    pf: 'Turn OFF PLC device',
    pn: 'Turn ON PLC device',
    ps: 'Request PLC status',
    PS: 'PLC status report data',
    pt: 'Toggle PLC device',
    RE: 'Reset Ethernet Module',
    RP: 'ELKRP connected',
    rr: 'Request Real Time Clock Read',
    RR: 'Real Time Clock Data',
    rw: 'Real Time Clock Write',
    sd: 'Request text string descriptions',
    SD: 'Text string description report data',
    sp: 'Speak phrase',
    ss: 'Request System Trouble Status',
    SS: 'System Trouble Status data',
    st: 'Request temperature',
    ST: 'Temperature report data',
    sw: 'Speak word',
    TC: 'Task change update',
    tn: 'Task activation',
    tr: 'Request thermostat data',
    TR: 'Thermostat data report',
    ts: 'Set thermostat data',
    ua: 'Request user code areas',
    UA: 'User code areas report data',
    vn: 'request Version Number of M1',
    VN: 'Reply Version Number of M1',
    XB: 'reserved by ELKRP',
    xk: 'Reply from Ethernet test',
    XK: 'Request Ethernet test',
    zb: 'Zone bypass request',
    ZB: 'Zone bypass report data',
    ZC: 'Zone change update',
    zd: 'Request zone definition data', 
    ZD: 'Zone definition report data', 
    zp: 'Zone partition request', 
    ZP: 'Zone partition report data', 
    zs: 'Zone status request', 
    ZS: 'Zone status report data', 
    zv: 'Request Zone analog voltage', 
    ZV: 'Zone analog voltage data'
  }
  
  var words = {
    custom1 : 1,
    custom2 : 2,
    custom3 : 3,
    custom4 : 4,
    custom5 : 5,
    custom6 : 6,
    custom7 : 7,
    custom8 : 8,
    custom9 : 9,
    custom10 : 10,
    zero : 21,
    one : 22,
    two : 23,
    three : 24,
    four : 25,
    five : 26,
    six : 27,
    seven : 28,
    eight : 29,
    nine : 30,
    ten : 31,
    eleven : 32,
    twelve : 33,
    thirteen : 34,
    fourteen : 35,
    fifteen : 36,
    sixteen : 37,
    seventeen : 38,
    eighteen : 39,
    nineteen : 40,
    twenty : 41,
    thirty : 42,
    forty : 43, // note: this is actually misspelled in the protocol docs as 'fourty'
    fifty : 44,
    sixty : 45,
    seventy : 46,
    eighty : 47,
    ninety : 48,
    hundred : 49,
    thousand : 50,
    silence200ms : 51,
    silence500ms : 52,
    tone800hz : 53,
    a : 54,
    access : 55,
    acknowledged : 56,
    ac_power : 57,
    activate : 58,
    activated : 59,
    active : 60,
    adjust : 61,
    air : 62,
    alarm : 63,
    alert : 64,
    all : 65,
    am : 66,
    an : 67,
    and : 68,
    answer : 69,
    any : 70,
    are : 71,
    area : 72,
    arm : 73,
    armed : 74,
    at : 75,
    attic : 76,
    audio : 77,
    auto : 78,
    authorized : 79,
    automatic : 80,
    automation : 81,
    auxiliary : 82,
    away : 83,
    b : 84,
    back : 85,
    barn : 86,
    basement : 87,
    bathroom : 88,
    battery : 89,
    bedroom : 90,
    been : 91,
    bell : 92,
    bottom : 93,
    break : 94,
    breakfast : 95,
    bright : 96,
    building : 97,
    burglar : 98,
    button : 99,
    by : 100,
    bypassed : 101,
    cabinet : 102,
    call : 103,
    camera : 104,
    cancel : 105,
    carbon_monoxide : 106,
    card : 107,
    center : 108,
    central : 109,
    change : 110,
    check : 111,
    chime : 112,
    circuit : 113,
    clear : 114,
    closed : 115,
    closet : 116,
    code : 117,
    cold : 118,
    condition : 119,
    connect : 120,
    control : 121,
    cool : 122,
    cooling : 123,
    corner : 124,
    crawlspace : 125,
    danger : 126,
    day : 127,
    deck : 128,
    decrease : 129,
    defective : 130,
    degrees : 131,
    delay : 132,
    den : 133,
    denied : 134,
    detected : 135,
    detector : 136,
    device : 137,
    dial : 138,
    dialing : 139,
    dim : 140,
    dining_room : 141,
    disable : 142,
    disarm : 143,
    disarmed : 144,
    dock : 145,
    door : 146,
    doors : 147,
    down : 148,
    driveway : 149,
    east : 150,
    emergency : 151,
    enable : 152,
    end : 153,
    energy : 154,
    enrollment : 155,
    enter : 156,
    entering : 157,
    entertainment : 158,
    enter_the : 159,
    entry : 160,
    environment : 161,
    equipment : 162,
    error : 163,
    evacuate : 164,
    event : 165,
    exercise : 166,
    expander : 167,
    exit : 168,
    exterior : 169,
    f : 170,
    fail : 171,
    failure : 172,
    family_room : 173,
    fan : 174,
    feed : 175,
    fence : 176,
    fire : 177,
    first : 178,
    flood : 179,
    floor : 180,
    followed : 181,
    force : 182,
    fountain : 183,
    foyer : 184,
    freeze : 185,
    front : 186,
    full : 187,
    furnace : 188,
    fuse : 189,
    game : 190,
    garage : 191,
    gas : 192,
    gate : 193,
    glass : 194,
    go : 195,
    good : 196,
    goodbye : 197,
    great : 198,
    group : 199,
    guest : 200,
    gun : 201,
    hall : 202,
    hallway : 203,
    hanging_up : 204,
    hang_up : 205,
    has : 206,
    has_expired : 207,
    have : 208,
    hear_menu_options : 209,
    heat : 210,
    help : 211,
    high : 212,
    hold : 213,
    home : 214,
    hot : 215,
    hottub : 216,
    house : 217,
    humidity : 218,
    hvac : 219,
    if : 220,
    immediately : 221,
    in : 222,
    inches : 223,
    increase : 224,
    inner : 225,
    input : 226,
    inside : 227,
    instant : 228,
    interior : 229,
    in_the : 230,
    intruder : 231,
    intruder_message: 473,
    intrusion : 232,
    invalid : 233,
    is : 234,
    is_about_to_expire : 235,
    is_active : 236,
    is_armed : 237,
    is_canceled : 238,
    is_closed : 239,
    is_disarmed : 240,
    is_low : 241,
    is_off : 242,
    is_ok : 243,
    is_on : 244,
    is_open : 245,
    jacuzzi : 246,
    jewelry : 247,
    keep : 248,
    key : 249,
    keypad : 250,
    kitchen : 251,
    lamp : 252,
    laundry : 253,
    lawn : 254,
    leak : 255,
    leave: 256,
    left :  257,
    less : 258,
    level : 259,
    library : 260,
    light : 261,
    lights : 262,
    line : 263, 
    living_room : 264,
    loading : 265,
    lobby : 266,
    location : 267,
    lock : 268,
    low : 269,
    lower : 270,
    m : 271,
    machine : 272,
    mail : 273,
    main : 274,
    mains : 275,
    manual : 276,
    master : 277,
    max : 278,
    media : 279,
    medical : 280,
    medicine : 281,
    memory : 282,
    menu : 283,
    message : 284,
    middle : 285,
    minute : 286,
    missing : 287,
    mode : 288,
    module : 289,
    monitor : 290,
    more : 291,
    motion : 292,
    motor : 293,
    next : 294,
    night : 295,
    no : 296,
    normal : 297,
    north : 298,
    not : 299,
    notified : 300,
    now : 301,
    number : 302,
    nursery : 303,
    of : 304,
    off : 305,
    office : 306,
    oh : 307,
    ok : 308,
    on : 309,
    online : 310,
    only : 311,
    open : 312,
    operating : 313,
    option : 314,
    or : 315,
    other : 316,
    out : 317,
    outlet : 318,
    output : 319,
    outside : 320,
    over : 321,
    overhead : 322,
    panel : 323,
    panic : 324,
    parking : 325,
    partition : 326,
    patio : 327,
    pause : 328,
    perimeter : 329,
    personal : 330,
    phone : 331,
    place : 332,
    play : 333,
    please : 334,
    plus : 335,
    pm : 336,
    police : 337,
    pool : 338,
    porch : 339,
    port : 340,
    pound : 341,
    pounds : 342,
    power : 343,
    press : 344,
    pressure : 345,
    problem : 346,
    program : 347,
    protected : 348,
    pump : 349,
    radio : 350,
    raise : 351,
    ready : 352,
    rear : 353,
    receiver : 354,
    record : 355,
    recreation : 356,
    relay : 357,
    remain_calm : 358,
    remote : 359,
    repeat : 360,
    report : 361,
    reporting : 362,
    reset : 363,
    restored : 364,
    return : 365,
    right : 366,
    roof : 367,
    room : 368,
    running : 369,
    safe : 370,
    save : 371,
    screen : 372,
    second : 373,
    secure : 374,
    security : 375,
    select : 376,
    sensor : 377,
    serial : 378,
    service : 379,
    set : 380,
    setback : 381,
    setpoint : 382,
    setting : 383,
    shed : 384,
    shipping : 385,
    shock : 386,
    shop : 387,
    shorted : 388,
    shunted : 389,
    side : 390,
    silence : 391,
    siren : 392,
    sliding : 393,
    smoke : 394,
    someone : 395,
    south : 396,
    spare : 397,
    speaker : 398,
    sprinkler : 399,
    stairs : 400,
    stairway : 401,
    star : 402,
    start : 403,
    status : 404,
    stay : 405,
    stock : 406,
    stop : 407,
    storage : 408,
    storm : 409,
    studio : 410,
    study : 411,
    sump : 412,
    sun : 413,
    switch : 414,
    system : 415,
    tamper : 416,
    tank : 417,
    task : 418,
    telephone : 419,
    television : 420,
    temperature : 421,
    test : 422,
    thank_you : 423,
    that : 424,
    the : 425,
    theater : 426,
    thermostat : 427,
    third : 428,
    time : 429,
    toggle : 430,
    top : 431,
    transformer : 432,
    transmitter : 433,
    trespassing : 434,
    trouble : 435,
    turn : 436,
    twice : 437,
    type : 438,
    under : 439,
    unit : 440,
    unlocked : 441,
    unoccupied : 442,
    up : 443,
    user : 444,
    utility : 445,
    vacation : 446,
    valve : 447,
    video : 448,
    violated : 449,
    visitor : 450,
    wake_up : 451,
    walk : 452,
    wall : 453,
    warehouse : 454,
    warning : 455,
    water : 456,
    way : 457,
    welcome : 458,
    west : 459,
    what : 460,
    when : 461,
    where : 462,
    will : 463,
    window : 464,
    windows : 465,
    with : 466,
    work : 467,
    yard : 468,
    year : 469,
    you : 470,
    zone : 471,
    zones : 472
  }
  
  var events = {
    '1000': 'No Event',
    '1001': 'FIRE ALARM',
    '1002': 'FIRE SUPERVISORY ALARM',
    '1003': 'BURGLAR ALARM, ANY AREA',
    '1004': 'MEDICAL ALARM, ANY AREA',
    '1005': 'POLICE ALARM, ANY AREA',
    '1006': 'AUX1 24 HR, ANY AREA',
    '1007': 'AUX2 24 HR, ANY AREA',
    '1008': 'CARBON MONOXIDE ALARM, ANY AREA',
    '1009': 'EMERGENCY ALARM, ANY AREA',
    '1010': 'FREEZE ALARM, ANY AREA',
    '1011': 'GAS ALARM, ANY AREA',
    '1012': 'HEAT ALARM, ANY AREA',
    '1013': 'WATER ALARM, ANY AREA',
    '1014': 'ALARM, ANY AREA',
    '1015': 'BURGLAR ALARM IN AREA 1',
    '1016': 'BURGLAR ALARM IN AREA 2',
    '1017': 'BURGLAR ALARM IN AREA 3',
    '1018': 'BURGLAR ALARM IN AREA 4',
    '1019': 'BURGLAR ALARM IN AREA 5',
    '1020': 'BURGLAR ALARM IN AREA 6',
    '1021': 'BURGLAR ALARM IN AREA 7',
    '1022': 'BURGLAR ALARM IN AREA 8',
    '1023': 'MEDICAL ALARM IN AREA 1',
    '1024': 'MEDICAL ALARM IN AREA 2',
    '1025': 'MEDICAL ALARM IN AREA 3',
    '1026': 'MEDICAL ALARM IN AREA 4',
    '1027': 'MEDICAL ALARM IN AREA 5',
    '1028': 'MEDICAL ALARM IN AREA 6',
    '1029': 'MEDICAL ALARM IN AREA 7',
    '1030': 'MEDICAL ALARM IN AREA 8',
    '1031': 'POLICE ALARM IN AREA 1',
    '1032': 'POLICE ALARM IN AREA 2',
    '1033': 'POLICE ALARM IN AREA 3',
    '1034': 'POLICE ALARM IN AREA 4',
    '1035': 'POLICE ALARM IN AREA 5',
    '1036': 'POLICE ALARM IN AREA 6',
    '1037': 'POLICE ALARM IN AREA 7',
    '1038': 'POLICE ALARM IN AREA 8',
    '1039': 'AUX1 24 HR IN AREA 1',
    '1040': 'AUX1 24 HR IN AREA 2',
    '1041': 'AUX1 24 HR IN AREA 3',
    '1042': 'AUX1 24 HR IN AREA 4',
    '1043': 'AUX1 24 HR IN AREA 5',
    '1044': 'AUX1 24 HR IN AREA 6',
    '1045': 'AUX1 24 HR IN AREA 7',
    '1046': 'AUX1 24 HR IN AREA 8',
    '1047': 'AUX2 24 HR IN AREA 1',
    '1048': 'AUX2 24 HR IN AREA 2',
    '1049': 'AUX2 24 HR IN AREA 3',
    '1050': 'AUX2 24 HR IN AREA 4',
    '1051': 'AUX2 24 HR IN AREA 5',
    '1052': 'AUX2 24 HR IN AREA 6',
    '1053': 'AUX2 24 HR IN AREA 7',
    '1054': 'AUX2 24 HR IN AREA 8',
    '1055': 'CO ALARM IN AREA 1',
    '1056': 'CO ALARM IN AREA 2',
    '1057': 'CO ALARM IN AREA 3',
    '1058': 'CO ALARM IN AREA 4',
    '1059': 'CO ALARM IN AREA 5',
    '1060': 'CO ALARM IN AREA 6',
    '1061': 'CO ALARM IN AREA 7',
    '1062': 'CO ALARM IN AREA 8',
    '1063': 'EMERGENCY ALARM IN AREA 1',
    '1064': 'EMERGENCY ALARM IN AREA 2',
    '1065': 'EMERGENCY ALARM IN AREA 3',
    '1066': 'EMERGENCY ALARM IN AREA 4',
    '1067': 'EMERGENCY ALARM IN AREA 5',
    '1068': 'EMERGENCY ALARM IN AREA 6',
    '1069': 'EMERGENCY ALARM IN AREA 7',
    '1070': 'EMERGENCY ALARM IN AREA 8',
    '1071': 'FREEZE ALARM IN AREA 1',
    '1072': 'FREEZE ALARM IN AREA 2',
    '1073': 'FREEZE ALARM IN AREA 3',
    '1074': 'FREEZE ALARM IN AREA 4',
    '1075': 'FREEZE ALARM IN AREA 5',
    '1076': 'FREEZE ALARM IN AREA 6',
    '1077': 'FREEZE ALARM IN AREA 7',
    '1078': 'FREEZE ALARM IN AREA 8',
    '1079': 'GAS ALARM IN AREA 1',
    '1080': 'GAS ALARM IN AREA 2',
    '1081': 'GAS ALARM IN AREA 3',
    '1082': 'GAS ALARM IN AREA 4',
    '1083': 'GAS ALARM IN AREA 5',
    '1084': 'GAS ALARM IN AREA 6',
    '1085': 'GAS ALARM IN AREA 7',
    '1086': 'GAS ALARM IN AREA 8',
    '1087': 'HEAT ALARM IN AREA 1',
    '1088': 'HEAT ALARM IN AREA 2',
    '1089': 'HEAT ALARM IN AREA 3',
    '1090': 'HEAT ALARM IN AREA 4',
    '1091': 'HEAT ALARM IN AREA 5',
    '1092': 'HEAT ALARM IN AREA 6',
    '1093': 'HEAT ALARM IN AREA 7',
    '1094': 'HEAT ALARM IN AREA 8',
    '1095': 'WATER ALARM IN AREA 1',
    '1096': 'WATER ALARM IN AREA 2',
    '1097': 'WATER ALARM IN AREA 3',
    '1098': 'WATER ALARM IN AREA 4',
    '1099': 'WATER ALARM IN AREA 5',
    '1100': 'WATER ALARM IN AREA 6',
    '1101': 'WATER ALARM IN AREA 7',
    '1102': 'WATER ALARM IN AREA 8',
    '1103': 'ANY ALARM IN AREA 1',
    '1104': 'ANY ALARM IN AREA 2',
    '1105': 'ANY ALARM IN AREA 3',
    '1106': 'ANY ALARM IN AREA 4',
    '1107': 'ANY ALARM IN AREA 5',
    '1108': 'ANY ALARM IN AREA 6',
    '1109': 'ANY ALARM IN AREA 7',
    '1110': 'ANY ALARM IN AREA 8',
    '1111': 'CODE LOCKOUT, ANY KEYPAD',
    '1112': 'KEYPAD 01 CODE-LOCKOUT',
    '1113': 'KEYPAD 02 CODE-LOCKOUT',
    '1114': 'KEYPAD 03 CODE-LOCKOUT',
    '1115': 'KEYPAD 04 CODE-LOCKOUT',
    '1116': 'KEYPAD 05 CODE-LOCKOUT',
    '1117': 'KEYPAD 06 CODE-LOCKOUT',
    '1118': 'KEYPAD 07 CODE-LOCKOUT',
    '1119': 'KEYPAD 08 CODE-LOCKOUT',
    '1120': 'KEYPAD 09 CODE-LOCKOUT',
    '1121': 'KEYPAD 10 CODE-LOCKOUT',
    '1122': 'KEYPAD 11 CODE-LOCKOUT',
    '1123': 'KEYPAD 12 CODE-LOCKOUT',
    '1124': 'KEYPAD 13 CODE-LOCKOUT',
    '1125': 'KEYPAD 14 CODE-LOCKOUT',
    '1126': 'KEYPAD 15 CODE-LOCKOUT',
    '1127': 'KEYPAD 16 CODE-LOCKOUT',
    '1128': 'FIRE TROUBLE, ANY ZONE',
    '1129': 'BURGLAR TROUBLE, ANY ZONE',
    '1130': 'FAIL TO COMMUNICATE TROUBLE',
    '1131': 'RF SENSOR LOW BATTERY TROUBLE',
    '1132': 'LOST ANC MODULE TROUBLE',
    '1133': 'LOST KEYPAD TROUBLE',
    '1134': 'LOST INPUT EXPANDER TROUBLE',
    '1135': 'LOST OUTPUT EXPANDER TROUBLE  ',
    '1136': 'EEPROM MEMORY ERROR TROUBLE',
    '1137': 'FLASH MEMORY ERROR TROUBLE',
    '1138': 'AC FAILURE TROUBLE',
    '1139': 'CONTROL LOW BATTERY TROUBLE',
    '1140': 'CONTROL OVER CURRENT TROUBLE',
    '1141': 'EXPANSION MODULE TROUBLE',
    '1142': 'OUTPUT 2 SUPERVISORY TROUBLE',
    '1143': 'TELEPHONE LINE FAULT TROUBLE',
    '1144': 'RESTORE FIRE ZONE',
    '1145': 'RESTORE FIRE SUPERVISORY ZONE',
    '1146': 'RESTORE BURGLAR ZONE',
    '1147': 'RESTORE MEDICAL ZONE',
    '1148': 'RESTORE POLICE ZONE',
    '1149': 'RESTORE AUX1 24 HR ZONE',
    '1150': 'RESTORE AUX2 24 HR ZONE',
    '1151': 'RESTORE CO ZONE',
    '1152': 'RESTORE EMERGENCY ZONE',
    '1153': 'RESTORE FREEZE ZONE',
    '1154': 'RESTORE GAS ZONE',
    '1155': 'RESTORE HEAT ZONE',
    '1156': 'RESTORE WATER ZONE',
    '1157': 'COMMUNICATION FAIL RESTORE',
    '1158': 'AC FAIL RESTORE',
    '1159': 'LOW BATTERY RESTORE',
    '1160': 'CONTROL OVER CURRENT RESTORE',
    '1161': 'EXPANSION MODULE RESTORE',
    '1162': 'OUTPUT2 RESTORE',
    '1163': 'TELEPHONE LINE RESTORE',
    '1164': 'ALARM MEMORY, ANY AREA',
    '1165': 'ALARM MEMORY, AREA 1',
    '1166': 'ALARM MEMORY, AREA 2',
    '1167': 'ALARM MEMORY, AREA 3',
    '1168': 'ALARM MEMORY, AREA 4',
    '1169': 'ALARM MEMORY, AREA 5',
    '1170': 'ALARM MEMORY, AREA 6',
    '1171': 'ALARM MEMORY, AREA 7',
    '1172': 'ALARM MEMORY, AREA 8',
    '1173': 'AREA ARMED',
    '1174': 'AREA DISARMED',
    '1175': 'AREA 1 ARM STATE',
    '1176': 'AREA 2 ARM STATE',
    '1177': 'AREA 3 ARM STATE',
    '1178': 'AREA 4 ARM STATE',
    '1179': 'AREA 5 ARM STATE',
    '1180': 'AREA 6 ARM STATE',
    '1181': 'AREA 7 ARM STATE',
    '1182': 'AREA 8 ARM STATE',
    '1183': 'AREA 1 IS ARMED AWAY',
    '1184': 'AREA 2 IS ARMED AWAY',
    '1185': 'AREA 3 IS ARMED AWAY',
    '1186': 'AREA 4 IS ARMED AWAY',
    '1187': 'AREA 5 IS ARMED AWAY',
    '1188': 'AREA 6 IS ARMED AWAY',
    '1189': 'AREA 7 IS ARMED AWAY',
    '1190': 'AREA 8 IS ARMED AWAY',
    '1191': 'AREA 1 IS ARMED STAY',
    '1192': 'AREA 2 IS ARMED STAY',
    '1193': 'AREA 3 IS ARMED STAY',
    '1194': 'AREA 4 IS ARMED STAY',
    '1195': 'AREA 5 IS ARMED STAY',
    '1196': 'AREA 6 IS ARMED STAY',
    '1197': 'AREA 7 IS ARMED STAY',
    '1198': 'AREA 8 IS ARMED STAY',
    '1199': 'AREA 1 IS ARMED STAY INSTANT',
    '1200': 'AREA 2 IS ARMED STAY INSTANT',
    '1201': 'AREA 3 IS ARMED STAY INSTANT',
    '1202': 'AREA 4 IS ARMED STAY INSTANT',
    '1203': 'AREA 5 IS ARMED STAY INSTANT',
    '1204': 'AREA 6 IS ARMED STAY INSTANT',
    '1205': 'AREA 7 IS ARMED STAY INSTANT',
    '1206': 'AREA 8 IS ARMED STAY INSTANT',
    '1207': 'AREA 1 IS ARMED NIGHT',
    '1208': 'AREA 2 IS ARMED NIGHT',
    '1209': 'AREA 3 IS ARMED NIGHT',
    '1210': 'AREA 4 IS ARMED NIGHT',
    '1211': 'AREA 5 IS ARMED NIGHT',
    '1212': 'AREA 6 IS ARMED NIGHT',
    '1213': 'AREA 7 IS ARMED NIGHT',
    '1214': 'AREA 8 IS ARMED NIGHT',
    '1215': 'AREA 1 IS ARMED NIGHT INSTANT',
    '1216': 'AREA 2 IS ARMED NIGHT INSTANT',
    '1217': 'AREA 3 IS ARMED NIGHT INSTANT',
    '1218': 'AREA 4 IS ARMED NIGHT INSTANT',
    '1219': 'AREA 5 IS ARMED NIGHT INSTANT',
    '1220': 'AREA 6 IS ARMED NIGHT INSTANT',
    '1221': 'AREA 7 IS ARMED NIGHT INSTANT',
    '1222': 'AREA 8 IS ARMED NIGHT INSTANT',
    '1223': 'AREA 1 IS ARMED VACATION',
    '1224': 'AREA 2 IS ARMED VACATION',
    '1225': 'AREA 3 IS ARMED VACATION',
    '1226': 'AREA 4 IS ARMED VACATION',
    '1227': 'AREA 5 IS ARMED VACATION',
    '1228': 'AREA 6 IS ARMED VACATION',
    '1229': 'AREA 7 IS ARMED VACATION',
    '1230': 'AREA 8 IS ARMED VACATION',
    '1231': 'AREA 1 IS FORCE ARMED',
    '1232': 'AREA 2 IS FORCE ARMED',
    '1233': 'AREA 3 IS FORCE ARMED',
    '1234': 'AREA 4 IS FORCE ARMED',
    '1235': 'AREA 5 IS FORCE ARMED',
    '1236': 'AREA 6 IS FORCE ARMED',
    '1237': 'AREA 7 IS FORCE ARMED',
    '1238': 'AREA 8 IS FORCE ARMED',
    '1239': 'ZONE BYPASSED',
    '1240': 'ZONE UNBYPASSED',
    '1241': 'ANY BURGLAR ZONE IS FAULTED',
    '1242': 'BURGLAR STATUS OF ALL AREAS',
    '1243': 'AREA 1 BURGLAR STATUS',
    '1244': 'AREA 2 BURGLAR STATUS',
    '1245': 'AREA 3 BURGLAR STATUS',
    '1246': 'AREA 4 BURGLAR STATUS',
    '1247': 'AREA 5 BURGLAR STATUS',
    '1248': 'AREA 6 BURGLAR STATUS',
    '1249': 'AREA 7 BURGLAR STATUS',
    '1250': 'AREA 8 BURGLAR STATUS',
    '1251': 'AREA 1 CHIME MODE',
    '1252': 'AREA 2 CHIME MODE',
    '1253': 'AREA 3 CHIME MODE',
    '1254': 'AREA 4 CHIME MODE',
    '1255': 'AREA 5 CHIME MODE',
    '1256': 'AREA 6 CHIME MODE',
    '1257': 'AREA 7 CHIME MODE',
    '1258': 'AREA 8 CHIME MODE',
    '1259': 'AREA 1 CHIME ALERT',
    '1260': 'AREA 2 CHIME ALERT',
    '1261': 'AREA 3 CHIME ALERT',
    '1262': 'AREA 4 CHIME ALERT',
    '1263': 'AREA 5 CHIME ALERT',
    '1264': 'AREA 6 CHIME ALERT',
    '1265': 'AREA 7 CHIME ALERT',
    '1266': 'AREA 8 CHIME ALERT',
    '1267': 'ENTRY DELAY, ANY AREA',
    '1268': 'AREA 1 ENTRY DELAY',
    '1269': 'AREA 2 ENTRY DELAY',
    '1270': 'AREA 3 ENTRY DELAY',
    '1271': 'AREA 4 ENTRY DELAY',
    '1272': 'AREA 5 ENTRY DELAY',
    '1273': 'AREA 6 ENTRY DELAY',
    '1274': 'AREA 7 ENTRY DELAY',
    '1275': 'AREA 8 ENTRY DELAY  ',
    '1276': 'EXIT DELAY, ANY AREA',
    '1277': 'AREA 1 EXIT DELAY',
    '1278': 'AREA 2 EXIT DELAY',
    '1279': 'AREA 3 EXIT DELAY',
    '1280': 'AREA 4 EXIT DELAY',
    '1281': 'AREA 5 EXIT DELAY',
    '1282': 'AREA 6 EXIT DELAY',
    '1283': 'AREA 7 EXIT DELAY',
    '1284': 'AREA 8 EXIT DELAY',
    '1285': 'AREA 1 EXIT DELAY ENDS',
    '1286': 'AREA 2 EXIT DELAY ENDS',
    '1287': 'AREA 3 EXIT DELAY ENDS',
    '1288': 'AREA 4 EXIT DELAY ENDS',
    '1289': 'AREA 5 EXIT DELAY ENDS',
    '1290': 'AREA 6 EXIT DELAY ENDS',
    '1292': 'AREA 8 EXIT DELAY ENDS',
    '1293': 'AUTOMATIC CLOSING',
    '1294': 'EARLY CLOSING',
    '1295': 'CLOSING TIME EXTENDED',
    '1296': 'FAIL TO CLOSE',
    '1297': 'LATE TO CLOSE',
    '1298': 'KEYSWITCH CLOSING',
    '1299': 'DURESS',
    '1300': 'EXCEPTION OPENING',
    '1301': 'EARLY OPENING',
    '1302': 'FAIL TO OPEN',
    '1303': 'LATE TO OPEN',
    '1304': 'KEYSWITCH OPENING',
    '1305': 'AREA 1 CLOSING RING BACK',
    '1306': 'AREA 2 CLOSING RING BACK',
    '1307': 'AREA 3 CLOSING RING BACK',
    '1308': 'AREA 4 CLOSING RING BACK',
    '1309': 'AREA 5 CLOSING RING BACK',
    '1310': 'AREA 6 CLOSING RING BACK',
    '1311': 'AREA 7 CLOSING RING BACK',
    '1312': 'AREA 8 CLOSING RING BACK',
    '1313': 'ACCESS KEYPAD 01',
    '1314': 'ACCESS KEYPAD 02',
    '1315': 'ACCESS KEYPAD 03',
    '1316': 'ACCESS KEYPAD 04',
    '1317': 'ACCESS KEYPAD 05',
    '1318': 'ACCESS KEYPAD 06',
    '1319': 'ACCESS KEYPAD 07',
    '1321': 'ACCESS KEYPAD 09',
    '1322': 'ACCESS KEYPAD 10',
    '1323': 'ACCESS KEYPAD 11',
    '1324': 'ACCESS KEYPAD 12',
    '1325': 'ACCESS KEYPAD 13',
    '1326': 'ACCESS KEYPAD 14',
    '1327': 'ACCESS KEYPAD 15',
    '1328': 'ACCESS KEYPAD 16',
    '1329': 'ACCESS ANY KEYPAD',
    '1330': 'BEEP AREA 1 KEYPAD(S)',
    '1331': 'BEEP AREA 2 KEYPAD(S)',
    '1332': 'BEEP AREA 3 KEYPAD(S)',
    '1333': 'BEEP AREA 4 KEYPAD(S)',
    '1334': 'BEEP AREA 5 KEYPAD(S)',
    '1335': 'BEEP AREA 6 KEYPAD(S)',
    '1336': 'BEEP AREA 7 KEYPAD(S)',
    '1337': 'BEEP AREA 8 KEYPAD(S)',
    '1338': 'AREA 1 EXIT ERROR',
    '1339': 'AREA 2 EXIT ERROR',
    '1340': 'AREA 3 EXIT ERROR',
    '1341': 'AREA 4 EXIT ERROR',
    '1342': 'AREA 5 EXIT ERROR',
    '1343': 'AREA 6 EXIT ERROR',
    '1344': 'AREA 7 EXIT ERROR',
    '1345': 'AREA 8 EXIT ERROR',
    '1346': 'AUDIO AMPLIFIER STATUS',
    '1347': 'CONTROL POWER STATUS',
    '1348': 'LIGHT',
    '1349': 'DARK',
    '1350': 'SECURITY (DAY) ALERT',
    '1351': 'DIALER ABORT',
    '1352': 'DIALER CANCEL',
    '1353': 'DIALER AUTO TEST',
    '1354': 'LOCAL PROGRAMMING',
    '1355': 'LOCAL PROGRAMMING ENDS',
    '1356': 'KEYSWITCH ZN TAMPER ALERT',
    '1357': 'EVENT LOG, 80% FULL',
    '1358': 'TELEPHONE LINE IS RINGING',
    '1359': 'TELEPHONE LINE SEIZE',
    '1360': 'TELEPHONE LINE OFF/ON HOOK',
    '1361': 'TELEPHONE LOCAL ACCESS',
    '1362': 'TELEPHONE REMOTE ACCESS',
    '1363': 'REMOTE PROGRAMMING',
    '1364': 'REMOTE PROGRAMMING ENDS',
    '1365': 'AC FAIL TBL - POWER SUPV ZN',
    '1366': 'LOW BATTERY TBL - POWER SUPV ZN',
    '1367': 'SYSTEM START UP',
    '1368': 'CONTROL LOW VOLTAGE SHUTDOWN',
    '1369': 'RF KEYFOB BUTTON 1',
    '1370': 'RF KEYFOB BUTTON 2',
    '1371': 'RF KEYFOB BUTTON 3',
    '1372': 'RF KEYFOB BUTTON 4',
    '1373': 'RF KEYFOB BUTTON 5',
    '1374': 'RF KEYFOB BUTTON 6',
    '1375': 'RF KEYFOB BUTTON 7',
    '1376': 'RF KEYFOB BUTTON 8',
    '1377': 'LOST SERIAL PORT EXPANDER TROUBLE',
    '1378': 'RULE TRIGGERED VOICE TELEPHONE DIAL',
    '1379': 'DIALER REPORT CLEARED',
    '1380': 'CENTRAL STATION KISSOFF',
    '1381': 'TRANSMITTER SUPERVISION LOSS',
    '1382': '2-WIRE SMOKE DET. CLEAN TRBL',
    '1383': 'ETHERNET TROUBLE',
    '1384': 'ETHERNET RESTORE',
    '1385': 'RESTORE REMOTE AC POWER',
    '1386': 'RESTORE REMOTE BATTERY',
    '2001': 'Automation task 1',
    '2002': 'Automation task 2',
    '2003': 'Automation task 3',
    '2004': 'Automation task 4',
    '2005': 'Automation task 5',
    '2006': 'Automation task 6',
    '2007': 'Automation task 7',
    '2008': 'Automation task 8',
    '2009': 'Automation task 9',
    '2010': 'Automation task 10',
    '2011': 'Automation task 11',
    '2012': 'Automation task 12',
    '2013': 'Automation task 13',
    '2014': 'Automation task 14',
    '2015': 'Automation task 15',
    '2016': 'Automation task 16',
    '2017': 'Automation task 17',
    '2018': 'Automation task 18',
    '2019': 'Automation task 19',
    '2020': 'Automation task 20',
    '2021': 'Automation task 21',
    '2022': 'Automation task 22',
    '2023': 'Automation task 23',
    '2024': 'Automation task 24',
    '2025': 'Automation task 25',
    '2026': 'Automation task 26',
    '2027': 'Automation task 27',
    '2028': 'Automation task 28',
    '2029': 'Automation task 29',
    '2030': 'Automation task 30',
    '2031': 'Automation task 31',
    '2032': 'Automation task 32',
    '3001': 'F1 Key, keypad 1',
    '3002': 'F2 Key, keypad 1',
    '3003': 'F3 Key, keypad 1',
    '3004': 'F4 Key, keypad 1',
    '3005': 'F5 Key, keypad 1',
    '3006': 'F6 Key, keypad 1',
    '3007': 'F1 Key, keypad 2',
    '3008': 'F2 Key, keypad 2',
    '3009': 'F3 Key, keypad 2',
    '3010': 'F4 Key, keypad 2',
    '3011': 'F5 Key, keypad 2',
    '3012': 'F6 Key, keypad 2',
    '3013': 'F1 Key, keypad 3',
    '3014': 'F2 Key, keypad 3',
    '3015': 'F3 Key, keypad 3',
    '3016': 'F4 Key, keypad 3',
    '3017': 'F5 Key, keypad 3',
    '3018': 'F6 Key, keypad 3',
    '3019': 'F1 Key, keypad 4',
    '3020': 'F2 Key, keypad 4',
    '3021': 'F3 Key, keypad 4',
    '3022': 'F4 Key, keypad 4',
    '3023': 'F5 Key, keypad 4',
    '3024': 'F6 Key, keypad 4',
    '3025': 'F1 Key, keypad 5',
    '3026': 'F2 Key, keypad 5',
    '3027': 'F3 Key, keypad 5',
    '3028': 'F4 Key, keypad 5',
    '3029': 'F5 Key, keypad 5',
    '3030': 'F6 Key, keypad 5',
    '3031': 'F1 Key, keypad 6',
    '3032': 'F2 Key, keypad 6',
    '3033': 'F3 Key, keypad 6',
    '3034': 'F4 Key, keypad 6',
    '3035': 'F5 Key, keypad 6',
    '3036': 'F6 Key, keypad 6',
    '3037': 'F1 Key, keypad 7',
    '3038': 'F2 Key, keypad 7',
    '3039': 'F3 Key, keypad 7',
    '3040': 'F4 Key, keypad 7',
    '3041': 'F5 Key, keypad 7',
    '3042': 'F6 Key, keypad 7',
    '3043': 'F1 Key, keypad 8',
    '3044': 'F2 Key, keypad 8',
    '3045': 'F3 Key, keypad 8',
    '3046': 'F4 Key, keypad 8',
    '3047': 'F5 Key, keypad 8',
    '3048': 'F6 Key, keypad 8',
    '3049': 'F1 Key, keypad 9',
    '3050': 'F2 Key, keypad 9',
    '3051': 'F3 Key, keypad 9',
    '3052': 'F4 Key, keypad 9',
    '3053': 'F5 Key, keypad 9',
    '3054': 'F6 Key, keypad 9',
    '3055': 'F1 Key, keypad 10',
    '3056': 'F2 Key, keypad 10',
    '3057': 'F3 Key, keypad 10',
    '3058': 'F4 Key, keypad 10',
    '3059': 'F5 Key, keypad 10',
    '3060': 'F6 Key, keypad 10',
    '3061': 'F1 Key, keypad 11',
    '3062': 'F2 Key, keypad 11',
    '3063': 'F3 Key, keypad 11',
    '3064': 'F4 Key, keypad 11',
    '3065': 'F5 Key, keypad 11',
    '3066': 'F6 Key, keypad 11',
    '3067': 'F1 Key, keypad 12',
    '3068': 'F2 Key, keypad 12',
    '3069': 'F3 Key, keypad 12',
    '3070': 'F4 Key, keypad 12',
    '3071': 'F5 Key, keypad 12',
    '3072': 'F6 Key, keypad 12',
    '3073': 'F1 Key, keypad 13',
    '3074': 'F2 Key, keypad 13',
    '3075': 'F3 Key, keypad 13',
    '3076': 'F4 Key, keypad 13',
    '3077': 'F5 Key, keypad 13',
    '3078': 'F6 Key, keypad 13',
    '3079': 'F1 Key, keypad 14',
    '3080': 'F2 Key, keypad 14',
    '3081': 'F3 Key, keypad 14',
    '3082': 'F4 Key, keypad 14',
    '3083': 'F5 Key, keypad 14',
    '3084': 'F6 Key, keypad 14',
    '3085': 'F1 Key, keypad 15',
    '3086': 'F2 Key, keypad 15',
    '3087': 'F3 Key, keypad 15',
    '3088': 'F4 Key, keypad 15',
    '3089': 'F5 Key, keypad 15',
    '3090': 'F6 Key, keypad 15',
    '3091': 'F1 Key, keypad 16',
    '3092': 'F2 Key, keypad 16',
    '3093': 'F3 Key, keypad 16',
    '3094': 'F4 Key, keypad 16',
    '3095': 'F5 Key, keypad 16',
    '3096': 'F6 Key, keypad 16'
    // not implementing this
    //4001 – 4208 = Zone status, normal = 0, violated = 1
    //5001 – 5208 = Zone bypassed, 1 = bypassed
    //6001 – 6208 = Alarm Memory, 1 = alarm activated
    //7001 – 7208 = Output status, 1 = On
  }
  
  var armStatuses = [
    'Disarmed', 'Armed Away','Armed Stay','Armed Stay Instant',
    'Armed to Night','Armed to Night Instant','Armed to Vacation'
  ];
  
  var armUpStates = [
    'Not Ready to Arm','Ready to Arm','Ready to Arm, but a zone is violated and can be force armed',
    'Armed with Exit Timer working','Armed Fully','Force Armed with a force arm zone violated',
    'Armed with a Bypass'
  ];
  
  var alarmStates = {
    '0': 'No Active Alarm', 
    '1': 'Entrance Delay is Active', 
    '2': 'Alarm Abort Delay Active',
    '3': 'Fire Alarm', 
    '4': 'Medical Alarm', 
    '5': 'Police Alarm', 
    '6': 'Burgular Alarm', 
    '7': 'Aux1 Alarm',
    '8': 'Aux2 Alarm', 
    '9': 'Aux3 Alarm', 
    ':': 'Aux4 Alarm', 
    ';': 'Carbon Monoxide Alarm', 
    '<': 'Emergency Alarm',
    '=': 'Freeze Alarm', 
    '>': 'Gas Alarm', 
    '?': 'Heat Alarm', 
    '@': 'Water Alarm', 
    'A': 'Fire Supervisory',
    'B': 'Verify Fire'
  }
  
  var zoneStatuses = {
    '0': 'Normal: Unconfigured',
    '1': 'Normal: Open',
    '2': 'Normal: EOL',
    '3': 'Normal: Short',
    '5': 'Trouble: Open',
    '6': 'Trouble: EOL',
    '7': 'Trouble: Short',
    '9': 'Violated: Open',
    'A': 'Violated: EOL',
    'B': 'Violated: Short',
    'D': 'Bypassed: Open',
    'E': 'Bypassed: EOL',
    'F': 'Bypassed: Short'  
  }
  
  var outputStates = {
    '0': 'Off',
    '1': 'On'
  }
  
  var temperatureModes = {
    'F': 'Fahrenheit',
    'C': 'Celcius'
  }
  
  var userCodeTypes = {
    '1': 'User',
    '2': 'Master', 
    '3': 'Installer', 
    '4': 'ELKRP'
  }
  
  var textDescriptionsTypes = {
    '0':  'Zone Name',
    '1':  'Area Name',
    '2':  'User Name',
    '3':  'Keypad Name',
    '4':  'Output Name',
    '5':  'Task Name',
    '6':  'Telephone Name',
    '7':  'Light Name',
    '8':  'Alarm Duration Name',
    '9':  'Custom Settings',
    '10': 'Counters Names',
    '11': 'Thermostat Names',
    '12': 'Function Key 1 Name',
    '13': 'Function Key 2 Name',
    '14': 'Function Key 3 Name',
    '15': 'Function Key 4 Name',
    '16': 'Function Key 5 Name',
    '17': 'Function Key 6 Name',
    '18': 'Audio Zone Name',
    '19': 'Audio Source Name'
  }
  
  module.exports.commands = commands;
  module.exports.words = words;
  module.exports.events = events;
  module.exports.armStatuses = armStatuses;
  module.exports.armUpStates = armUpStates;
  module.exports.alarmStates = alarmStates; 
  module.exports.zoneStatuses = zoneStatuses;
  module.exports.outputStates = outputStates;
  module.exports.temperatureModes = temperatureModes;
  module.exports.userCodeTypes = userCodeTypes;
  module.exports.textDescriptionsTypes = textDescriptionsTypes;