From 73b85e1cd05600bec695dcfd5546b19cc538b55d Mon Sep 17 00:00:00 2001 From: apocaliss92 Date: Fri, 31 Jan 2025 23:49:12 +0100 Subject: [PATCH] homekit: Fix autoadd (#1716) Co-authored-by: Gianluca Ruocco --- plugins/homekit/src/main.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/homekit/src/main.ts b/plugins/homekit/src/main.ts index 8e58180db..2af0be24a 100644 --- a/plugins/homekit/src/main.ts +++ b/plugins/homekit/src/main.ts @@ -216,6 +216,7 @@ export class HomeKitPlugin extends ScryptedDeviceBase implements MixinProvider, throw Error(`error in device reordering, expected ${uniqueDeviceIds.size} unique devices but only got ${uniqueReorderedIds.size} entries!`); } + const autoAdd = this.storageSettings.values.autoAdd ?? true; for (const id of reorderedDeviceIds) { const device = systemManager.getDeviceById(id); const supportedType = supportedTypes[device.type]; @@ -224,8 +225,7 @@ export class HomeKitPlugin extends ScryptedDeviceBase implements MixinProvider, try { const mixins = (device.mixins || []).slice(); - const autoAdd = this.storageSettings.values.autoAdd ?? true; - if (!mixins.includes(this.id) && autoAdd) { + if (!mixins.includes(this.id)) { // don't sync this by default, as it's solely for automations if (device.type === ScryptedDeviceType.Notifier) continue; @@ -235,6 +235,8 @@ export class HomeKitPlugin extends ScryptedDeviceBase implements MixinProvider, continue; if (defaultIncluded[device.id] === includeToken) continue; + if (!autoAdd) + continue; mixins.push(this.id); await device.setMixins(mixins); defaultIncluded[device.id] = includeToken;