A HomeBridge plugin that presents an alarm accessory that uses MQTT detectors (sensors, buttons, etc.) and alerters (relays, node-red automations, etc.) to provide an Alarm System.
At this stage (Jan 4, 2021) this project will be stalled (abandoned? maybe). There is an issue with MQTTjs that causes the
.on('message', ...) events to stop functioning – once a disconnection occurs, then the reconnection does not trap the events needed to make the listeners work. The hope that I could use only one MQTT client as a quasi-singleton for this project has proven to work well, until the MQTT connection is closed, and then doesn't work at all.
Projects like homebridge-mqttthing use two code patterns that seems to fix the problem -- firstly each accessory has its own connection, and secondly, the message event is managed by an array of call-back functions. But this means a complete rewrite... :(
WIP (Work in Progress)
The plugin is not usable yet. This repo. will hold the WIP commits durring the dev cycle.
Initial dev. based on homebridge-plugin-template Accessory types for Alarm, sensors (detectors) and sirens (alerters) Plugin Config Schema for detectors and alerters Remove orphaned accessories Clean config when loading, i.e. validate and inject defaults Figure out how to make MQTT work for the Alarm Figure out how to make MQTT work for the detectors and alerters, including JSON parsing of MQTT message package CHANGELOG.md
- Documentation & github.io site
Publish to NPMjs.com
- README.md (this file, the pretty version)
Away Arming delay Reset delay Trigger delay (debounce false possitives?)
- Reset/Arming buttons?
- Figure out how to use bridged detectors and alerters, i.e. non-alarm accessories added by user
Allow detectors and alerters of different types
- Wemos D1 based keypad for arming, disarming etc. (custom firmware needed)