- #Dsc alarm panel set date and time install
- #Dsc alarm panel set date and time serial
- #Dsc alarm panel set date and time software
- #Dsc alarm panel set date and time code
Extensive data decoding: the majority of Keybus data as seen in the DSC IT-100 Data Interface developer's guide has been reverse engineered and documented in src/dscKeybusPrintData.cpp.Data buffering: helps prevent lost Keybus data if the sketch is busy.Pin change and timer interrupts for accurate data capture timing.Designed for reliable data decoding and performance:.
#Dsc alarm panel set date and time serial
Does not require the DSC IT-100 serial interface. #Dsc alarm panel set date and time code
Panel installer code unlocking - determine the 4-digit panel installer code. Panel time - retrieve current panel date/time and set a new date/time. Write keys to the panel for all partitions. Alarm triggered, armed/disarmed, entry/exit delay, fire triggered, keypad panic keys. Poking around with a logic analyzer and oscilloscope revealed that the errors capturing the Keybus data were timing issues - after resolving the data errors, it was possible to reverse engineer the protocol by capturing the Keybus binary data as the security system handled various events. No implementations to do useful work with the data. Read-only - unable to control the Keybus to act as a virtual keypad. Limited data decoding - there was good progress for armed/disarmed states and partial zone status for a single partition, but otherwise most of the data was undecoded (notably missing the alarm triggered state). While there has been excellent discussion about the DSC Keybus protocol and a several existing projects, there were a few issues that remained unsolved: Tapping into the data lines is an ideal task for a microcontroller and also presented an opportunity to work with the Arduino and FreeRTOS (via esp-open-rtos) platforms. I was interested in finding a solution that directly accessed the pair of data lines that DSC uses for their proprietary Keybus protocol to send data between the panel, keypads, and other modules. I Wanted: Notification if the alarm triggered. I Had: A DSC security system not being monitored by a third-party service. Connect the microcontroller to the DSC Keybus per the wiring diagram with the appropriate resistors (and a transistor if you'd like to control the system). Select, configure, and upload one of the example sketches to the microcontroller:. zip to the Arduino/PlatformIO library directory to keep track of the latest changes. Alternatively, git clone or download the repo. #Dsc alarm panel set date and time install
PlatformIO CLI: platformio lib install "dscKeybusInterface".PlatformIO IDE: Search for DSC in the PlatformIO Library Registry.Arduino IDE: Search for DSC in the Library Manager - Sketch > Include Library > Manage Libraries.Install the DSC Keybus Interface library:.See the dscKeybusInterface-RTOS repository for a port of this library to esp-open-rtos - this enables a standalone esp8266 HomeKit accessory using esp-homekit. Installer code unlocking: automatic code search to unlock panels with unknown installer codes.
Virtual keypad: Web interface, Blynk mobile app. Notifications: Telegram bot, PushBullet, Twilio SMS, E-mail. Home automation integration: Home Assistant, Apple HomeKit & Siri, Google Home, OpenHAB, Athom Homey. The built-in examples can be used as-is or as a base to adapt to other uses: #Dsc alarm panel set date and time software
This enables existing DSC security system installations to retain the features and reliability of a hardwired system while integrating with modern devices and software for under $5USD in components. This library directly interfaces Arduino, esp8266, and esp32 microcontrollers to DSC PowerSeries security systems for integration with home automation, notifications on alarm events, and direct control as a virtual keypad.