@viguza/homebridge-ezviz 1.8.0 → 1.8.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.
@@ -9,7 +9,8 @@
9
9
  "Bash(npm test *)",
10
10
  "Bash(npm run *)",
11
11
  "Bash(grep -v \"^$\")",
12
- "Bash(npm list *)"
12
+ "Bash(npm list *)",
13
+ "WebFetch(domain:api.github.com)"
13
14
  ]
14
15
  }
15
16
  }
package/CHANGELOG.md CHANGED
@@ -19,6 +19,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
19
19
  ### Removed
20
20
  - Nothing yet
21
21
 
22
+ ## [1.8.2] - 2026-08-31
23
+
24
+ ### Fixed
25
+ - Homebridge "read handler for the characteristic 'On' was slow to respond / didn't respond at all" warnings (#32): reads of the smart plug and alarm mode switches went straight to the EZVIZ cloud and waited for a reply, exceeding the 9 s HomeKit read budget
26
+ - All HTTP requests now use a 5 s timeout; previously they were unbounded, so a stalled connection hung until the OS TCP timeout
27
+ - The alarm mode switch no longer reports the alarm as disarmed when a state read fails; an unreachable device now shows "No Response" instead of a stale or wrong value
28
+
29
+ ### Changed
30
+ - Smart plug and alarm mode switches answer HomeKit reads from cached state and refresh in the background every 60 s, pushing updates with `updateCharacteristic` (the pattern the motion sensor already used)
31
+ - The device list is cached for 30 s and concurrent callers share a single request, so reading state no longer triggers one full account listing per accessory; the cache is invalidated after a write
32
+
33
+ ## [1.8.1] - 2026-05-31
34
+
35
+ ### Fixed
36
+ - MQTT events not received: the EZVIZ broker does not reliably deliver QoS 2 messages via MQTT.js; switched to QoS 1, which resolves the issue
37
+ - MQTT keepalive set to 30 s to avoid the broker's 60 s server-side timeout dropping the connection every minute
38
+ - Subscription is now skipped on reconnects where the broker restores a stored session (`sessionPresent=true`), matching pyEzvizApi behaviour
39
+
40
+ ### Changed
41
+ - MQTT and polling now run in parallel: MQTT fires motion events immediately, polling continues as a 30 s fallback (previously polling was stopped when MQTT connected)
42
+ - Motion window reduced from 90 s to 60 s
43
+ - `triggerMotion` is now idempotent — only emits the HomeKit update once per motion event and resets the auto-clear timer on repeated calls
44
+ - Debug logging added for MQTT register/startPush responses, raw message topic, subscribe grant, `sessionPresent`, and connection lifecycle events
45
+
22
46
  ## [1.8.0] - 2026-05-31
23
47
 
24
48
  ### Added
package/README.md CHANGED
@@ -122,7 +122,7 @@ Add the following to your Homebridge `config.json` file:
122
122
  | `serial` | string | Yes | Camera serial number |
123
123
  | `username` | string | Yes | Camera username (usually "admin") |
124
124
  | `code` | string | Yes | Camera verification code |
125
- | `motionSensor` | boolean | No | Creates a motion sensor accessory (polls alarm history every 30 s) |
125
+ | `motionSensor` | boolean | No | Creates a motion sensor accessory — uses MQTT real-time push for instant alerts, with 30 s polling as fallback |
126
126
  | `dualCamera` | boolean | No | Enable for devices with two physical lenses (e.g. H9c) |
127
127
 
128
128
  ### Smart Plug Configuration
@@ -10,6 +10,10 @@ export declare class AlarmModeSwitch {
10
10
  private readonly platform;
11
11
  private readonly accessory;
12
12
  private api;
13
+ private readonly alarmService;
14
+ private currentState;
15
+ private reachable;
16
+ private refreshTimer;
13
17
  constructor(api: EZVIZAPI, platform: EZVIZPlatform, accessory: PlatformAccessory);
14
18
  /**
15
19
  * Sets the alarm mode (defence mode) on/off
@@ -17,10 +21,19 @@ export declare class AlarmModeSwitch {
17
21
  */
18
22
  setAlarmMode(value: CharacteristicValue): Promise<void>;
19
23
  /**
20
- * Gets the current alarm mode (defence mode) state
21
- * @returns Promise resolving to the current state (true = armed, false = disarmed)
24
+ * Returns the last known alarm mode without blocking on the network.
25
+ * Reports a communication failure when the most recent refresh failed, rather than
26
+ * reporting the alarm as disarmed when its real state is unknown.
22
27
  */
23
- getAlarmMode(): Promise<CharacteristicValue>;
28
+ getAlarmMode(): CharacteristicValue;
29
+ /**
30
+ * Refreshes the cached defence mode in the background and pushes any change to HomeKit
31
+ */
32
+ private refreshState;
33
+ /**
34
+ * Stops the background state refresh
35
+ */
36
+ stopPolling(): void;
24
37
  /**
25
38
  * Gets the accessory instance
26
39
  * @returns The platform accessory
@@ -1,5 +1,6 @@
1
1
  import { DefenceMode } from '../utils/enums.js';
2
2
  import { DEFAULT_GROUP_ID } from '../api/ezviz-constants.js';
3
+ const STATE_REFRESH_INTERVAL_MS = 60_000;
3
4
  /**
4
5
  * Alarm Mode Switch accessory for EZVIZ
5
6
  * Handles on/off functionality for alarm/defence mode
@@ -9,6 +10,10 @@ export class AlarmModeSwitch {
9
10
  platform;
10
11
  accessory;
11
12
  api;
13
+ alarmService;
14
+ currentState = false;
15
+ reachable = true;
16
+ refreshTimer = null;
12
17
  constructor(api, platform, accessory) {
13
18
  this.platform = platform;
14
19
  this.accessory = accessory;
@@ -19,13 +24,16 @@ export class AlarmModeSwitch {
19
24
  .setCharacteristic(this.platform.Characteristic.Model, 'Alarm Mode Switch')
20
25
  .setCharacteristic(this.platform.Characteristic.SerialNumber, 'EZVIZ-AlarmMode');
21
26
  // Set up the switch service
22
- const alarmService = this.accessory.getService(this.platform.Service.Switch) ||
27
+ this.alarmService = this.accessory.getService(this.platform.Service.Switch) ||
23
28
  this.accessory.addService(this.platform.Service.Switch, 'Alarm Mode');
24
- alarmService.setCharacteristic(this.platform.Characteristic.Name, 'Alarm Mode');
25
- // Set up event handlers
26
- alarmService.getCharacteristic(this.platform.Characteristic.On)
29
+ this.alarmService.setCharacteristic(this.platform.Characteristic.Name, 'Alarm Mode');
30
+ // Set up event handlers. The read answers from cached state so it never waits on
31
+ // the network — HomeKit abandons a read that takes longer than 9s.
32
+ this.alarmService.getCharacteristic(this.platform.Characteristic.On)
27
33
  .onSet(this.setAlarmMode.bind(this))
28
34
  .onGet(this.getAlarmMode.bind(this));
35
+ this.refreshState();
36
+ this.refreshTimer = setInterval(() => this.refreshState(), STATE_REFRESH_INTERVAL_MS);
29
37
  }
30
38
  /**
31
39
  * Sets the alarm mode (defence mode) on/off
@@ -36,6 +44,8 @@ export class AlarmModeSwitch {
36
44
  // ON = AWAY_MODE (2) = fully armed, OFF = HOME_MODE (1) = disarmed
37
45
  const mode = value ? DefenceMode.AWAY_MODE : DefenceMode.HOME_MODE;
38
46
  await this.api.setDefenceMode(DEFAULT_GROUP_ID, mode);
47
+ this.currentState = mode === DefenceMode.AWAY_MODE;
48
+ this.reachable = true;
39
49
  this.platform.log.debug(`Successfully set alarm mode to ${value ? 'AWAY_MODE (armed)' : 'HOME_MODE (disarmed)'}`);
40
50
  }
41
51
  catch (error) {
@@ -44,21 +54,43 @@ export class AlarmModeSwitch {
44
54
  }
45
55
  }
46
56
  /**
47
- * Gets the current alarm mode (defence mode) state
48
- * @returns Promise resolving to the current state (true = armed, false = disarmed)
57
+ * Returns the last known alarm mode without blocking on the network.
58
+ * Reports a communication failure when the most recent refresh failed, rather than
59
+ * reporting the alarm as disarmed when its real state is unknown.
49
60
  */
50
- async getAlarmMode() {
61
+ getAlarmMode() {
62
+ if (!this.reachable) {
63
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
64
+ }
65
+ return this.currentState;
66
+ }
67
+ /**
68
+ * Refreshes the cached defence mode in the background and pushes any change to HomeKit
69
+ */
70
+ async refreshState() {
51
71
  try {
52
72
  const mode = await this.api.getDefenceMode(DEFAULT_GROUP_ID);
53
- // Return true if mode is AWAY_MODE (fully armed), false otherwise
73
+ // Switch is ON only when mode is AWAY_MODE (fully armed)
54
74
  const isArmed = mode === DefenceMode.AWAY_MODE;
55
- this.platform.log.debug(`Current alarm mode: ${DefenceMode[mode]} (${mode}), switch is ${isArmed ? 'ON' : 'OFF'}`);
56
- return isArmed;
75
+ this.reachable = true;
76
+ if (isArmed !== this.currentState) {
77
+ this.currentState = isArmed;
78
+ this.alarmService.updateCharacteristic(this.platform.Characteristic.On, isArmed);
79
+ this.platform.log.debug(`Current alarm mode: ${DefenceMode[mode]} (${mode}), switch is ${isArmed ? 'ON' : 'OFF'}`);
80
+ }
57
81
  }
58
82
  catch (error) {
83
+ this.reachable = false;
59
84
  this.platform.log.error('Unable to get alarm mode:', error);
60
- // Return false (disarmed) as default on error
61
- return false;
85
+ }
86
+ }
87
+ /**
88
+ * Stops the background state refresh
89
+ */
90
+ stopPolling() {
91
+ if (this.refreshTimer) {
92
+ clearInterval(this.refreshTimer);
93
+ this.refreshTimer = null;
62
94
  }
63
95
  }
64
96
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"alarm-mode-switch.js","sourceRoot":"","sources":["../../src/accessories/alarm-mode-switch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alarm-mode-switch.js","sourceRoot":"","sources":["../../src/accessories/alarm-mode-switch.ts"],"names":[],"mappings":"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"}
@@ -12,14 +12,10 @@ export declare class MotionSensor {
12
12
  private usingMqtt;
13
13
  private pollInterval;
14
14
  constructor(api: EZVIZAPI, platform: EZVIZPlatform, accessory: PlatformAccessory);
15
- /**
16
- * Called by the MQTT client when a push event arrives for this camera.
17
- * Switches the sensor to MQTT mode — polling continues as a fallback
18
- * but won't trigger motion once MQTT is active.
19
- */
20
- onMqttAlarm(alarmTime: number): void;
15
+ onMqttAlarm(): void;
21
16
  stopPolling(): void;
22
17
  private get serial();
23
18
  private triggerMotion;
19
+ private clearMotion;
24
20
  private poll;
25
21
  }
@@ -1,5 +1,5 @@
1
1
  const POLL_INTERVAL_MS = 30_000;
2
- const MOTION_WINDOW_MS = 90_000;
2
+ const MOTION_WINDOW_MS = 60_000;
3
3
  export class MotionSensor {
4
4
  api;
5
5
  platform;
@@ -26,65 +26,58 @@ export class MotionSensor {
26
26
  this.poll();
27
27
  this.pollInterval = setInterval(() => this.poll(), POLL_INTERVAL_MS);
28
28
  }
29
- /**
30
- * Called by the MQTT client when a push event arrives for this camera.
31
- * Switches the sensor to MQTT mode — polling continues as a fallback
32
- * but won't trigger motion once MQTT is active.
33
- */
34
- onMqttAlarm(alarmTime) {
35
- if (!this.usingMqtt) {
36
- this.usingMqtt = true;
37
- // MQTT confirmed working — stop the polling interval
38
- if (this.pollInterval) {
39
- clearInterval(this.pollInterval);
40
- this.pollInterval = null;
41
- this.platform.log.debug(`${this.accessory.displayName}: polling stopped, using MQTT`);
42
- }
43
- }
44
- if (alarmTime !== this.lastSeenAlarmTime) {
45
- this.lastSeenAlarmTime = alarmTime;
46
- this.triggerMotion();
47
- }
29
+ // Called by MQTT — real-time push, trigger immediately regardless of timestamp.
30
+ onMqttAlarm() {
31
+ this.usingMqtt = true;
32
+ this.triggerMotion();
48
33
  }
49
34
  stopPolling() {
50
35
  if (this.pollInterval) {
51
36
  clearInterval(this.pollInterval);
52
37
  this.pollInterval = null;
53
- this.usingMqtt = true;
54
- this.platform.log.debug(`${this.accessory.displayName}: polling stopped, using MQTT`);
38
+ this.platform.log.debug(`${this.accessory.displayName}: polling stopped`);
55
39
  }
56
40
  }
57
41
  get serial() {
58
42
  return this.accessory.context.serial;
59
43
  }
60
44
  triggerMotion() {
45
+ // Reset the 60s auto-clear window from now
61
46
  if (this.clearTimer) {
62
47
  clearTimeout(this.clearTimer);
63
48
  }
64
- this.motionDetected = true;
65
- this.service.updateCharacteristic(this.platform.Characteristic.MotionDetected, true);
66
- this.platform.log.info(`${this.accessory.displayName}: motion detected${this.usingMqtt ? ' (MQTT)' : ''}`);
67
- this.clearTimer = setTimeout(() => {
68
- this.motionDetected = false;
69
- this.service.updateCharacteristic(this.platform.Characteristic.MotionDetected, false);
70
- this.platform.log.debug(`${this.accessory.displayName}: motion cleared`);
71
- }, MOTION_WINDOW_MS);
49
+ this.clearTimer = setTimeout(() => this.clearMotion(), MOTION_WINDOW_MS);
50
+ if (!this.motionDetected) {
51
+ this.motionDetected = true;
52
+ this.service.updateCharacteristic(this.platform.Characteristic.MotionDetected, true);
53
+ this.platform.log.info(`${this.accessory.displayName}: motion detected${this.usingMqtt ? ' (MQTT)' : ''}`);
54
+ }
72
55
  }
56
+ clearMotion() {
57
+ if (this.clearTimer) {
58
+ clearTimeout(this.clearTimer);
59
+ this.clearTimer = null;
60
+ }
61
+ this.motionDetected = false;
62
+ this.service.updateCharacteristic(this.platform.Characteristic.MotionDetected, false);
63
+ this.platform.log.debug(`${this.accessory.displayName}: motion cleared`);
64
+ }
65
+ // Poll uses change detection: trigger when the REST API alarm timestamp changes,
66
+ // regardless of how old that timestamp is. Clears are handled by the timer only.
73
67
  async poll() {
74
- // When MQTT is active, polling still runs but only initialises state — no triggering
75
68
  try {
76
69
  const alarmTime = await this.api.getLastAlarmTime(this.serial);
70
+ if (alarmTime === null) {
71
+ return;
72
+ }
77
73
  if (this.lastSeenAlarmTime === undefined) {
78
74
  this.lastSeenAlarmTime = alarmTime;
79
75
  this.platform.log.debug(`${this.accessory.displayName}: initialised alarmTime=${alarmTime}`);
80
76
  return;
81
77
  }
82
- const isNew = alarmTime !== null && alarmTime !== this.lastSeenAlarmTime;
83
- this.platform.log.debug(`${this.accessory.displayName}: alarmTime=${alarmTime} lastSeen=${this.lastSeenAlarmTime} newAlarm=${isNew}`);
84
- if (alarmTime !== null) {
78
+ if (alarmTime !== this.lastSeenAlarmTime) {
79
+ this.platform.log.debug(`${this.accessory.displayName}: new alarm via poll (${this.lastSeenAlarmTime} → ${alarmTime})`);
85
80
  this.lastSeenAlarmTime = alarmTime;
86
- }
87
- if (isNew) {
88
81
  this.triggerMotion();
89
82
  }
90
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"motion-sensor.js","sourceRoot":"","sources":["../../src/accessories/motion-sensor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"motion-sensor.js","sourceRoot":"","sources":["../../src/accessories/motion-sensor.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ export declare class SmartPlug {
9
9
  private readonly platform;
10
10
  private readonly accessory;
11
11
  private api;
12
+ private readonly plugService;
13
+ private currentState;
14
+ private reachable;
15
+ private refreshTimer;
12
16
  constructor(api: EZVIZAPI, platform: EZVIZPlatform, accessory: PlatformAccessory);
13
17
  /**
14
18
  * Sets the on/off state of the smart plug
@@ -16,10 +20,19 @@ export declare class SmartPlug {
16
20
  */
17
21
  setOnState(value: CharacteristicValue): Promise<void>;
18
22
  /**
19
- * Gets the current on/off state of the smart plug
20
- * @returns Promise resolving to the current state
23
+ * Returns the last known on/off state without blocking on the network.
24
+ * Reports a communication failure when the most recent refresh could not reach
25
+ * the device, so HomeKit shows "No Response" instead of a stale value.
21
26
  */
22
- getOnState(): Promise<CharacteristicValue>;
27
+ getOnState(): CharacteristicValue;
28
+ /**
29
+ * Refreshes the cached state in the background and pushes any change to HomeKit
30
+ */
31
+ private refreshState;
32
+ /**
33
+ * Stops the background state refresh
34
+ */
35
+ stopPolling(): void;
23
36
  /**
24
37
  * Gets the accessory instance
25
38
  * @returns The platform accessory
@@ -1,4 +1,5 @@
1
1
  import { SwitchTypes } from '../utils/enums.js';
2
+ const STATE_REFRESH_INTERVAL_MS = 60_000;
2
3
  /**
3
4
  * Smart Plug accessory for EZVIZ devices
4
5
  * Handles on/off functionality for smart plugs
@@ -7,6 +8,10 @@ export class SmartPlug {
7
8
  platform;
8
9
  accessory;
9
10
  api;
11
+ plugService;
12
+ currentState = false;
13
+ reachable = true;
14
+ refreshTimer = null;
10
15
  constructor(api, platform, accessory) {
11
16
  this.platform = platform;
12
17
  this.accessory = accessory;
@@ -17,13 +22,16 @@ export class SmartPlug {
17
22
  .setCharacteristic(this.platform.Characteristic.Model, accessory.context.device.DeviceInfo.deviceSubCategory)
18
23
  .setCharacteristic(this.platform.Characteristic.SerialNumber, this.accessory.context.device.Serial);
19
24
  // Set up the switch service
20
- const plugService = this.accessory.getService(this.platform.Service.Switch) ||
25
+ this.plugService = this.accessory.getService(this.platform.Service.Switch) ||
21
26
  this.accessory.addService(this.platform.Service.Switch);
22
- plugService.setCharacteristic(this.platform.Characteristic.Name, this.accessory.context.device.Name);
23
- // Set up event handlers
24
- plugService.getCharacteristic(this.platform.Characteristic.On)
27
+ this.plugService.setCharacteristic(this.platform.Characteristic.Name, this.accessory.context.device.Name);
28
+ // Set up event handlers. The read answers from cached state so it never waits on
29
+ // the network — HomeKit abandons a read that takes longer than 9s.
30
+ this.plugService.getCharacteristic(this.platform.Characteristic.On)
25
31
  .onSet(this.setOnState.bind(this))
26
32
  .onGet(this.getOnState.bind(this));
33
+ this.refreshState();
34
+ this.refreshTimer = setInterval(() => this.refreshState(), STATE_REFRESH_INTERVAL_MS);
27
35
  }
28
36
  /**
29
37
  * Sets the on/off state of the smart plug
@@ -33,6 +41,8 @@ export class SmartPlug {
33
41
  try {
34
42
  const action = value ? true : false;
35
43
  await this.api.setSwitchState(this.accessory.context.device.Serial, SwitchTypes.On, action);
44
+ this.currentState = action;
45
+ this.reachable = true;
36
46
  this.platform.log.debug(`Successfully set ${this.accessory.context.device.Name} to ${action ? 'ON' : 'OFF'}`);
37
47
  }
38
48
  catch (error) {
@@ -41,18 +51,41 @@ export class SmartPlug {
41
51
  }
42
52
  }
43
53
  /**
44
- * Gets the current on/off state of the smart plug
45
- * @returns Promise resolving to the current state
54
+ * Returns the last known on/off state without blocking on the network.
55
+ * Reports a communication failure when the most recent refresh could not reach
56
+ * the device, so HomeKit shows "No Response" instead of a stale value.
46
57
  */
47
- async getOnState() {
58
+ getOnState() {
59
+ if (!this.reachable) {
60
+ throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
61
+ }
62
+ return this.currentState;
63
+ }
64
+ /**
65
+ * Refreshes the cached state in the background and pushes any change to HomeKit
66
+ */
67
+ async refreshState() {
48
68
  try {
49
69
  const state = await this.api.getSwitchState(this.accessory.context.device.Serial, SwitchTypes.On);
50
- this.platform.log.debug(`${this.accessory.context.device.Name} is currently ${state ? 'ON' : 'OFF'}`);
51
- return state;
70
+ this.reachable = true;
71
+ if (state !== this.currentState) {
72
+ this.currentState = state;
73
+ this.plugService.updateCharacteristic(this.platform.Characteristic.On, state);
74
+ this.platform.log.debug(`${this.accessory.context.device.Name} is now ${state ? 'ON' : 'OFF'}`);
75
+ }
52
76
  }
53
77
  catch (error) {
78
+ this.reachable = false;
54
79
  this.platform.log.error(`${this.accessory.context.device.Name} (${this.accessory.context.device.Serial}) seems to be unreachable:`, error);
55
- throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
80
+ }
81
+ }
82
+ /**
83
+ * Stops the background state refresh
84
+ */
85
+ stopPolling() {
86
+ if (this.refreshTimer) {
87
+ clearInterval(this.refreshTimer);
88
+ this.refreshTimer = null;
56
89
  }
57
90
  }
58
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"smart-plug.js","sourceRoot":"","sources":["../../src/accessories/smart-plug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-plug.js","sourceRoot":"","sources":["../../src/accessories/smart-plug.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export declare class EZVIZAPI {
10
10
  private config;
11
11
  sessionId: string | null;
12
12
  private log;
13
+ private deviceListCache;
14
+ private deviceListInFlight;
13
15
  constructor(config: EZVIZConfig, log?: Logging);
14
16
  /**
15
17
  * Generates a random string of specified length
@@ -40,10 +42,23 @@ export declare class EZVIZAPI {
40
42
  */
41
43
  getServiceUrls(): Promise<string | null>;
42
44
  /**
43
- * Lists all devices for the authenticated user
45
+ * Lists all devices for the authenticated user.
46
+ * Results are cached for DEVICE_LIST_CACHE_TTL_MS and concurrent callers share a
47
+ * single upstream request, so N accessories reading state do not each trigger a
48
+ * full account listing.
49
+ * @param forceRefresh - Bypass the cache and fetch a fresh list
44
50
  * @returns Promise resolving to device list or undefined if failed
45
51
  */
46
- listDevices(): Promise<ListDevicesResponse | undefined>;
52
+ listDevices(forceRefresh?: boolean): Promise<ListDevicesResponse | undefined>;
53
+ /**
54
+ * Performs the actual device list request and populates the cache
55
+ */
56
+ private fetchDeviceList;
57
+ /**
58
+ * Drops the cached device list so the next read fetches fresh state.
59
+ * Called after a write so a stale entry cannot revert the new value.
60
+ */
61
+ invalidateDeviceListCache(): void;
47
62
  /**
48
63
  * Returns the timestamp (ms) of the most recent alarm for a device, or null if none.
49
64
  * Fetches up to 10 recent messages and filters client-side — the API ignores the
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import querystring from 'querystring';
3
3
  import crypto, { randomBytes } from 'crypto';
4
- import { EZVIZ_CLIENT_TYPE, EZVIZ_USER_AGENT, EZVIZ_BASE_API_URL, EZVIZ_DOMAINS_ENDPOINT, EZVIZ_AUTH_ENDPOINT, EZVIZ_DEVICES_ENDPOINT, EZVIZ_SWITCH_STATUS_ENDPOINT, EZVIZ_UNIFIEDMSG_ENDPOINT, EZVIZ_SERVER_INFO_ENDPOINT, EZVIZ_DEFENCE_MODE_ENDPOINT, EZVIZ_DEFENCE_MODE_GET_ENDPOINT, API_ENDPOINT_REFRESH, RUSSIA_DOMAIN, RUSSIA_AREA_ID, DEFAULT_GROUP_ID, } from './ezviz-constants.js';
4
+ import { EZVIZ_CLIENT_TYPE, EZVIZ_USER_AGENT, EZVIZ_BASE_API_URL, EZVIZ_DOMAINS_ENDPOINT, EZVIZ_AUTH_ENDPOINT, EZVIZ_DEVICES_ENDPOINT, EZVIZ_SWITCH_STATUS_ENDPOINT, EZVIZ_UNIFIEDMSG_ENDPOINT, EZVIZ_SERVER_INFO_ENDPOINT, EZVIZ_DEFENCE_MODE_ENDPOINT, EZVIZ_DEFENCE_MODE_GET_ENDPOINT, API_ENDPOINT_REFRESH, RUSSIA_DOMAIN, RUSSIA_AREA_ID, DEFAULT_GROUP_ID, EZVIZ_REQUEST_TIMEOUT_MS, DEVICE_LIST_CACHE_TTL_MS, } from './ezviz-constants.js';
5
5
  import { DefenceMode } from '../utils/enums.js';
6
6
  import { sendRequest } from './ezviz-requests.js';
7
7
  /**
@@ -11,6 +11,8 @@ export class EZVIZAPI {
11
11
  config;
12
12
  sessionId;
13
13
  log;
14
+ deviceListCache = null;
15
+ deviceListInFlight = null;
14
16
  constructor(config, log) {
15
17
  this.config = config;
16
18
  this.sessionId = null;
@@ -46,6 +48,7 @@ export class EZVIZAPI {
46
48
  });
47
49
  const config = {
48
50
  method: 'post',
51
+ timeout: EZVIZ_REQUEST_TIMEOUT_MS,
49
52
  url: `${this.config.domain}${EZVIZ_AUTH_ENDPOINT}`,
50
53
  headers: {
51
54
  'content-type': 'application/x-www-form-urlencoded',
@@ -110,6 +113,7 @@ export class EZVIZAPI {
110
113
  });
111
114
  const config = {
112
115
  method: 'put',
116
+ timeout: EZVIZ_REQUEST_TIMEOUT_MS,
113
117
  url: `${this.config.domain}${API_ENDPOINT_REFRESH}`,
114
118
  headers: {
115
119
  'Content-Type': 'application/x-www-form-urlencoded',
@@ -159,6 +163,7 @@ export class EZVIZAPI {
159
163
  const domainReq = {
160
164
  headers: headers,
161
165
  method: 'POST',
166
+ timeout: EZVIZ_REQUEST_TIMEOUT_MS,
162
167
  url: `${EZVIZ_BASE_API_URL}${EZVIZ_DOMAINS_ENDPOINT}`,
163
168
  data: querystring.stringify({
164
169
  areaId: id,
@@ -197,10 +202,14 @@ export class EZVIZAPI {
197
202
  }
198
203
  }
199
204
  /**
200
- * Lists all devices for the authenticated user
205
+ * Lists all devices for the authenticated user.
206
+ * Results are cached for DEVICE_LIST_CACHE_TTL_MS and concurrent callers share a
207
+ * single upstream request, so N accessories reading state do not each trigger a
208
+ * full account listing.
209
+ * @param forceRefresh - Bypass the cache and fetch a fresh list
201
210
  * @returns Promise resolving to device list or undefined if failed
202
211
  */
203
- async listDevices() {
212
+ async listDevices(forceRefresh = false) {
204
213
  if (!this.sessionId) {
205
214
  try {
206
215
  await this.authenticate();
@@ -210,6 +219,31 @@ export class EZVIZAPI {
210
219
  return;
211
220
  }
212
221
  }
222
+ if (!forceRefresh) {
223
+ if (this.deviceListCache && this.deviceListCache.expiresAt > Date.now()) {
224
+ this.log?.debug('Using cached device list');
225
+ return this.deviceListCache.data;
226
+ }
227
+ if (this.deviceListInFlight) {
228
+ this.log?.debug('Joining in-flight device list request');
229
+ return this.deviceListInFlight;
230
+ }
231
+ }
232
+ const request = this.fetchDeviceList();
233
+ this.deviceListInFlight = request;
234
+ try {
235
+ return await request;
236
+ }
237
+ finally {
238
+ if (this.deviceListInFlight === request) {
239
+ this.deviceListInFlight = null;
240
+ }
241
+ }
242
+ }
243
+ /**
244
+ * Performs the actual device list request and populates the cache
245
+ */
246
+ async fetchDeviceList() {
213
247
  try {
214
248
  const query = querystring.stringify({
215
249
  filter: 'CONNECTION,WIFI,SWITCH,STATUS,NODISTURB,P2P,FEATURE,DETECTOR',
@@ -218,6 +252,7 @@ export class EZVIZAPI {
218
252
  offset: 0,
219
253
  });
220
254
  const info = await sendRequest(this.config, this.config.domain, `${EZVIZ_DEVICES_ENDPOINT}?${query}`, 'GET');
255
+ this.deviceListCache = { data: info, expiresAt: Date.now() + DEVICE_LIST_CACHE_TTL_MS };
221
256
  return info;
222
257
  }
223
258
  catch (error) {
@@ -225,6 +260,13 @@ export class EZVIZAPI {
225
260
  throw error;
226
261
  }
227
262
  }
263
+ /**
264
+ * Drops the cached device list so the next read fetches fresh state.
265
+ * Called after a write so a stale entry cannot revert the new value.
266
+ */
267
+ invalidateDeviceListCache() {
268
+ this.deviceListCache = null;
269
+ }
228
270
  /**
229
271
  * Returns the timestamp (ms) of the most recent alarm for a device, or null if none.
230
272
  * Fetches up to 10 recent messages and filters client-side — the API ignores the
@@ -252,10 +294,14 @@ export class EZVIZAPI {
252
294
  this.log?.debug(`getLastAlarmTime(${serialNumber}): ${messages.length} message(s), first deviceSerial=${messages[0]?.deviceSerial ?? 'none'}`);
253
295
  const latest = messages.find(m => m.deviceSerial === serialNumber);
254
296
  if (!latest?.time) {
297
+ this.log?.debug(`getLastAlarmTime(${serialNumber}): no matching message found`);
255
298
  return null;
256
299
  }
300
+ this.log?.debug(`getLastAlarmTime(${serialNumber}): raw time=${JSON.stringify(latest.time)}`);
257
301
  const ts = typeof latest.time === 'string' ? parseFloat(latest.time) : latest.time;
258
- return isNaN(ts) ? null : (ts > 1e10 ? ts : ts * 1000);
302
+ const result = isNaN(ts) ? null : (ts > 1e10 ? ts : ts * 1000);
303
+ this.log?.debug(`getLastAlarmTime(${serialNumber}): resolved alarmTime=${result}`);
304
+ return result;
259
305
  }
260
306
  catch (error) {
261
307
  this.log?.error('Error fetching last alarm time:', error);
@@ -283,6 +329,7 @@ export class EZVIZAPI {
283
329
  }
284
330
  const config = {
285
331
  method: 'post',
332
+ timeout: EZVIZ_REQUEST_TIMEOUT_MS,
286
333
  url: `${this.config.domain}${EZVIZ_SWITCH_STATUS_ENDPOINT}`,
287
334
  headers: {
288
335
  'sessionid': this.sessionId,
@@ -302,6 +349,7 @@ export class EZVIZAPI {
302
349
  if (response.data?.retcode) {
303
350
  throw new Error(`Switch state update failed: ${response.data.retcode}`);
304
351
  }
352
+ this.invalidateDeviceListCache();
305
353
  return response.data;
306
354
  }
307
355
  catch (error) {
@@ -378,6 +426,7 @@ export class EZVIZAPI {
378
426
  });
379
427
  const config = {
380
428
  method: 'post',
429
+ timeout: EZVIZ_REQUEST_TIMEOUT_MS,
381
430
  url: `${this.config.domain}${EZVIZ_DEFENCE_MODE_ENDPOINT}?${query}`,
382
431
  headers: {
383
432
  'sessionid': this.sessionId,
@@ -420,6 +469,7 @@ export class EZVIZAPI {
420
469
  });
421
470
  const config = {
422
471
  method: 'get',
472
+ timeout: EZVIZ_REQUEST_TIMEOUT_MS,
423
473
  url: `${this.config.domain}${EZVIZ_DEFENCE_MODE_GET_ENDPOINT}?${query}`,
424
474
  headers: {
425
475
  'sessionid': this.sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"ezviz-api.js","sourceRoot":"","sources":["../../src/api/ezviz-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ezviz-api.js","sourceRoot":"","sources":["../../src/api/ezviz-api.ts"],"names":[],"mappings":"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"}
@@ -16,3 +16,5 @@ export declare const MQTT_PORT = 1882;
16
16
  export declare const RUSSIA_AREA_ID = 114;
17
17
  export declare const RUSSIA_DOMAIN = "apiirus.ezvizru.com";
18
18
  export declare const DEFAULT_GROUP_ID = -1;
19
+ export declare const EZVIZ_REQUEST_TIMEOUT_MS = 5000;
20
+ export declare const DEVICE_LIST_CACHE_TTL_MS = 30000;
@@ -16,4 +16,10 @@ export const MQTT_PORT = 1882;
16
16
  export const RUSSIA_AREA_ID = 114;
17
17
  export const RUSSIA_DOMAIN = 'apiirus.ezvizru.com';
18
18
  export const DEFAULT_GROUP_ID = -1;
19
+ // Requests made on a HomeKit read path must fail fast: hap-nodejs warns after 3s
20
+ // and abandons the read 6s later, so an unbounded request shows as "No Response".
21
+ export const EZVIZ_REQUEST_TIMEOUT_MS = 5000;
22
+ // How long a fetched device list stays reusable, so simultaneous reads across
23
+ // accessories collapse into a single upstream request.
24
+ export const DEVICE_LIST_CACHE_TTL_MS = 30_000;
19
25
  //# sourceMappingURL=ezviz-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ezviz-constants.js","sourceRoot":"","sources":["../../src/api/ezviz-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,uCAAuC,CAAC;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,4CAA4C,CAAC;AACxF,MAAM,CAAC,MAAM,+BAA+B,GAAG,sCAAsC,CAAC;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAC/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,sCAAsC,CAAC;AACtE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ezviz-constants.js","sourceRoot":"","sources":["../../src/api/ezviz-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,uCAAuC,CAAC;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,4CAA4C,CAAC;AACxF,MAAM,CAAC,MAAM,+BAA+B,GAAG,sCAAsC,CAAC;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAC/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,sCAAsC,CAAC;AACtE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC;AAEnC,iFAAiF;AACjF,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAC7C,8EAA8E;AAC9E,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import querystring from 'querystring';
3
- import { EZVIZ_CLIENT_TYPE, EZVIZ_USER_AGENT, API_ENDPOINT_REFRESH } from './ezviz-constants.js';
3
+ import { EZVIZ_CLIENT_TYPE, EZVIZ_USER_AGENT, API_ENDPOINT_REFRESH, EZVIZ_REQUEST_TIMEOUT_MS } from './ezviz-constants.js';
4
4
  /**
5
5
  * Send a generic api request
6
6
  * @param {EZVIZConfig} config The config used to authenticate request
@@ -25,6 +25,7 @@ export async function sendRequest(config, hostname, endpoint, method, data, retr
25
25
  data,
26
26
  headers,
27
27
  responseType: 'json',
28
+ timeout: EZVIZ_REQUEST_TIMEOUT_MS,
28
29
  };
29
30
  try {
30
31
  const response = await axios(req);
@@ -1 +1 @@
1
- {"version":3,"file":"ezviz-requests.js","sourceRoot":"","sources":["../../src/api/ezviz-requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,WAAW,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjG;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,IAAa,EACb,OAAO,GAAG,CAAC;IAEX,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAEvC,MAAM,OAAO,GAAmB;QAC9B,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,iBAAiB;QAC/B,cAAc,EAAE,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS;QACvG,WAAW,EAAE,WAAW,CAAC,SAAS;KACnC,CAAC;IAEF,MAAM,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChC,MAAM,GAAG,GAAuB;QAC9B,MAAM;QACN,GAAG;QACH,IAAI;QACJ,OAAO;QACP,YAAY,EAAE,MAAM;KACrB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,KAAmB,CAAC;QACvC,IAAI,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;gBAClC,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,gBAAgB,EAAE,WAAW,CAAC,WAAW;aAC1C,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,CAAC,MAAM,WAAW,CACvC,MAAM,EACN,MAAM,CAAC,MAAM,EACb,oBAAoB,EACpB,KAAK,EACL,KAAK,CACN,CAAmB,CAAC;YAErB,MAAM,KAAK,GAAgB;gBACzB,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,SAAS;gBAC/C,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,gBAAgB;gBACxD,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAC;YAEF,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,OAAO,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ezviz-requests.js","sourceRoot":"","sources":["../../src/api/ezviz-requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,WAAW,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE3H;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,IAAa,EACb,OAAO,GAAG,CAAC;IAEX,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAEvC,MAAM,OAAO,GAAmB;QAC9B,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,iBAAiB;QAC/B,cAAc,EAAE,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS;QACvG,WAAW,EAAE,WAAW,CAAC,SAAS;KACnC,CAAC;IAEF,MAAM,GAAG,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChC,MAAM,GAAG,GAAuB;QAC9B,MAAM;QACN,GAAG;QACH,IAAI;QACJ,OAAO;QACP,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,wBAAwB;KAClC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,KAAmB,CAAC;QACvC,IAAI,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC;gBAClC,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,gBAAgB,EAAE,WAAW,CAAC,WAAW;aAC1C,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,CAAC,MAAM,WAAW,CACvC,MAAM,EACN,MAAM,CAAC,MAAM,EACb,oBAAoB,EACpB,KAAK,EACL,KAAK,CACN,CAAmB,CAAC;YAErB,MAAM,KAAK,GAAgB;gBACzB,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,SAAS;gBAC/C,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,gBAAgB;gBACxD,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,MAAM,EAAE,WAAW,CAAC,MAAM;aAC3B,CAAC;YAEF,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,OAAO,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/platform.js CHANGED
@@ -211,17 +211,17 @@ export class EZVIZPlatform {
211
211
  this.log.debug('MQTT: missing pushAddr or credentials, skipping');
212
212
  return;
213
213
  }
214
- this.mqttClient = new EzvizMqttClient(pushAddr, creds.sessionId, creds.username, (serial, alarmTime) => {
214
+ this.mqttClient = new EzvizMqttClient(pushAddr, creds.sessionId, creds.username, (serial) => {
215
215
  const sensor = this.motionSensors.get(serial);
216
216
  if (sensor) {
217
- sensor.onMqttAlarm(alarmTime);
217
+ sensor.onMqttAlarm();
218
+ }
219
+ else {
220
+ this.log.debug(`MQTT: no motion sensor for serial=${serial}, ignoring`);
218
221
  }
219
222
  }, this.log);
220
223
  await this.mqttClient.connect();
221
- this.log.info('MQTT push connected — stopping polling on all motion sensors');
222
- for (const sensor of this.motionSensors.values()) {
223
- sensor.stopPolling();
224
- }
224
+ this.log.info('MQTT push connected — real-time alerts active, polling continues as fallback');
225
225
  }
226
226
  catch (error) {
227
227
  this.log.warn('MQTT push failed to connect, motion sensors will fall back to polling:', error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Logging } from 'homebridge';
2
- export type MqttMessageCallback = (deviceSerial: string, alarmTime: number) => void;
2
+ export type MqttMessageCallback = (deviceSerial: string) => void;
3
3
  export declare class EzvizMqttClient {
4
4
  private readonly pushAddr;
5
5
  private readonly sessionId;
@@ -7,6 +7,7 @@ export declare class EzvizMqttClient {
7
7
  private readonly log;
8
8
  private mqttClient;
9
9
  private clientId;
10
+ private ticket;
10
11
  private readonly topic;
11
12
  private onMessage;
12
13
  constructor(pushAddr: string, sessionId: string, username: string, onMessage: MqttMessageCallback, log: Logging);
@@ -21,6 +21,7 @@ export class EzvizMqttClient {
21
21
  log;
22
22
  mqttClient = null;
23
23
  clientId = null;
24
+ ticket = null;
24
25
  topic = `${MQTT_APP_KEY}/#`;
25
26
  onMessage;
26
27
  constructor(pushAddr, sessionId, username, onMessage, log) {
@@ -51,12 +52,14 @@ export class EzvizMqttClient {
51
52
  token: '123456',
52
53
  version: 'v1.3.0',
53
54
  }).toString(), { headers: { 'Authorization': `Basic ${auth}`, 'Content-Type': 'application/x-www-form-urlencoded' } });
55
+ this.log.debug('MQTT register response:', JSON.stringify(response.data));
54
56
  if (response.data?.status !== 200) {
55
57
  throw new Error(`MQTT registration failed: ${JSON.stringify(response.data)}`);
56
58
  }
57
59
  return response.data.data.clientId;
58
60
  }
59
61
  async startPush() {
62
+ this.log.debug(`MQTT startPush: clientId=${this.clientId} username=${this.username} sessionId=${this.sessionId?.slice(0, 8)}...`);
60
63
  const response = await axios.post(`https://${this.pushAddr}/api/push/start`, new URLSearchParams({
61
64
  appKey: MQTT_APP_KEY,
62
65
  clientId: this.clientId,
@@ -65,10 +68,12 @@ export class EzvizMqttClient {
65
68
  username: this.username,
66
69
  token: '123456',
67
70
  }).toString(), { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } });
71
+ this.log.debug('MQTT startPush response:', JSON.stringify(response.data));
68
72
  if (response.data?.status !== 200) {
69
73
  throw new Error(`MQTT push start failed: ${JSON.stringify(response.data)}`);
70
74
  }
71
- this.log.debug(`MQTT push started (clientId: ${this.clientId})`);
75
+ this.ticket = response.data.ticket ?? null;
76
+ this.log.debug(`MQTT push started (clientId: ${this.clientId} ticket: ${this.ticket})`);
72
77
  }
73
78
  async stopPush() {
74
79
  if (!this.clientId) {
@@ -92,33 +97,52 @@ export class EzvizMqttClient {
92
97
  keepalive: 30,
93
98
  reconnectPeriod: 5000,
94
99
  });
95
- client.on('connect', () => {
96
- this.log.debug('MQTT connected');
97
- client.subscribe(this.topic, { qos: 2 });
100
+ client.on('connect', (connack) => {
101
+ this.log.debug(`MQTT connected (sessionPresent=${connack.sessionPresent})`);
102
+ // With clean:false the broker may restore a stored session that already has our
103
+ // subscription; re-subscribing is only needed for fresh sessions.
104
+ if (!connack.sessionPresent) {
105
+ client.subscribe(this.topic, { qos: 1 }, (err, granted) => {
106
+ if (err) {
107
+ this.log.error('MQTT subscribe error:', err.message);
108
+ }
109
+ else {
110
+ this.log.debug('MQTT subscribed:', JSON.stringify(granted));
111
+ }
112
+ });
113
+ }
98
114
  });
99
- client.on('message', (_topic, payload) => {
115
+ client.on('message', (topic, payload) => {
116
+ this.log.debug(`MQTT raw message: topic=${topic} bytes=${payload.length}`);
100
117
  try {
101
118
  const decoded = this.decodePayload(payload);
102
119
  const ext = decoded.ext;
103
120
  const serial = ext?.device_serial;
104
- const time = ext?.time;
105
- if (!serial || !time) {
121
+ if (!serial) {
122
+ this.log.debug('MQTT message: no device_serial, raw ext:', JSON.stringify(decoded.ext));
106
123
  return;
107
124
  }
108
- const ts = typeof time === 'string' ? parseFloat(time) : Number(time);
109
- if (!isNaN(ts)) {
110
- this.onMessage(serial, ts > 1e10 ? ts : ts * 1000);
111
- }
125
+ // ext.time (field index 1) is an EZVIZ internal code, not a Unix timestamp.
126
+ // MQTT is real-time push so Date.now() is the correct alarm time.
127
+ const rawMsgId = ext?.msgId;
128
+ const msgId = (typeof rawMsgId === 'string' && rawMsgId.trim() !== '')
129
+ ? rawMsgId
130
+ : serial;
131
+ this.log.debug(`MQTT message: serial=${serial} alert_type_code=${ext?.alert_type_code} msgId=${msgId}`);
132
+ this.onMessage(serial);
112
133
  }
113
134
  catch (err) {
114
- this.log.debug('MQTT message decode error:', err);
135
+ this.log.debug('MQTT message decode error:', err, 'raw:', payload.toString('utf-8').slice(0, 200));
115
136
  }
116
137
  });
117
138
  client.on('error', (err) => {
118
139
  this.log.error('MQTT error:', err.message);
119
140
  });
120
- client.on('disconnect', () => {
121
- this.log.debug('MQTT disconnected');
141
+ client.on('close', () => {
142
+ this.log.debug('MQTT connection closed');
143
+ });
144
+ client.on('offline', () => {
145
+ this.log.debug('MQTT client offline, will reconnect');
122
146
  });
123
147
  this.mqttClient = client;
124
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt-client.js","sourceRoot":"","sources":["../../src/utils/mqtt-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt-client.js","sourceRoot":"","sources":["../../src/utils/mqtt-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@viguza/homebridge-ezviz",
3
3
  "displayName": "EZVIZ Homebridge Plugin",
4
4
  "type": "module",
5
- "version": "1.8.0",
5
+ "version": "1.8.2",
6
6
  "private": false,
7
7
  "description": "A short description about what your plugin does.",
8
8
  "author": "Victor Guzman",