Skip to content

About

ESPHome DSC Keybus Alarm Panel component with ESP-IDF v5.x support

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

ESPHome DSC Keybus Alarm Panel

ESPHome external component for interfacing with DSC PowerSeries security systems via the Keybus protocol. Supports ESP8266 and ESP32 (including ESP-IDF v5.x).

Source

Forked from Dilbert66/esphome-components after upstream dropped ESP8266 support. This fork maintains compatibility with both ESP8266 and ESP32 platforms.

The embedded DSC Keybus library is based on taligentx/dscKeybusInterface with additional fixes for ESP-IDF v5.x compatibility and bidirectional pin mode.

Changes from Upstream

  • ESP8266 support retained — the upstream dsc_alarm_panel switched to ESP-IDF-only APIs that break ESP8266 builds. This fork keeps Arduino framework compatibility.
  • ESP-IDF v5.x support — uses gptimer API instead of deprecated esp_timer.
  • Bidirectional single-pin mode — read and write can share a single GPIO pin.
  • Web keypad integration — optional mg_lib (Mongoose) dependency for web-based keypad.
  • Map-based sensor registration — sensors are registered dynamically via std::map instead of raw function pointers.
  • Restructured code — monolithic dscAlarm.h split into declaration header + 5000-line implementation .cpp.
  • Improved debounce — per-command bit-count tracking instead of skip-first approach.
  • Fixed virtual keypad writes — skipModuleBit prevents self-overwrite on bidirectional pins.
  • Removed zone bypass processing — unused code path removed.
  • Fixed event text — "Downlook remote trigger" corrected from "Downlook remote platform".

Usage

external_components:
  - source:
      type: git
      url: https://github.com/ChrisPotDev/esphome-dsckeybus
    components: [dsc_alarm_panel, mg_lib]
    refresh: 0s

Components

dsc_alarm_panel

The main DSC alarm panel integration. See the component's configuration options in __init__.py.

mg_lib

Mongoose embedded web server library — required only if using the web keypad feature.

Wiring

Refer to the taligentx/dscKeybusInterface wiring guide for connecting your microcontroller to the DSC Keybus.

License

GPL-3.0 — same as the upstream projects.

About

ESPHome DSC Keybus Alarm Panel component with ESP-IDF v5.x support

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages