homebridge-tasmota-alarm

An alarm platform plugin for HomeBridge that uses MQTT devices as sensors and sirens, useful in creating an alarm based on Tasmota devices.

Usage no npm install needed!

<script type="module">
  import homebridgeTasmotaAlarm from 'https://cdn.skypack.dev/homebridge-tasmota-alarm';
</script>

README

Homebridge-Tasmota-Alarm

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.

Update

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.

To-Do

Before publish

  • 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)

Later?

  • 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

Wish list

  • Wemos D1 based keypad for arming, disarming etc. (custom firmware needed)

Resources