Exemple #1
0
def cmd_touchpad(msg):
    assert (msg[1], msg[2]) == (0x22, 0x09), "Unexpected command type"
    ck_msg_len(msg, (0x22, 0x09), 0x06, exact_len=False)
    d = { 'partition_number': msg[3],
          'area_number': msg[4],
          'message_type': TOUCHPAD_MSG_TYPE.get(msg[5], 'Unknown Message Type'),
          'display_text': '',
          }
    if len(msg) > 0x06:
        d['display_text'] = decode_text_tokens(msg[6:-1])
    return d
Exemple #2
0
def cmd_partition_data(msg):
    assert msg[1] == 0x04, "Unexpected command type"
    ck_msg_len(msg, 0x04, 0x05, exact_len=False)
    d = { 'partition_number': msg[2],
          'area_number': msg[3],
          'arming_level': ARM_LEVEL.get(msg[4], 'Unknown Arming Level'),
          'arming_level_code': msg[4],
          'partition_text': '',
    }
    if len(msg) > 0x05:
        d['partition_text'] = decode_text_tokens(msg[5:-1])
    return d
Exemple #3
0
def cmd_zone_data(msg):
    ck_msg_len(msg, 0x03, 0x09, exact_len=False)
    assert msg[1] == 0x03, "Unexpected command type 0x02x" % msg[1]
    d = { 'partition_number': msg[2],
          'area_number': msg[3],
          'group_number': msg[4],
          'zone_number': (msg[5] << 8) + msg[6],
          'zone_type': ZONE_TYPES.get(msg[7], 'Unknown'),
          'zone_state': build_state_list(msg[8], ZONE_STATES),
          'zone_text': '',
          'zone_text_tokens': [ ],
          }
    if len(msg) > 0x09 + 1:
        d['zone_text'] = decode_text_tokens(msg[9:-1])
        d['zone_text_tokens'] = msg[9:-1]
    
    return d;