homebridge-eufy-security 4.4.2-beta.2 → 4.4.2-beta.20

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.
Files changed (147) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/FUNDING.yml +1 -0
  3. package/README.md +14 -17
  4. package/dist/accessories/AutoSyncStationAccessory.js +26 -30
  5. package/dist/accessories/AutoSyncStationAccessory.js.map +1 -1
  6. package/dist/accessories/BaseAccessory.js +33 -46
  7. package/dist/accessories/BaseAccessory.js.map +1 -1
  8. package/dist/accessories/CameraAccessory.js +92 -167
  9. package/dist/accessories/CameraAccessory.js.map +1 -1
  10. package/dist/accessories/Device.js +11 -15
  11. package/dist/accessories/Device.js.map +1 -1
  12. package/dist/accessories/EntrySensorAccessory.js +7 -12
  13. package/dist/accessories/EntrySensorAccessory.js.map +1 -1
  14. package/dist/accessories/LockAccessory.js +20 -24
  15. package/dist/accessories/LockAccessory.js.map +1 -1
  16. package/dist/accessories/MotionSensorAccessory.js +7 -12
  17. package/dist/accessories/MotionSensorAccessory.js.map +1 -1
  18. package/dist/accessories/StationAccessory.js +40 -45
  19. package/dist/accessories/StationAccessory.js.map +1 -1
  20. package/dist/config.js +1 -4
  21. package/dist/config.js.map +1 -1
  22. package/dist/controller/LocalLivestreamManager.js +85 -89
  23. package/dist/controller/LocalLivestreamManager.js.map +1 -1
  24. package/dist/controller/recordingDelegate.js +116 -108
  25. package/dist/controller/recordingDelegate.js.map +1 -1
  26. package/dist/controller/snapshotDelegate.js +379 -0
  27. package/dist/controller/snapshotDelegate.js.map +1 -0
  28. package/dist/controller/streamingDelegate.js +202 -207
  29. package/dist/controller/streamingDelegate.js.map +1 -1
  30. package/dist/index.js +9 -7
  31. package/dist/index.js.map +1 -1
  32. package/dist/interfaces.js +1 -2
  33. package/dist/interfaces.js.map +1 -1
  34. package/dist/platform.js +145 -165
  35. package/dist/platform.js.map +1 -1
  36. package/dist/settings.js +26 -19
  37. package/dist/settings.js.map +1 -1
  38. package/dist/utils/Talkback.js +9 -13
  39. package/dist/utils/Talkback.js.map +1 -1
  40. package/dist/utils/configTypes.js +12 -7
  41. package/dist/utils/configTypes.js.map +1 -1
  42. package/dist/utils/ffmpeg.js +44 -52
  43. package/dist/utils/ffmpeg.js.map +1 -1
  44. package/dist/utils/interfaces.js +1 -5
  45. package/dist/utils/interfaces.js.map +1 -1
  46. package/dist/utils/utils.js +32 -134
  47. package/dist/utils/utils.js.map +1 -1
  48. package/dist/version.js +1 -4
  49. package/dist/version.js.map +1 -1
  50. package/eslint.config.mjs +25 -47
  51. package/homebridge-eufy-security.png +0 -0
  52. package/homebridge-ui/public/app.js +221 -0
  53. package/homebridge-ui/public/assets/devices/eufycam3pro_large.png +0 -0
  54. package/homebridge-ui/public/assets/devices/homebase3_large.png +0 -0
  55. package/homebridge-ui/public/assets/devices/homebasemini_large.jpg +0 -0
  56. package/homebridge-ui/public/assets/devices/indoorcamC210_large.png +0 -0
  57. package/homebridge-ui/public/assets/devices/indoorcamC220_large.png +0 -0
  58. package/homebridge-ui/public/assets/devices/indoorcamE30_large.png +0 -0
  59. package/homebridge-ui/public/assets/devices/solocamc35_large.png +0 -0
  60. package/homebridge-ui/public/assets/devices/solocame30_large.png +0 -0
  61. package/homebridge-ui/public/components/device-card.js +141 -0
  62. package/homebridge-ui/public/components/guard-modes.js +88 -0
  63. package/homebridge-ui/public/components/number-input.js +121 -0
  64. package/homebridge-ui/public/components/select.js +73 -0
  65. package/homebridge-ui/public/components/toggle.js +68 -0
  66. package/homebridge-ui/public/index.html +24 -14
  67. package/homebridge-ui/public/services/api.js +129 -0
  68. package/homebridge-ui/public/services/config.js +144 -0
  69. package/homebridge-ui/public/style.css +705 -0
  70. package/homebridge-ui/public/utils/countries.js +73 -0
  71. package/homebridge-ui/public/utils/device-images.js +69 -0
  72. package/homebridge-ui/public/utils/helpers.js +47 -0
  73. package/homebridge-ui/public/views/dashboard.js +211 -0
  74. package/homebridge-ui/public/views/device-detail.js +631 -0
  75. package/homebridge-ui/public/views/login.js +625 -0
  76. package/homebridge-ui/public/views/settings.js +389 -0
  77. package/homebridge-ui/public/views/unsupported-detail.js +216 -0
  78. package/homebridge-ui/server.js +567 -450
  79. package/package.json +19 -59
  80. package/dist/accessories/AutoSyncStationAccessory.d.ts +0 -42
  81. package/dist/accessories/AutoSyncStationAccessory.d.ts.map +0 -1
  82. package/dist/accessories/BaseAccessory.d.ts +0 -56
  83. package/dist/accessories/BaseAccessory.d.ts.map +0 -1
  84. package/dist/accessories/CameraAccessory.d.ts +0 -84
  85. package/dist/accessories/CameraAccessory.d.ts.map +0 -1
  86. package/dist/accessories/Device.d.ts +0 -19
  87. package/dist/accessories/Device.d.ts.map +0 -1
  88. package/dist/accessories/EntrySensorAccessory.d.ts +0 -25
  89. package/dist/accessories/EntrySensorAccessory.d.ts.map +0 -1
  90. package/dist/accessories/LockAccessory.d.ts +0 -45
  91. package/dist/accessories/LockAccessory.d.ts.map +0 -1
  92. package/dist/accessories/MotionSensorAccessory.d.ts +0 -25
  93. package/dist/accessories/MotionSensorAccessory.d.ts.map +0 -1
  94. package/dist/accessories/StationAccessory.d.ts +0 -86
  95. package/dist/accessories/StationAccessory.d.ts.map +0 -1
  96. package/dist/config.d.ts +0 -31
  97. package/dist/config.d.ts.map +0 -1
  98. package/dist/controller/LocalLivestreamManager.d.ts +0 -31
  99. package/dist/controller/LocalLivestreamManager.d.ts.map +0 -1
  100. package/dist/controller/SnapshotManager.d.ts +0 -64
  101. package/dist/controller/SnapshotManager.d.ts.map +0 -1
  102. package/dist/controller/SnapshotManager.js +0 -434
  103. package/dist/controller/SnapshotManager.js.map +0 -1
  104. package/dist/controller/recordingDelegate.d.ts +0 -27
  105. package/dist/controller/recordingDelegate.d.ts.map +0 -1
  106. package/dist/controller/streamingDelegate.d.ts +0 -52
  107. package/dist/controller/streamingDelegate.d.ts.map +0 -1
  108. package/dist/index.d.ts +0 -7
  109. package/dist/index.d.ts.map +0 -1
  110. package/dist/interfaces.d.ts +0 -15
  111. package/dist/interfaces.d.ts.map +0 -1
  112. package/dist/platform.d.ts +0 -94
  113. package/dist/platform.d.ts.map +0 -1
  114. package/dist/settings.d.ts +0 -23
  115. package/dist/settings.d.ts.map +0 -1
  116. package/dist/utils/Talkback.d.ts +0 -21
  117. package/dist/utils/Talkback.d.ts.map +0 -1
  118. package/dist/utils/configTypes.d.ts +0 -68
  119. package/dist/utils/configTypes.d.ts.map +0 -1
  120. package/dist/utils/ffmpeg.d.ts +0 -111
  121. package/dist/utils/ffmpeg.d.ts.map +0 -1
  122. package/dist/utils/interfaces.d.ts +0 -8
  123. package/dist/utils/interfaces.d.ts.map +0 -1
  124. package/dist/utils/utils.d.ts +0 -35
  125. package/dist/utils/utils.d.ts.map +0 -1
  126. package/dist/version.d.ts +0 -2
  127. package/dist/version.d.ts.map +0 -1
  128. package/homebridge-ui/configui/app/util/types.d.ts +0 -65
  129. package/homebridge-ui/configui/app/util/types.d.ts.map +0 -1
  130. package/homebridge-ui/configui/app/util/types.js +0 -18
  131. package/homebridge-ui/configui/app/util/types.js.map +0 -1
  132. package/homebridge-ui/public/3rdpartylicenses.txt +0 -561
  133. package/homebridge-ui/public/assets/devices/homebase2_large.jpg +0 -0
  134. package/homebridge-ui/public/assets/devices/homebase3_large.jpg +0 -0
  135. package/homebridge-ui/public/assets/images/homebridge-eufy-security.png +0 -0
  136. package/homebridge-ui/public/favicon.ico +0 -0
  137. package/homebridge-ui/public/main.f6423287e0411c87.js +0 -1
  138. package/homebridge-ui/public/polyfills.efa2f09ba3e49167.js +0 -1
  139. package/homebridge-ui/public/runtime.ccde331d62c423b3.js +0 -1
  140. package/homebridge-ui/public/styles.13e635bf7a488639.css +0 -5
  141. package/homebridge-ui/server.d.ts +0 -2
  142. package/homebridge-ui/server.d.ts.map +0 -1
  143. package/homebridge-ui/server.js.map +0 -1
  144. package/homebridge-ui/version.d.ts +0 -2
  145. package/homebridge-ui/version.d.ts.map +0 -1
  146. package/homebridge-ui/version.js +0 -5
  147. package/homebridge-ui/version.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Change Log
