homebridge-plugin-utils

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

OTHER License

Downloads
7.1K
Stars
0
Committers
1
homebridge-plugin-utils - v1.4.0 Latest Release

Published by hjdhjd 5 months ago

1.4.0 (2024-06-06)

  • Improvement: additional typechecking.
homebridge-plugin-utils - v1.3.0

Published by hjdhjd 5 months ago

1.3.0 (2024-06-03)

  • New feature: Added a limit option to the retry utility function.
homebridge-plugin-utils - v1.2.0

Published by hjdhjd 5 months ago

1.2.0

  • New feature: full two-level configuration is now available via the webUI. You can now more fully configure feature option webUIs like the ones used in homebridge-unifi-protect to simpler ones like the ones used in homebridge-hunter-hydrawise and homebridge-ratgdo.
  • New feature: added a robust UDP port allocator and manager to allow you to safely reserve and use UDP ports within Node. This is necessary in Homebridge in part because FFmpeg does not let you specify the port numbers for both the data and control channels in it's RTP support - they must be consecutive. This necessitates a port manager like RtpPortAllocator to allocate and manage UDP port reservations across your plugin to ensure there are no conflicts. This problem is really only encountered in the scenario where you have return audio (aka two-way audio) requirements, such as for a doorbell where the HomeKit client app needs to send audio back to the doorbell.
  • New feature: added RTP demuxer capabilities since FFmpeg does not currently support RFC 5761 (multiplexing RTP data and control packets on a single port) and HomeKit requires this for two-way audio capabilities.
  • New feature: added various TypeScript utility types like DeepPartial and DeepReadonly.
  • Improvement: added a show method on the webUi class to separate instantiation from UI rendering.
  • Improvement: added a color method to the feature options class to provide additional visual context to option scope and hierarchy.
  • Improvement: further refinements to our linting rules to ensure consistency across plugins.
  • Housekeeping.
homebridge-plugin-utils - v1.1.0

Published by hjdhjd 5 months ago

1.1.0

  • New feature: New feature: add optional firstRunInit, firstRunRequired, and firstRunSubmit handlers for additional customization in the firstRun workflow.
  • New feature: globals are now shared for eslint.
  • Housekeeping.
homebridge-plugin-utils - v1.0.0

Published by hjdhjd 5 months ago

1.0.0

  • Initial release with support for feature options, feature option webUI, plugin MQTT client support, and common linting and build scripts.