Releases: taligentx/dscKeybusInterface
3.0
- New: DSC Classic series panel support: PC1500, PC1550, PC2550
- New:
KeypadInterface
andKeypadInterface-MQTT
example sketches - emulate a DSC panel to connect DSC PowerSeries and Classic keypads as physical input devices for any general purpose, without needing a DSC panel. - New:
HomeKit-HomeSpan
example sketch (esp32) - integrate directly with Apple HomeKit as a native standalone accessory using HomeSpan - New: Pushover and Pushsafer push notification example sketches for esp8266/esp32
- New: esp32-s2 microcontroller support
- New: Code restructured to support new features from sketches using #define flags - enables Classic series support and
KeypadInterface
. - Updated:
Homebridge-MQTT
supports switching armed modes while armed - Updated: Added TLS root certificate to
Twilio-SMS
- Updated: removed deprecated
handlePanel()
- Bugfix:
VirtualKeypad-Web
updated notes to switch to this fork of ESPAsyncWebServer to resolve crashes with iOS and macOS clients. - Bugfix:
Pushbullet
example sketch updated TLS security certificate fingerprint - Bugfix: Workaround for upstream esp32 TLS handshake issue preventing making a TLS connection more than once.
- Bugfix: Fixed
Homebridge-MQTT
handling exit delay states while multiple partitions are arming - Bugfix: Resolved access codes not updating on disarm, changed arming access codes to update before armed status changes
Thanks to all for the feedback and special thanks to the folks that have been contributing to the development! Your work is much appreciated - Nikhil.
2.0
- New: Telegram bot example sketch
- New: OpenHAB integration example sketch using MQTT
- New:
Unlocker
example sketch - determines the panel installer code - New:
TimeSyncNTP
example sketch - uses NTP to automatically set the panel time - New: ESPHome integration example (located in the
extras
directory) - thanks to Dilbert66 for this contribution! - New:
TinyGMS-SMS
example sketch - sends status via SMS with a GSM modem - thanks to jvitkauskas for this contribution! - New:
KeybusReaderIP
example sketch enables Keybus data access over IP, thanks to aboulfad for this contribution! - New: esp32 microcontroller support - requires Arduino-esp32 v1.0.5-rc6 or newer
- New: Features for sketches:
ready
anddisabled
track partition statussetTime()
sets the panel date and timepgmOutputs[]
tracks the status of PGM outputs 1-14timestampChanged
tracks when the panel sends a timestampaccessCode
tracks the access code used to arm/disarmresetStatus()
triggers a full status update of all partitions and zones - for example, after initialization or a lost network connection.pauseStatus
pauses status updates if set totrue
- for example, holding status changes during a lost network connectionstop()
disables the interface - for example, prior to starting OTA updatesappendPartition()
in example sketches simplifies adding partition numbers to messagespanelVersion
tracks the panel version number
- New: Handle
*1 bypass/re-activate
used to change stay/away mode while armed - Updated:
VirtualKeypad-Blynk
andVirtualKeypad-Web
display alarm memory, programming zone lights, and event buffer - Updated:
HomeAssistant-MQTT, Homebridge-MQTT, OpenHAB-MQTT
include PGM outputs 1-14 status - Updated: Virtual keypad writes
write()
for multiple keys can now be set to block until the write is complete with an optional parameter if the char array is ephemeral- Checking
writeReady
is typically no longer needed in the sketch, the library will block if a previous write is in progress - this can be checked if the sketch needs to wait until the library can perform a nonblocking write
- Updated:
HomeAssistant-MQTT
sketch now includes night arm and for esp8266/esp32 includes a sensor with partition status messages - Updated: Expanded partition state processing to improve panel state detection at startup
- Deprecated:
handlePanel()
is nowloop()
- Bugfix: Resolved keypad aux/panic key, AC power, and battery status on PC585/PC1555MX
- Bugfix: Resolved
Homebridge-MQTT
sketch not handling HomeKit target states - Bugfix: Resolved timing issues when consecutively calling
write
1.2
- New: Virtual keypad web interface example, thanks to Elektrik1 for this contribution!
- As of esp8266 Arduino Core 2.5.1, you may need to manually update the esp8266FS plugin for SPIFFS upload.
- New: Support esp8266 CPU running at 160MHz - this helps sketches using TLS through BearSSL
- Updated: HomeAssistant-MQTT example includes availability status, thanks to bjrolfe for this contribution!
- Updated: List of tested DSC panels: PC585, PC1565, PC5005, PC1808
- Updated: esp8266 power wiring diagrams
- Updated: esp8266 module list
1.0
0.4
- New: Virtual keypad support for partitions 3-8, thanks to jvitkauskas for contributing the necessary logs
- New: Support ATmega32U4-based Arduino boards (switched to AVR Timer1)
- Changed: Simplified example names, configurations, added version numbers
- Bugfix: Virtual keypad writes with partitions 5-8 enabled
- Bugfix: F/A/P alarm key writes with
processModuleData
disabled - Bugfix: HomeAssistant example
configuration.yaml
error foralarm_control_panel
0.3
Note: This release changes the library methods to accomodate multiple partitions, existing sketches will need to be updated to match the new example sketches.
- New: Status for partitions 2-8, zones 33-64
- New: Virtual keypad support for partition 2
- New: Athom Homey integration example sketch, contributed by MagnusPer
- New: PCB layouts, contributed by sjlouw
- New: Configurable number of partitions and zones to customize memory usage:
dscPartitions
anddscZones
indscKeybusInterface.h
- New: KeybusReader decoding of commands
0xE6
and0xEB
- Changed: Split examples by platform
- Changed: MQTT examples updated with username and password fields
- Changed:
processRedundantData
now true by default to prevent storing repetitive data, reduces memory usage.
0.2
This release adds a buffer for panel data to prevent messages from being lost if the sketch is busy - the Status-Email and Status-Pushbullet examples would previously lose some messages waiting for the sketch to complete sending data to the remote servers.
The buffer default is set to 10 commands for Arduino and 50 for esp8266 in src/dscKeybusInterface.h
- this can be adjusted lower to use less memory or increased if the sketch takes more time. Check if bufferOverflow
is true to determine if the buffer needs to be increased.