2
2
 
3
- You can find the complete detailled changelog for every release [here](https://github.com/homebridge-eufy-security/plugin/releases).
3
+ You can find the complete detailled changelog for every release [here](https://github.com/homebridge-plugins/homebridge-eufy-security/releases).
4
4
 
5
5
  Before transitioning to a major version, it's strongly advised to back up your configuration and begin anew. Major updates have the potential to disrupt automation setups and bridge/unbridge accessory functionalities.
package/FUNDING.yml ADDED
@@ -0,0 +1 @@
1
+ github: [lenoxys]
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="https://github.com/homebridge-eufy-security/plugin"><img src="https://raw.githubusercontent.com/wiki/homebridge-eufy-security/plugin/img/homebridge-eufy-security.png" width="456px"></a>
2
+ <a href="https://github.com/homebridge-plugins/homebridge-eufy-security"><img src="https://raw.githubusercontent.com/wiki/homebridge-eufy-security/plugin/img/homebridge-eufy-security.png" width="456px"></a>
3
3
  </p>
4
4
  <span align="center">
5
5
 
@@ -8,12 +8,9 @@
8
8
  Homebridge plugin to control certain Eufy Security devices
9
9
 
10
10
  [![npm](https://img.shields.io/npm/v/homebridge-eufy-security?color=green)](https://www.npmjs.com/package/homebridge-eufy-security)
11
+ [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/beta?label=beta)](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Special-Version-(BETA---RC---HKSV))
11
12
  [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
12
13
  [![npm](https://img.shields.io/npm/dt/homebridge-eufy-security)](https://www.npmjs.com/package/homebridge-eufy-security)
13
-
14
- [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/rc?label=rc)](https://github.com/homebridge-eufy-security/plugin/wiki/Special-Version-(BETA---RC---HKSV))
15
- [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/beta?label=beta)](https://github.com/homebridge-eufy-security/plugin/wiki/Special-Version-(BETA---RC---HKSV))
16
- [![npm](https://img.shields.io/npm/v/homebridge-eufy-security/hksv?label=hksv)](https://github.com/homebridge-eufy-security/plugin/wiki/Special-Version-(BETA---RC---HKSV))
17
14
  [![Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=hb-discord)](https://discord.com/channels/432663330281226270/876907345962229791)
18
15
 
19
16
  </span>
@@ -30,24 +27,24 @@ Homebridge plugin to control certain Eufy Security devices
30
27
  - For configuration Homebridge UI is recommenend. If you have 2FA enabled it is mandatory.
31
28
 
32
29
  ### ⚠️ Warning
33
- Starting from Node.js versions `18.19.1`, `20.11.1`, and `21.6.2`, the removal of `RSA_PKCS1_PADDING` support breaks Eufy Security's livestream/P2P functionality. We advise against using Node.js versions beyond **v20.11.0** until compatibility with the plugin has been confirmed. If you encounter any issues, consider reverting to the recommended LTS version within the **v20** branch. See [here](https://github.com/homebridge-eufy-security/plugin/wiki/Node.js-Compatibility-with-Eufy-Security-Plugin) for more information.
30
+ Starting from Node.js versions `18.19.1`, `20.11.1`, and `21.6.2`, the removal of `RSA_PKCS1_PADDING` support breaks Eufy Security's livestream/P2P functionality. We advise against using Node.js versions beyond **v20.11.0** until compatibility with the plugin has been confirmed. If you encounter any issues, consider reverting to the recommended LTS version within the **v20** branch. See [here](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Node.js-Compatibility-with-Eufy-Security-Plugin) for more information.
34
31
 
35
32
  #### Setup
36
- * [Installation](https://github.com/homebridge-eufy-security/plugin/wiki/Installation-and-Configuration#installation)
37
- * [Configuration](https://github.com/homebridge-eufy-security/plugin/wiki/Installation-and-Configuration#configuration)
38
- * [Bridged and Unbridged Mode](https://github.com/homebridge-eufy-security/plugin/wiki/Bridged-and-Unbridged-Mode-and-Problems)
39
- * [Beta Version](https://github.com/homebridge-eufy-security/plugin/wiki/Special-Version-(BETA---RC---HKSV))
40
- * [Uninstallation](https://github.com/homebridge-eufy-security/plugin/wiki/Uninstallation)
33
+ * [Installation](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Installation-and-Configuration#installation)
34
+ * [Configuration](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Installation-and-Configuration#configuration)
35
+ * [Bridged and Unbridged Mode](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Bridged-and-Unbridged-Mode-and-Problems)
36
+ * [Beta Version](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Special-Version-(BETA---RC---HKSV))
37
+ * [Uninstallation](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Uninstallation)
41
38
 
42
39
  #### Features
43
- * [Streaming](https://github.com/homebridge-eufy-security/plugin/wiki/Streaming-Settings)
44
- * [HomeKit Secure Video](https://github.com/homebridge-eufy-security/plugin/wiki/HomeKit-Secure-Video)
40
+ * [Streaming](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Streaming-Settings)
41
+ * [HomeKit Secure Video](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/HomeKit-Secure-Video)
45
42
 
46
43
  #### Help
47
- * [Basic Troubleshooting](https://github.com/homebridge-eufy-security/plugin/wiki/Basic-Troubleshooting)
48
- * [Common Issues](https://github.com/homebridge-eufy-security/plugin/wiki/Common-Issues)
49
- * [Support Request](https://github.com/homebridge-eufy-security/plugin/issues/new/choose)
50
- * [Changelog](https://github.com/homebridge-eufy-security/plugin/blob/master/CHANGELOG.md)
44
+ * [Basic Troubleshooting](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Basic-Troubleshooting)
45
+ * [Common Issues](https://github.com/homebridge-plugins/homebridge-eufy-security/wiki/Common-Issues)
46
+ * [Support Request](https://github.com/homebridge-plugins/homebridge-eufy-security/issues/new/choose)
47
+ * [Changelog](https://github.com/homebridge-plugins/homebridge-eufy-security/blob/master/CHANGELOG.md)
51
48
 
52
49
  ### Supporting
53
50
 
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoSyncStationAccessory = void 0;
4
- const eufy_security_client_1 = require("eufy-security-client");
5
- const StationAccessory_1 = require("./StationAccessory");
6
- const utils_1 = require("../utils/utils");
1
+ import { AlarmEvent, GuardMode } from 'eufy-security-client';
2
+ import { StationAccessory } from './StationAccessory.js';
3
+ import { CHAR, SERV, log } from '../utils/utils.js';
7
4
  /**
8
5
  * Platform Auto Accessory
9
6
  * An instance of this class is created for each accessory your platform registers
10
7
  * Each accessory may expose multiple services of different service types.
11
8
  */
12
- class AutoSyncStationAccessory {
9
+ export class AutoSyncStationAccessory {
13
10
  accessory;
14
11
  device;
15
12
  static first = true;
@@ -32,14 +29,14 @@ class AutoSyncStationAccessory {
32
29
  // if it's the first we do create a full station accessory and then store it
33
30
  // if not we need to fire event from Eufy to push to HK and vice versa
34
31
  if (first) {
35
- utils_1.log.debug(`${this.accessory.displayName} Constructed First Station`);
32
+ log.debug(`${this.accessory.displayName} Constructed First Station`);
36
33
  // Create the Station accessory
37
- AutoSyncStationAccessory.first_station = new StationAccessory_1.StationAccessory(platform, accessory, device);
34
+ AutoSyncStationAccessory.first_station = new StationAccessory(platform, accessory, device);
38
35
  this.device.on('guard mode', this.changeModeToAllChilds.bind(this));
39
36
  this.device.on('alarm event', this.fireAlarmToAllChilds.bind(this));
40
37
  }
41
38
  else {
42
- utils_1.log.debug(`${this.accessory.displayName} Constructed Child Station`);
39
+ log.debug(`${this.accessory.displayName} Constructed Child Station`);
43
40
  // Register to Eufy event of all childs
44
41
  this.initChildEventRegister();
45
42
  }
@@ -49,18 +46,18 @@ class AutoSyncStationAccessory {
49
46
  initChildEventRegister() {
50
47
  const first_station = AutoSyncStationAccessory.first_station;
51
48
  this.device.on('current mode', (station, currentMode) => {
52
- utils_1.log.debug(`FWD ${this.name} 'current mode' TO clearTimeout (${currentMode})`);
49
+ log.debug(`FWD ${this.name} 'current mode' TO clearTimeout (${currentMode})`);
53
50
  if (this.guardModeChangeTimeout.timeout) {
54
51
  // If there's an existing timeout, clear it
55
52
  clearTimeout(this.guardModeChangeTimeout.timeout);
56
53
  }
57
54
  });
58
55
  this.device.on('alarm arm delay event', (station, armDelay) => {
59
- utils_1.log.debug(`FWD ${this.name} 'alarm arm delay event' TO ${first_station.name}`);
56
+ log.debug(`FWD ${this.name} 'alarm arm delay event' TO ${first_station.name}`);
60
57
  first_station.onStationAlarmDelayedEvent(station, armDelay);
61
58
  });
62
59
  this.device.on('alarm armed event', () => {
63
- utils_1.log.debug(`FWD ${this.name} 'alarm armed event' TO ${first_station.name}`);
60
+ log.debug(`FWD ${this.name} 'alarm armed event' TO ${first_station.name}`);
64
61
  first_station.onStationAlarmArmedEvent();
65
62
  });
66
63
  this.device.on('alarm event', this.fireAlarmToAllChilds.bind(this));
@@ -69,7 +66,7 @@ class AutoSyncStationAccessory {
69
66
  * Handle requests to set the 'Security System Target State' to all childs
70
67
  */
71
68
  changeModeToAllChilds(station, guardMode) {
72
- utils_1.log.info(`FWD ${this.name} 'guard mode (${eufy_security_client_1.GuardMode[guardMode]})' TO all the childs`);
69
+ log.info(`FWD ${this.name} 'guard mode (${GuardMode[guardMode]})' TO all the childs`);
73
70
  AutoSyncStationAccessory.childs.forEach((child, index) => {
74
71
  if (index === 0) {
75
72
  return;
@@ -86,7 +83,7 @@ class AutoSyncStationAccessory {
86
83
  const first_station = AutoSyncStationAccessory.first_station;
87
84
  const manualAlarmSeconds = first_station.stationConfig.manualAlarmSeconds;
88
85
  // Log the received alarm event
89
- utils_1.log.debug(`RECEIVED ${this.name} 'alarm event' REASON ${eufy_security_client_1.AlarmEvent[alarmEvent]}`);
86
+ log.debug(`RECEIVED ${this.name} 'alarm event' REASON ${AlarmEvent[alarmEvent]}`);
90
87
  // Prevent looping with multiple received events
91
88
  // Reinit after manualAlarmSeconds * 4 / 5
92
89
  if (AutoSyncStationAccessory.alarmFired) {
@@ -94,26 +91,26 @@ class AutoSyncStationAccessory {
94
91
  }
95
92
  else {
96
93
  AutoSyncStationAccessory.alarmFired = true;
97
- utils_1.log.debug(`SET TIMEOUT ${this.name} 'alarm event' REASON ${eufy_security_client_1.AlarmEvent[alarmEvent]} FOR ${manualAlarmSeconds * 4 / 5}sec`);
94
+ log.debug(`SET TIMEOUT ${this.name} 'alarm event' REASON ${AlarmEvent[alarmEvent]} FOR ${manualAlarmSeconds * 4 / 5}sec`);
98
95
  AutoSyncStationAccessory.alarmFiredTimeout.timeout = setTimeout(() => {
99
96
  AutoSyncStationAccessory.alarmFired = false;
100
- utils_1.log.debug(`TIMEOUT ${this.name} 'alarm event' REASON ${eufy_security_client_1.AlarmEvent[alarmEvent]}`);
97
+ log.debug(`TIMEOUT ${this.name} 'alarm event' REASON ${AlarmEvent[alarmEvent]}`);
101
98
  }, manualAlarmSeconds * 4 / 5 * 1000);
102
99
  }
103
100
  // List of alarm events fired to stop alarm
104
101
  const pluginFiredAlarmStopEvents = [
105
- eufy_security_client_1.AlarmEvent.HUB_STOP,
106
- eufy_security_client_1.AlarmEvent.HUB_STOP_BY_APP,
107
- eufy_security_client_1.AlarmEvent.HUB_STOP_BY_HAND,
108
- eufy_security_client_1.AlarmEvent.HUB_STOP_BY_KEYPAD,
109
- eufy_security_client_1.AlarmEvent.DEV_STOP
102
+ AlarmEvent.HUB_STOP,
103
+ AlarmEvent.HUB_STOP_BY_APP,
104
+ AlarmEvent.HUB_STOP_BY_HAND,
105
+ AlarmEvent.HUB_STOP_BY_KEYPAD,
106
+ AlarmEvent.DEV_STOP
110
107
  ];
111
108
  // Check if the alarm event is a plugin-fired alarm stop event
112
109
  if (pluginFiredAlarmStopEvents.includes(alarmEvent)) {
113
110
  return;
114
111
  }
115
- const characteristic = first_station.getService(utils_1.SERV.SecuritySystem)
116
- .getCharacteristic(utils_1.CHAR.SecuritySystemCurrentState);
112
+ const characteristic = first_station.getService(SERV.SecuritySystem)
113
+ .getCharacteristic(CHAR.SecuritySystemCurrentState);
117
114
  first_station.onStationAlarmEventPushNotification(characteristic, alarmEvent);
118
115
  // Iterate over child stations to synchronize the alarm event
119
116
  AutoSyncStationAccessory.childs.forEach(child => {
@@ -122,7 +119,7 @@ class AutoSyncStationAccessory {
122
119
  return; // Already fired by itself so do nothing for him
123
120
  }
124
121
  // Log the forwarded alarm event along with the reason and duration
125
- utils_1.log.debug(`FWD ${this.name} 'alarm event' TO ${child.name} REASON ${eufy_security_client_1.AlarmEvent[alarmEvent]} FOR ${manualAlarmSeconds}sec`);
122
+ log.debug(`FWD ${this.name} 'alarm event' TO ${child.name} REASON ${AlarmEvent[alarmEvent]} FOR ${manualAlarmSeconds}sec`);
126
123
  // Trigger the alarm sound on the child station with the specified duration
127
124
  child.device.triggerStationAlarmSound(manualAlarmSeconds);
128
125
  });
@@ -132,29 +129,28 @@ class AutoSyncStationAccessory {
132
129
  */
133
130
  handleSecuritySystemTargetStateSet(mode) {
134
131
  try {
135
- utils_1.log.debug(`${this.name} SET StationGuardMode Eufy: ${eufy_security_client_1.GuardMode[mode]}(${mode})`);
132
+ log.debug(`${this.name} SET StationGuardMode Eufy: ${GuardMode[mode]}(${mode})`);
136
133
  // Call the device's setGuardMode method to initiate the action
137
134
  this.device.setGuardMode(mode);
138
135
  // Set a new timeout
139
136
  this.guardModeChangeTimeout.timeout = setTimeout(() => {
140
137
  // This code is executed when the timeout elapses, indicating that the action may not have completed yet.
141
138
  // You can include a message indicating that the action is being retried.
142
- utils_1.log.warn(`${this.accessory.displayName} Changing guard mode to ${eufy_security_client_1.GuardMode[mode]} did not complete. Retry...'`);
139
+ log.warn(`${this.accessory.displayName} Changing guard mode to ${GuardMode[mode]} did not complete. Retry...'`);
143
140
  // Call the device's setGuardMode method to initiate the action
144
141
  this.device.setGuardMode(mode);
145
142
  // Set a secondary timeout for retry, if needed
146
143
  const retryTimeout = setTimeout(() => {
147
144
  // This code is executed if the retry also times out, indicating a failure.
148
- utils_1.log.error(`${this.accessory.displayName} Changing guard mode to ${eufy_security_client_1.GuardMode[mode]} timed out!`);
145
+ log.error(`${this.accessory.displayName} Changing guard mode to ${GuardMode[mode]} timed out!`);
149
146
  }, this.guardModeChangeTimeout.delay);
150
147
  // Store the retry timeout as part of guardModeChangeTimeout
151
148
  this.guardModeChangeTimeout.timeout = retryTimeout;
152
149
  }, this.guardModeChangeTimeout.delay);
153
150
  }
154
151
  catch (error) {
155
- utils_1.log.error(`${this.name} Error Setting security mode! ${error}`);
152
+ log.error(`${this.name} Error Setting security mode! ${error}`);
156
153
  }
157
154
  }
158
155
  }
159
- exports.AutoSyncStationAccessory = AutoSyncStationAccessory;
160
156
  //# sourceMappingURL=AutoSyncStationAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoSyncStationAccessory.js","sourceRoot":"","sources":["../../src/plugin/accessories/AutoSyncStationAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoSyncStationAccessory.js","sourceRoot":"","sources":["../../src/accessories/AutoSyncStationAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseAccessory = void 0;
4
- const eufy_security_client_1 = require("eufy-security-client");
5
- const events_1 = require("events");
6
- const utils_1 = require("../utils/utils");
1
+ import { DeviceType } from 'eufy-security-client';
2
+ import { EventEmitter } from 'events';
3
+ import { CHAR, SERV, log } from '../utils/utils.js';
7
4
  /**
8
5
  * Determine if the serviceType is an instance of Service.
9
6
  *
@@ -11,10 +8,9 @@ const utils_1 = require("../utils/utils");
11
8
  * @returns {boolean} Returns true if the serviceType is an instance of Service, otherwise false.
12
9
  */
13
10
  function isServiceInstance(serviceType) {
14
- // eslint-disable-next-line
15
11
  return typeof serviceType === 'object';
16
12
  }
17
- class BaseAccessory extends events_1.EventEmitter {
13
+ export class BaseAccessory extends EventEmitter {
18
14
  platform;
19
15
  accessory;
20
16
  device;
@@ -22,9 +18,7 @@ class BaseAccessory extends events_1.EventEmitter {
22
18
  SN;
23
19
  name;
24
20
  log;
25
- constructor(platform, accessory,
26
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- device) {
21
+ constructor(platform, accessory, device) {
28
22
  super();
29
23
  this.platform = platform;
30
24
  this.accessory = accessory;
@@ -32,40 +26,45 @@ class BaseAccessory extends events_1.EventEmitter {
32
26
  this.device = device;
33
27
  this.SN = this.device.getSerial();
34
28
  this.name = this.device.getName();
35
- this.log = utils_1.log.getSubLogger({
29
+ this.log = log.getSubLogger({
36
30
  name: '',
37
31
  prefix: [this.name],
38
32
  });
39
33
  this.registerCharacteristic({
40
- serviceType: utils_1.SERV.AccessoryInformation,
41
- characteristicType: utils_1.CHAR.Manufacturer,
34
+ serviceType: SERV.AccessoryInformation,
35
+ characteristicType: CHAR.Manufacturer,
42
36
  getValue: () => 'Eufy',
43
37
  });
44
38
  this.registerCharacteristic({
45
- serviceType: utils_1.SERV.AccessoryInformation,
46
- characteristicType: utils_1.CHAR.Name,
39
+ serviceType: SERV.AccessoryInformation,
40
+ characteristicType: CHAR.Name,
47
41
  getValue: () => this.name || 'Unknowm',
48
42
  });
49
43
  this.registerCharacteristic({
50
- serviceType: utils_1.SERV.AccessoryInformation,
51
- characteristicType: utils_1.CHAR.Model,
52
- getValue: () => eufy_security_client_1.DeviceType[this.device.getDeviceType()] || 'Unknowm',
44
+ serviceType: SERV.AccessoryInformation,
45
+ characteristicType: CHAR.Model,
46
+ getValue: () => DeviceType[this.device.getDeviceType()] || 'Unknowm',
53
47
  });
54
48
  this.registerCharacteristic({
55
- serviceType: utils_1.SERV.AccessoryInformation,
56
- characteristicType: utils_1.CHAR.SerialNumber,
49
+ serviceType: SERV.AccessoryInformation,
50
+ characteristicType: CHAR.SerialNumber,
57
51
  getValue: () => this.SN || 'Unknowm',
58
52
  });
59
53
  this.registerCharacteristic({
60
- serviceType: utils_1.SERV.AccessoryInformation,
61
- characteristicType: utils_1.CHAR.FirmwareRevision,
54
+ serviceType: SERV.AccessoryInformation,
55
+ characteristicType: CHAR.FirmwareRevision,
62
56
  getValue: () => this.device.getSoftwareVersion() || 'Unknowm',
63
57
  });
64
58
  this.registerCharacteristic({
65
- serviceType: utils_1.SERV.AccessoryInformation,
66
- characteristicType: utils_1.CHAR.HardwareRevision,
59
+ serviceType: SERV.AccessoryInformation,
60
+ characteristicType: CHAR.HardwareRevision,
67
61
  getValue: () => this.device.getHardwareVersion() || 'Unknowm',
68
62
  });
63
+ // Cameras accumulate many listeners (property changes, events, snapshots, streaming).
64
+ // Raise limit to prevent MaxListenersExceededWarning in Node 22+.
65
+ if (typeof this.device.setMaxListeners === 'function') {
66
+ this.device.setMaxListeners(30);
67
+ }
69
68
  if (this.platform.config.enableDetailedLogging) {
70
69
  this.device.on('raw property changed', this.handleRawPropertyChange.bind(this));
71
70
  this.device.on('property changed', this.handlePropertyChange.bind(this));
@@ -76,11 +75,9 @@ class BaseAccessory extends events_1.EventEmitter {
76
75
  logPropertyKeys() {
77
76
  this.log.debug(`Property Keys:`, this.device.getProperties());
78
77
  }
79
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
78
  handleRawPropertyChange(device, type, value) {
81
79
  this.log.debug(`Raw Property Changes:`, type, value);
82
80
  }
83
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
81
  handlePropertyChange(device, name, value) {
85
82
  this.log.debug(`Property Changes:`, name, value);
86
83
  }
@@ -122,7 +119,6 @@ class BaseAccessory extends events_1.EventEmitter {
122
119
  });
123
120
  }
124
121
  if (onSimpleValue) {
125
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
122
  this.device.on(onSimpleValue, (device, value) => {
127
123
  this.log.info(`ON '${serviceType.name} / ${characteristicType.name} / ${onSimpleValue}':`, value);
128
124
  characteristic.updateValue(value);
@@ -135,7 +131,6 @@ class BaseAccessory extends events_1.EventEmitter {
135
131
  if (onMultipleValue) {
136
132
  // Attach the common event handler to each event type
137
133
  onMultipleValue.forEach(eventType => {
138
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
134
  this.device.on(eventType, (device, value) => {
140
135
  this.log.info(`ON '${serviceType.name} / ${characteristicType.name} / ${eventType}':`, value);
141
136
  characteristic.updateValue(value);
@@ -170,8 +165,16 @@ class BaseAccessory extends events_1.EventEmitter {
170
165
  return service;
171
166
  }
172
167
  pruneUnusedServices() {
168
+ // Services managed by CameraController must never be pruned.
169
+ // CameraController creates these automatically during configureController()
170
+ // and they are not tracked in servicesInUse.
173
171
  const safeServiceUUIDs = [
174
- utils_1.SERV.CameraRTPStreamManagement.UUID,
172
+ SERV.CameraRTPStreamManagement.UUID, // 00000110
173
+ '0000021A-0000-1000-8000-0026BB765291', // CameraOperatingMode (HKSV)
174
+ '00000204-0000-1000-8000-0026BB765291', // CameraRecordingManagement (HKSV)
175
+ '00000129-0000-1000-8000-0026BB765291', // DataStreamTransportManagement (HKSV)
176
+ SERV.Microphone.UUID, // 00000112 (created by CameraController)
177
+ SERV.Speaker.UUID, // 00000113 (created by CameraController)
175
178
  ];
176
179
  this.accessory.services.forEach((service) => {
177
180
  if (!this.servicesInUse.includes(service) &&
@@ -181,21 +184,5 @@ class BaseAccessory extends events_1.EventEmitter {
181
184
  }
182
185
  });
183
186
  }
184
- handleDummyEventGet(serviceName) {
185
- const characteristicValues = {
186
- 'EventSnapshotsActive': utils_1.CHAR.EventSnapshotsActive.DISABLE,
187
- 'HomeKitCameraActive': utils_1.CHAR.HomeKitCameraActive.OFF,
188
- };
189
- const currentValue = characteristicValues[serviceName];
190
- if (currentValue === undefined) {
191
- throw new Error(`Invalid serviceName: ${serviceName}`);
192
- }
193
- this.log.debug(`IGNORE GET ${serviceName}: ${currentValue}`);
194
- return Promise.resolve(currentValue);
195
- }
196
- handleDummyEventSet(serviceName, value) {
197
- this.log.debug(`IGNORE SET ${serviceName}: ${value}`);
198
- }
199
187
  }
200
- exports.BaseAccessory = BaseAccessory;
201
188
  //# sourceMappingURL=BaseAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAccessory.js","sourceRoot":"","sources":["../../src/plugin/accessories/BaseAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAccessory.js","sourceRoot":"","sources":["../../src/accessories/BaseAccessory.ts"],"names":[],"mappings":"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"}