DSC Keybus Protocol - AVR Freaks2
DSC Keybus Protocol - AVR Freaks2
page=1
qamar
0 new
logout
arduino_rich
Total votes: 0
riviera65 wrote:
Thanks for your code, riviera65, I'm using it to decode my own DSC
unit, I think I have discovered some new information. I want to know
which Access code arms and disarms, and I believe the information is
encoded on the 0xA5 time/status line. Following the time are two zero
bits, then bits 41-48 seem to indicate whether a system is being armed
or disarmed, and by whom. Bits 41&42 are 0x02 for arming, and 0x03
for disarming. Subtracting 0x99 from the arming code and 0xC0 from
the disarm code reveal the Access code (01..32, and master code 40 is
represented as following duress code 34). Some examples, the first line
is the entire string, the following are just the 8 bits pointed at:
1 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
8 bits of ones follow a user code, plus another 8 bits unless it's a master code. Both sequences are
then followed by a single bit (usually 1). I haven't been able to decode the last full byte for a user
code (preceding the 1 bit).
Can anyone duplicate these findings?
Top
Quote Reply Report
riviera65
Total votes: 0
Hi Arduino_rich,
Level: Newbie
Joined: Wed. Oct 31,
2012 DDDDDDDD DDDDDDDDDDDDDDDDDDDDA
Posts: 7 View posts
a5:00010010011011101101000111101110100110110000000001111111 AR
a5:00010010011011101101001000011010100110110000000010101100 AR
a5:00010010011011101101001000001110100110110000000010100000 AR
a5:00010010011011101101001000100010100110110000000010110100 AR
a5:00010010011011101101001000001100110000000000000011000011 DI
a5:00010010011011101101001000000000110000010000000010111000 DI
a5:00010010011011101101001000100000111000100000000011111001 DI
In this data, these are the a5 packets I received for different events.
The first line identifies with the D which bits are used for Date and time
(this I'm sure), The A is probably the Armed status (not completely
sure yet). But, for the remaining bits (the last eight), I can't say I'm
sure I get the same thing you do, and I'm not able to get the user
number from those. Maybe you can? I'm still trying to make sense out
of it though. I'll post other details if I finally get the enlightenment... ;)
Edit: Please disregard this example, I think I did not take the right A5
message, since when I arm the system, I get one first A5 message
2 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
when the code is entered, and then another one when the exit delay has expired and the system is
really armed. This is the second A5 that I displayed in the example above, and the first one seems
better. Here is the first one:
DDDDDDDD DDDDDDDDDDDDDDDDDDDDA
a5:00010010011011101101000111101100101111110000000010100001 BEFORE ARM user 0
a5:00010010011011101101001000011000100110010000000010101000 BEFORE ARM user 1
a5:00010010011011101101001000001100100110100000000010011101 BEFORE ARM user 2
a5:00010010011011101101001000100000101110110000000011010010 BEFORE ARM user 40
Top
Quote Reply Report
riviera65
Total votes: 0
DDDDDDDDPPDDDDDDDDDDDDDDDDDDDDA UUUUUU
Level: Newbie
Joined: Wed. Oct 31, a5:00010010011011101101000111101100101111110000000010100001 BE
2012
Posts: 7 View posts a5:00010010011011101101000111101110100110110000000001111111 AR
a5:00010010011011101101001000011000100110010000000010101000 BE
a5:00010010011011101101001000011010100110110000000010101100 AR
a5:00010010011011101101001000001100100110100000000010011101 BE
a5:00010010011011101101001000001110100110110000000010100000 AR
a5:00010010011011101101001000100000101110110000000011010010 BE
a5:00010010011011101101001000100010100110110000000010110100 AR
a5:00010010011011101101001000001100110000000000000011000011 DI
a5:00010010011011101101001000000000110000010000000010111000 DI
a5:00010010011011101101001000100000111000100000000011111001 DI
DDDDDDDDPPDDDDDDDDDDDDDDDDDDDDA B
a5:00010010001011101101001010100000111001111111111100111101 Ba
a5:00010010001011101101001010101100111011111111111101010001 Ba
3 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
number is partition 1, we get a user (U section) in this weird encoding that I still have to figure out
(I know you did, but I'm still stumped)
If we get partition 0, then the information is not a user but an error status (see how the B byte
could be battery error, I'll have to get more data)
Top
Quote Reply Report
Rogerbarnes
Total votes: 0
mcd1992 wrote:
4 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
I have used system many a times but never tried to learn the protocol
Top
Quote Reply Report
arduino_rich
Total votes: 0
Here are some code changes to the Nov 16, 2012 - 03:41 PM post
which should help with the user codes,
Add this to the end of the "if (cmd == 0xa5)" section:
Level: Newbie
Joined: Thu. Dec 6, 2012
Posts: 2 View posts
5 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
The 0xa5 armed message is received after the exit delay when the system switches off ready to
armed. The disarm message is received immediately upon disarming. On my system I receive a
date message every four minutes regardless of arming/disarming, so disregard that one for this user
information. I think your "A" bit should be two bits long and is two bits later than your code sample.
Note that it is followed by 8 zeros and then another 8-bit message which I can't determine. Also
make sure your user codes are unique, if you post the same 4 digit pin for two user codes I believe
it only finds the first one.
add this to the "if (cmd == 0x05)" section for a possible power fail indicator:
Top
Quote Reply Report
jolcese
Total votes: 0
Hi guys,
This is really great information. I've always wanted to interface with
6 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
Top
Quote Reply Report
jpessini
Total votes: 0
Level: Newbie
Joined: Sat. Mar 16, 2013
Posts: 2 View posts
Top
Quote Reply Report
fvparg
Total votes: 0
Top
7 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
jpessini
Total votes: 0
Level: Newbie
Joined: Sat. Mar 16, 2013
Posts: 2 View posts
Top
Quote Reply Report
Bingo600
Total votes: 0
Nice info ..
But there is no source .... Only a hex
If you are .. you might ask your "relative" to release the sourcecode
:wink: :wink:
/Bingo
Top
Quote Reply Report
This is a WYSIWYG-html based editor. Please use the features in the toolbar for
formatting. The "<>" button is for the code editor.
Privacy(http://www.atmel.com/About/privacy.aspx)
8 of 9 2014-11-01 15:30
DSC Keybus Protocol | AVR Freaks http://www.avrfreaks.net/forum/dsc-keybus-protocol?page=1
Contact(http://www.atmel.com/About/contact/distributors
/default.aspx?contactType=Online%20Directory)
Site Use Terms(http://www.atmel.com/About/legal.aspx)
Cookies(http://www.atmel.com/About/cookies.aspx)
9 of 9 2014-11-01 15:30