taligentx / dscKeybusInterface

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

Reverse Keybus communication #252

Closed blackbasilisk closed 2 years ago

blackbasilisk commented 2 years ago

Hi, have you done any work on writing keybus commands/status/messages to external devices.

Use case: I have an existing GSM module that used the Keybus protocol to receive information from my old panel (DSC Powerseries PC1864), but the panel has blown. I am looking for a way to replace the panel with something like Konnected.io or even Ajax.Systems and then catch the MQTT messages and then output that to the Keybus device of my alarm monitoring company so that my monitoring company can still get signals if my alarm is triggered etc. In theory they wouldn't even know I have replaced my panel ;)

I looked at the code briefly and can probably take the input keybus information and just that to write to the keybus interface, but was wondering if you know of such a project / code already so I don't have to write it again if it exists.

taligentx commented 2 years ago

Hi @blackbasilisk - the develop branch has the KeypadInterface example sketch, this emulates a DSC panel to drive the DSC keypads to get button presses, etc without a panel.

For the GSM module, you'd need to decode the Keybus protocol between the panel and that module, so far that communication isn't decoded. You can view the Keybus data both from the panel and from the GSM module using the KeybusReader example sketch - the work is in figuring out which panel commands are for the GSM module, which commands the module responds on, and then what each of the bits represents.

It's certainly possible if you can work that out, and I'll be working on making it easier to write any arbitrary data to the Keybus so it's easier to emulate modules like zone expanders, GSM module, etc.