diff --git a/plugins/homekit/src/main.ts b/plugins/homekit/src/main.ts index 8e58180db7..2af0be24ac 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;