@jay-d-tyler/homebridge-somfy-protect-automate 1.0.11 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,6 +27,20 @@ This plugin requires the main Somfy Protect plugin to be installed and configure
27
27
 
28
28
  Make sure your Somfy Protect alarm is working in HomeKit before installing this automation helper.
29
29
 
30
+ ## ⚠️ Important: Bridge Configuration
31
+
32
+ **Both plugins must run on the Default Bridge (not child bridges)** for cross-plugin communication to work.
33
+
34
+ ### How to Configure:
35
+
36
+ 1. In Homebridge Config UI X, go to **Plugins**
37
+ 2. Click on **Somfy Protect** → Settings (gear icon)
38
+ 3. Under **Bridge Settings**, select **"Default Bridge"**
39
+ 4. Do the same for **Somfy Protect Automate**
40
+ 5. Restart Homebridge
41
+
42
+ **Why?** Child bridges isolate plugins from each other. Since this plugin needs to access the Somfy Protect alarm accessory, both must share the same bridge (the main one).
43
+
30
44
  ## Installation
31
45
 
32
46
  ### Option 1: Homebridge Config UI X (Recommended)
@@ -54,7 +68,7 @@ Add this platform to your Homebridge `config.json`:
54
68
  {
55
69
  "platform": "SomfyProtectAutomate",
56
70
  "name": "Somfy Protect Automate",
57
- "buttonLabel": "Disarm Somfy"
71
+ "alarmName": "Somfy Protect"
58
72
  }
59
73
  ]
60
74
  }
@@ -65,8 +79,8 @@ Add this platform to your Homebridge `config.json`:
65
79
  | Option | Type | Required | Default | Description |
66
80
  |--------|------|----------|---------|-------------|
67
81
  | `platform` | string | Yes | `SomfyProtectAutomate` | Must be `SomfyProtectAutomate` |
68
- | `name` | string | Yes | `Somfy Protect Automate` | The name that appears in Homebridge logs |
69
- | `buttonLabel` | string | No | `Disarm Somfy` | The name of the switch in the Home app |
82
+ | `name` | string | No | `Somfy Protect Automate` | The name that appears in Homebridge logs |
83
+ | `alarmName` | string | Yes | `Somfy Protect` | The exact name of your Somfy Protect alarm as shown in the Home app |
70
84
 
71
85
  ## Usage
72
86
 
@@ -2,7 +2,7 @@
2
2
  "pluginAlias": "SomfyProtectAutomate",
3
3
  "pluginType": "platform",
4
4
  "singular": true,
5
- "headerDisplay": "This plugin creates a switch called **Disarm Somfy Protect** that can be used in HomeKit automations to disarm your Somfy Protect alarm.",
5
+ "headerDisplay": "This plugin creates a switch called **Disarm Somfy Protect** that can be used in HomeKit automations to disarm your Somfy Protect alarm.\n\n⚠️ **IMPORTANT:** Both this plugin and the Somfy Protect plugin must run on the **Default Bridge** (not child bridges) for cross-plugin communication to work. Go to each plugin's settings → Bridge Settings → Select \"Default Bridge\".",
6
6
  "footerDisplay": "💡 **Tip:** Find your alarm's exact name in the Home app, then enter it above. You can rename the switch in the Home app if desired.",
