taligentx / dscKeybusInterface

An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
GNU General Public License v3.0
496 stars 125 forks source link

Implemented 0x8D module programming, PC5200 support, Zones 33-64 bypass/fault/restore status messages #283

Closed kricon closed 4 months ago

kricon commented 2 years ago

Following #188 I started to implement decoded protocol into dscKeybusPrintData.cpp for 0x8D cmd as much as I can, with massive testing on RF5132 v3.14, v5.0 and v5.1 modules. I'm still not sure that all messages can be correctly indentified.

For 0x94 cmd, it's impossible to distinguish for which module version it is from just single line (so probably emit messages and just print raw data). Also on 0x94 cmd ESN data starts with first digit on byte7 bit6 and sixth digit ends on Byte10 bit7. Maybe somebody can help me with shifting the bits from bytes so we can print out ESN data of 0x94cmd.

Note: this is just an dump from local PC, to show work in progress. There is still a lot to implement, test, and redo the code.

taligentx commented 2 years ago

Hi @kricon - thanks for the RF5132 work! Heads-up that I've updated the code structure in develop to isolate KeybusReader code from the rest of the library. This saves space and memory in all sketches, and especially makes a difference for Arduino KeybusReader - it's now down to 29,086 bytes even with the code that previously had #defines to exclude AVR so there's no need to have different code on each platform, and there's room to grow for more decoding.

Feel free to keep this commit as-is with the existing structure, I can manually merge once this is ready because I know it can be a pain to retroactively adjust code that you're in the middle of working on.