homebridge-plugin-utils

Opinionated utilities to provide common capabilities and create rich configuration webUI experiences for Homebridge plugins.


Keywords
homebridge, homebridge-developer, homebridge-plugin-developer, homekit, homekit secure video, hksv, camera
License
ISC
Install
npm install homebridge-plugin-utils@1.10.1

Documentation

Homebridge Plugin Utilities

Downloads Version Homebridge Discord

homebridge-plugin-utils is a utility library for Homebridge plugins that aims to provide a set of common core capabilities that can accelerate and streamline plugin development. It's opinionated and largely derived from my other plugins and my desire to increase code reuse and make it easier to provide rich capabilities across all my plugins so that each of my plugins can focus on providing their unique capabilities rather than copying over the same capabilities (feature options, MQTT support, and a rich webUI interface to name a few) time after time.

The design decisions are driven by my own needs as I continue to create, evolve, and maintain my plugins but I also wanted to provide these as a resource to others, should it be of interest.

Features

  • Feature options. Feature options are a hierarchical configuration system and matching webUI that allows users to set global defaults and override them at a granular level, enabling easier mass-customization of capabilities. For plugins that can potentially enumerate dozens of devices, this comes in quite handy so you don't need to configure each and every device, and instead you can focus on the exceptions.

  • Configuration webUI. This a rich, custom webUI for enumerating all the devices a plugin knows about, and configuring feature options.

  • MQTT client. Building in MQTT client capabilities is made easier through a set of utilities that allow you to easily publish and subscribe to events.

  • And more...

Documentation

  • Coming in the future.

Plugin Development Dashboard

This is mostly of interest to the true developer nerds amongst us.

License Build Status Dependencies GitHub commits since latest release (by SemVer)