homebridge-bond icon indicating copy to clipboard operation
homebridge-bond copied to clipboard

Homebridge V2 Readiness

Open kshartman opened this issue 7 months ago • 2 comments

Is your feature request related to a problem? Please describe. The plugin is great. Thank you. But its the only plugin my list that isn't green for Homebridge V2 readiness.

Describe the solution you'd like Mark it Homebridge V2 ready. Likely already just needs some changes to package.json.

Describe alternatives you've considered Forking it and turning claude loose on it.

Additional context Short answer: it probably works on Homebridge v2, but it’s not explicitly marked as “V2-ready” unless the engines.homebridge range in package.json includes v2. I couldn’t see the repo’s package.json directly via my browser sandbox, but here’s what I could confirm and exactly what to change.

What I can confirm

The plugin is actively maintained and Homebridge-Verified; latest on npm is 3.2.12 (published ~5 months ago). NPM

Homebridge’s own guidance for “V2 ready” is to update package.json to include the v2 range; users then see a green tick in the UI. The project also lists a few HAP v1 → v1.x breaking changes to watch for. GitHub

The repo is the correct, current one for “homebridge-bond” (Aaron Sapp / aarons22). GitHub

What counts as “Homebridge v2 ready”

Per Homebridge’s official migration note, a plugin is considered ready when engines.homebridge includes the v2 range. They give this example:

"engines": { "homebridge": "^1.6.0 || ^2.0.0-beta.0", "node": "^18.20.4 || ^20.15.1 || ^22" }

…and once v2 is stable, drop the -beta.0. This is what flips the green check in the UI. GitHub

What to do in this repo (if it doesn’t already have that)

Update package.json engines to explicitly include v2:

{ "name": "homebridge-bond", ...

  • "engines": { "homebridge": "^1.6.0", "node": ">=18" }
  • "engines": {
  • "homebridge": "^1.6.0 || ^2.0.0",
  • "node": "^18.20.4 || ^20.15.1 || ^22"
  • } }

(Adjust the “before” line to whatever it currently is; the key part is adding || ^2.0.0.)

Scan for HAP v1 removals (only a handful of plugins need code changes). Grep these patterns:

Characteristic. enums used directly → replace with api.hap. equivalents (e.g., api.hap.Formats, api.hap.Units, api.hap.Perms).

BatteryService → Service.Battery.

getServiceByUUIDAndSubType → getServiceById.

Characteristic.getValue() → Characteristic.value.

Accessory.updateReachability() (removed).

init() (long-deprecated). These are the exact removals listed by Homebridge. If none appear, you’re almost certainly fine on v2. GitHub

Dev dependency bump (optional but nice): make sure the dev homebridge and types bring in current HAP types so your IDE flags anything old.

Sanity test:

Run the plugin in a Child Bridge on Homebridge v2; if anything is still using a removed API, only that child will crash/restart and you’ll get clear logs, while the main UI stays up. GitHub

Practical read on this plugin

Given its active maintenance and that most plugins don’t require code changes for v2, odds are the code already works on v2. The main missing step (if any) is likely just updating engines.homebridge so the UI shows “V2 Ready.” NPM GitHub

kshartman avatar Sep 08 '25 02:09 kshartman

+1

acodring avatar Sep 29 '25 13:09 acodring

Any chance this will see a v2 update?

mcg avatar Oct 24 '25 19:10 mcg

V2 support has been added to this beta release - https://github.com/aarons22/homebridge-bond/releases/tag/v3.3.0-beta.1

Please test and report back!

aarons22 avatar Jan 04 '26 17:01 aarons22

V2 support has been added to this beta release - https://github.com/aarons22/homebridge-bond/releases/tag/v3.3.0-beta.1

Please test and report back!

Installed in my instance. No anomalies observed. Fan and fan lights working. Working with a discrete bond with the three fans and a fan integrated bond as well. Green check mark for V2. I will run it and let you know if anything happens but so far so good.

kshartman avatar Jan 05 '26 06:01 kshartman

@aarons22 I updated to 3.3.0-beta.2 and see Homebridge v2 readiness, but this version doesn't support latest Node v24.x which v3.2.12 did. Can you update beta release to support latest Node? Thanks!

yweiss avatar Feb 18 '26 01:02 yweiss

@yweiss fixed in beta.3

aarons22 avatar Feb 20 '26 01:02 aarons22