@homebridge-plugins/homebridge-eufy-security 4.6.1-beta.0 → 4.6.1-beta.2

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/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const LIB_VERSION = "4.6.1-beta.0";
1
+ export const LIB_VERSION = "4.6.1-beta.2";
2
2
  //# sourceMappingURL=version.js.map
@@ -27,6 +27,7 @@ const DeviceCard = {
27
27
  const d = opts.device;
28
28
  const isUnsupported = d.unsupported === true;
29
29
  const isIgnored = d.ignored === true;
30
+ const isKeypad = d.isKeypad === true;
30
31
 
31
32
  const col = document.createElement('div');
32
33
  col.className = 'col-6 col-md-4 col-lg-3 mb-3';
@@ -94,8 +95,8 @@ const DeviceCard = {
94
95
 
95
96
  metaRow.appendChild(meta);
96
97
 
97
- // Toggle — inline with meta, only for non-unsupported devices
98
- if (!isUnsupported) {
98
+ // Toggle — inline with meta, only for non-unsupported, non-keypad devices
99
+ if (!isUnsupported && !isKeypad) {
99
100
  const switchWrap = document.createElement('div');
100
101
  switchWrap.className = 'form-check form-switch mb-0';
101
102
  switchWrap.addEventListener('click', (e) => e.stopPropagation());
@@ -126,7 +127,13 @@ const DeviceCard = {
126
127
  const badgeArea = document.createElement('div');
127
128
  let hasBadge = false;
128
129
 
129
- if (isUnsupported) {
130
+ if (isKeypad) {
131
+ const badge = document.createElement('span');
132
+ badge.className = 'badge bg-secondary';
133
+ badge.textContent = 'Not available for HomeKit';
134
+ badgeArea.appendChild(badge);
135
+ hasBadge = true;
136
+ } else if (isUnsupported) {
130
137
  const badge = document.createElement('span');
131
138
  badge.className = 'badge badge-unsupported';
132
139
  badge.textContent = 'Not Supported';
@@ -150,10 +157,15 @@ const DeviceCard = {
150
157
  card.appendChild(body);
151
158
  if (hasBadge) card.appendChild(footer);
152
159
 
153
- // Click handler — navigate to detail
154
- card.addEventListener('click', () => {
155
- if (opts.onClick) opts.onClick(d);
156
- });
160
+ // Click handler — navigate to detail (disabled for keypads)
161
+ if (isKeypad) {
162
+ card.style.cursor = 'default';
163
+ card.title = 'Keypads have no configurable HomeKit settings. The keypad works alongside your station but cannot be exposed to HomeKit.';
164
+ } else {
165
+ card.addEventListener('click', () => {
166
+ if (opts.onClick) opts.onClick(d);
167
+ });
168
+ }
157
169
 
158
170
  col.appendChild(card);
159
171
  if (container) container.appendChild(col);
@@ -43,6 +43,12 @@ const DeviceDetailView = {
43
43
  return;
44
44
  }
45
45
 
46
+ // Keypads have no configurable HomeKit settings — redirect back to dashboard
47
+ if (accessory.isKeypad === true) {
48
+ App.navigate('dashboard');
49
+ return;
50
+ }
51
+
46
52
  // Header with back button + device image
47
53
  this._renderHeader(container, accessory, type);
48
54
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Eufy Security",
3
3
  "name": "@homebridge-plugins/homebridge-eufy-security",
4
- "version": "4.6.1-beta.0",
4
+ "version": "4.6.1-beta.2",
5
5
  "description": "Control Eufy Security from homebridge.",
6
6
  "type": "module",
7
7
  "license": "Apache-2.0",