In dsc.py, I added a few more codes and might have renamed a few as well, so that most alarm signals can be decoded. There are slight differences in the way DSC and GE report the codes. eg: DSC uses 601000 for phone test, but concord uses 601UUU and UUU is not zero even if the phone test is done from the only user via the main keypad. I have added a diff and my new file for clarity.
Not all of the DSC contact ID codes map correctly in alarm-central-station-receiver. I found the GE Concord codes here.
http://alarmhow.net/manuals/UTC/Concord%20v4/Concord%20v4.0%20Contact%20ID%20Mapping.pdf
In dsc.py, I added a few more codes and might have renamed a few as well, so that most alarm signals can be decoded. There are slight differences in the way DSC and GE report the codes. eg: DSC uses 601000 for phone test, but concord uses 601UUU and UUU is not zero even if the phone test is done from the only user via the main keypad. I have added a diff and my new file for clarity.
diff dsc.py newdsc.py
8a9
> '101000': {'1': ('A', '24 Hr Emergency (non-medical)')},
11c12,16
< '110000': {'1': ('A', '[F] Key Alarm')},
---
> '110000': {'1': ('A', 'Fire Key Alarm')},
> '111000': {'1': ('A', 'Fire Key Alarm')},
> '112000': {'1': ('A', 'Fire Key Alarm')},
> '113000': {'1': ('A', 'Fire Key Alarm')},
> '114000': {'1': ('A', 'Fire Key Alarm')},
12a18,22
> '111ZZZ': {'1': ('A', '24 Hr Fire')},
> '112ZZZ': {'1': ('A', '24 Hr Fire')},
> '113ZZZ': {'1': ('A', '24 Hr Fire')},
> '114ZZZ': {'1': ('A', '24 Hr Fire')},
> '115ZZZ': {'1': ('A', '24 Hr Fire')},
15a26,27
> '122000': {'1': ('A', 'Duress Alarm')},
> '122ZZZ': {'1': ('A', 'Duress Alarm')},
16a29,33
> '131ZZZ': {'1': ('A', 'Zone Alarm Perimeter')},
> '132ZZZ': {'1': ('A', 'Zone Alarm Interior')},
> '134ZZZ': {'1': ('A', 'Zone Alarm Entry Exit')},
> '137000': {'1': ('T', 'General System Tamper (Case/Cover Tamper Alarm)')},
> '137ZZZ': {'1': ('T', 'General System Tamper (Case/Cover Tamper Alarm)')},
27,28c44,46
< '301000': {'1': ('MA', 'AC Line Trouble')},
< '302000': {'1': ('MA', 'Battery Trouble')},
---
> '301000': {'1': ('MA', 'AC Power Failure')},
> '302000': {'1': ('MA', 'System Battery Trouble')},
> '308000': {'1': ('MA', 'System Back in Service')},
29a48
> '320000': {'1': ('MA', 'Siren Fault')},
30a50
> '330ZZZ': {'1': ('MA', 'Alternate Communicator Fault')},
36a57
> '355000': {'1': ('MA', 'Loss Of Radio Supervision')},
48a70
> '381ZZZ': {'1': ('MA', 'Loss of supervision')},
66a89,90
> '451UUU': {'1': ('O', 'Early to Close')},
> '452UUU': {'1': ('O', 'Late to Close')},
67a92
> '454000': {'1': ('O', 'Late to Close')},
68a94
> '457ZZZ': {'1': ('E', 'Exit Fault')},
73c99
< '601000': {'1': ('E', 'System Test')},
---
> '601UUU': {'1': ('E', 'System Test')},
newdsc.py.txt