7
7
  "schema": {
8
8
  "type": "object",
package/dist/index.js CHANGED
@@ -33,6 +33,14 @@ class SomfyProtectAutomatePlatform {
33
33
  const buttonLabel = 'Disarm Somfy Protect';
34
34
  const uuid = this.api.hap.uuid.generate(buttonLabel);
35
35
  this.log.info(`Generated UUID for "${buttonLabel}": ${uuid}`);
36
+ const oldAccessoriesToRemove = this.accessories.filter(acc => acc.UUID !== uuid);
37
+ if (oldAccessoriesToRemove.length > 0) {
38
+ this.log.info(`Removing ${oldAccessoriesToRemove.length} old cached accessory(ies)...`);
39
+ oldAccessoriesToRemove.forEach(acc => {
40
+ this.log.info(` - Removing: "${acc.displayName}"`);
41
+ });
42
+ this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, oldAccessoriesToRemove);
43
+ }
36
44
  const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
37
45
  if (existingAccessory) {
38
46
  this.log.info('Restoring existing accessory from cache:', existingAccessory.displayName);
@@ -94,25 +102,34 @@ class SomfyDisarmSwitch {
94
102
  return;
95
103
  }
96
104
  this.platform.log.info(`Attempting to disarm Somfy Protect alarm: "${this.platform.config.alarmName}"...`);
97
- const allAccessories = this.platform.api.platformAccessories || [];
98
- this.platform.log.info(`Searching through ${allAccessories.length} total accessories in Homebridge...`);
99
- if (allAccessories.length > 0) {
105
+ const homebridgeAPI = this.platform.api;
106
+ this.platform.log.info('Checking API object for bridge access...');
107
+ this.platform.log.info('Available properties:', Object.keys(homebridgeAPI).join(', '));
108
+ const bridge = homebridgeAPI._bridge || homebridgeAPI.bridge || homebridgeAPI._server?.bridge;
109
+ if (!bridge) {
110
+ this.platform.log.error('Could not access Homebridge bridge instance');
111
+ this.platform.log.error('This plugin requires both plugins to run on the Default Bridge');
112
+ return;
113
+ }
114
+ this.platform.log.info('Successfully accessed bridge instance');
115
+ const bridgedAccessories = bridge.bridgedAccessories || [];
116
+ this.platform.log.info(`Searching through ${bridgedAccessories.length} HAP accessories on the bridge...`);
117
+ if (bridgedAccessories.length > 0) {
100
118
  this.platform.log.info('Available accessories:');
101
- allAccessories.forEach((acc, index) => {
119
+ bridgedAccessories.forEach((acc, index) => {
102
120
  this.platform.log.info(` ${index + 1}. "${acc.displayName}"`);
103
121
  });
104
122
  }
105
123
  else {
106
- this.platform.log.warn('No accessories found in platformAccessories array.');
107
- this.platform.log.warn('This likely means the Homebridge API does not expose other plugins\' accessories.');
108
- this.platform.log.warn('You may need to use a different approach to control your alarm.');
124
+ this.platform.log.error('No accessories found on the bridge.');
125
+ this.platform.log.error('Make sure both plugins are running on the Default Bridge (not child bridges).');
109
126
  return;
110
127
  }
111
- const targetAccessory = allAccessories.find(acc => acc.displayName === this.platform.config.alarmName);
128
+ const targetAccessory = bridgedAccessories.find((acc) => acc.displayName === this.platform.config.alarmName);
112
129
  if (!targetAccessory) {
113
130
  this.platform.log.error(`Could not find alarm with name "${this.platform.config.alarmName}"`);
114
131
  this.platform.log.error('Available accessories:');
115
- allAccessories.forEach(acc => {
132
+ bridgedAccessories.forEach((acc) => {
116
133
  this.platform.log.error(` - "${acc.displayName}"`);
117
134
  });
118
135
  this.platform.log.error('Please update the "alarmName" setting to match exactly.');
@@ -120,21 +137,22 @@ class SomfyDisarmSwitch {
120
137
  }
121
138
  this.platform.log.info(`Found target accessory: "${targetAccessory.displayName}"`);
122
139
  const services = targetAccessory.services;
123
- this.platform.log.info(` Services: ${services.map(s => s.displayName || s.UUID).join(', ')}`);
124
- const securityService = targetAccessory.getService(this.platform.Service.SecuritySystem);
140
+ this.platform.log.info(` Services: ${services.map((s) => s.displayName || s.UUID).join(', ')}`);
141
+ const securityService = services.find((s) => s.UUID === this.platform.Service.SecuritySystem.UUID);
125
142
  if (!securityService) {
126
143
  this.platform.log.error(`Accessory "${targetAccessory.displayName}" does not have a SecuritySystem service`);
127
144
  this.platform.log.error('Make sure this is the correct alarm accessory.');
128
145
  return;
129
146
  }
130
147
  this.platform.log.info('Found SecuritySystem service');
131
- const targetStateChar = securityService.getCharacteristic(this.platform.Characteristic.SecuritySystemTargetState);
148
+ const targetStateChar = securityService.characteristics.find((c) => c.UUID === this.platform.Characteristic.SecuritySystemTargetState.UUID);
132
149
  if (!targetStateChar) {
133
150
  this.platform.log.error('SecuritySystem service does not have TargetState characteristic');
134
151
  return;
135
152
  }
136
153
  const DISARM = this.platform.Characteristic.SecuritySystemTargetState.DISARM;
137
- await targetStateChar.setValue(DISARM);
154
+ this.platform.log.info(`Setting SecuritySystemTargetState to DISARM (${DISARM})...`);
155
+ targetStateChar.setValue(DISARM);
138
156
  this.platform.log.info(`✓ Successfully sent DISARM command to "${targetAccessory.displayName}"`);
139
157
  }
140
158
  catch (error) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@jay-d-tyler/homebridge-somfy-protect-automate",
3
3
  "displayName": "Somfy Protect Automate",
4
4
  "type": "module",
5
- "version": "1.0.11",
5
+ "version": "1.0.16",
6
6
  "private": false,
7
7
  "description": "A Homebridge plugin that provides a stateless switch to disarm Somfy Protect alarms via automations",
8
8
  "author": "Jay Tyler",
@@ -32,8 +32,8 @@
32
32
  "README.md"
33
33
  ],
34
34
  "engines": {
35
- "node": "^18.17.0 || ^20.9.0 || ^22.0.0",
36
- "homebridge": "^1.6.0 || ^2.0.0-beta.0"
35
+ "node": ">=18.17.0",
36
+ "homebridge": ">=1.6.0"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "rimraf ./dist && tsc",