@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.
- package/.claude/settings.local.json +2 -1
- package/CHANGELOG.md +24 -0
- package/README.md +1 -1
- package/dist/accessories/alarm-mode-switch.d.ts +16 -3
- package/dist/accessories/alarm-mode-switch.js +44 -12
- package/dist/accessories/alarm-mode-switch.js.map +1 -1
- package/dist/accessories/motion-sensor.d.ts +2 -6
- package/dist/accessories/motion-sensor.js +29 -36
- package/dist/accessories/motion-sensor.js.map +1 -1
- package/dist/accessories/smart-plug.d.ts +16 -3
- package/dist/accessories/smart-plug.js +43 -10
- package/dist/accessories/smart-plug.js.map +1 -1
- package/dist/api/ezviz-api.d.ts +17 -2
- package/dist/api/ezviz-api.js +54 -4
- package/dist/api/ezviz-api.js.map +1 -1
- package/dist/api/ezviz-constants.d.ts +2 -0
- package/dist/api/ezviz-constants.js +6 -0
- package/dist/api/ezviz-constants.js.map +1 -1
- package/dist/api/ezviz-requests.js +2 -1
- package/dist/api/ezviz-requests.js.map +1 -1
- package/dist/platform.js +6 -6
- package/dist/platform.js.map +1 -1
- package/dist/utils/mqtt-client.d.ts +2 -1
- package/dist/utils/mqtt-client.js +38 -14
- package/dist/utils/mqtt-client.js.map +1 -1
- package/package.json +1 -1
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
|
|
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
|
-
*
|
|
21
|
-
*
|
|
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():
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
48
|
-
*
|
|
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
|
-
|
|
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
|
-
//
|
|
73
|
+
// Switch is ON only when mode is AWAY_MODE (fully armed)
|
|
54
74
|
const isArmed = mode === DefenceMode.AWAY_MODE;
|
|
55
|
-
this.
|
|
56
|
-
|
|
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
|
-
|
|
61
|
-
|
|
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":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,OAAO,eAAe;
|
|
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 =
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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.
|
|
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.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
this.
|
|
69
|
-
|
|
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
|
-
|
|
83
|
-
|
|
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":"AAKA,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,MAAM,OAAO,YAAY;IASJ;IACA;IACA;IAVF,OAAO,CAAU;IAC1B,cAAc,GAAG,KAAK,CAAC;IACvB,iBAAiB,GAA8B,SAAS,CAAC;IACzD,UAAU,GAAyC,IAAI,CAAC;IACxD,SAAS,GAAG,KAAK,CAAC;IAClB,YAAY,GAA0C,IAAI,CAAC;IAEnE,YACmB,GAAa,EACb,QAAuB,EACvB,SAA4B;QAF5B,QAAG,GAAH,GAAG,CAAU;QACb,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAE7C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC;aACtE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aACxE,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"motion-sensor.js","sourceRoot":"","sources":["../../src/accessories/motion-sensor.ts"],"names":[],"mappings":"AAKA,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,MAAM,OAAO,YAAY;IASJ;IACA;IACA;IAVF,OAAO,CAAU;IAC1B,cAAc,GAAG,KAAK,CAAC;IACvB,iBAAiB,GAA8B,SAAS,CAAC;IACzD,UAAU,GAAyC,IAAI,CAAC;IACxD,SAAS,GAAG,KAAK,CAAC;IAClB,YAAY,GAA0C,IAAI,CAAC;IAEnE,YACmB,GAAa,EACb,QAAuB,EACvB,SAA4B;QAF5B,QAAG,GAAH,GAAG,CAAU;QACb,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAE7C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC;aACtE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;aACxE,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAED,gFAAgF;IAChF,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,mBAAmB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;IACvC,CAAC;IAEO,aAAa;QACnB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAEzE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACrF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,oBAAoB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,kBAAkB,CAAC,CAAC;IAC3E,CAAC;IAED,iFAAiF;IACjF,iFAAiF;IACzE,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,2BAA2B,SAAS,EAAE,CAAC,CAAC;gBAC7F,OAAO;YACT,CAAC;YAED,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,yBAAyB,IAAI,CAAC,iBAAiB,MAAM,SAAS,GAAG,CAAC,CAAC;gBACxH,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACnC,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -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
|
-
*
|
|
20
|
-
*
|
|
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():
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
45
|
-
*
|
|
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
|
-
|
|
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.
|
|
51
|
-
|
|
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
|
-
|
|
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":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"smart-plug.js","sourceRoot":"","sources":["../../src/accessories/smart-plug.ts"],"names":[],"mappings":"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"}
|
package/dist/api/ezviz-api.d.ts
CHANGED
|
@@ -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
|
package/dist/api/ezviz-api.js
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
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
|
|
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(
|
|
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 —
|
|
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);
|
package/dist/platform.js.map
CHANGED
|
@@ -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
|
|
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.
|
|
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(
|
|
97
|
-
|
|
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', (
|
|
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
|
-
|
|
105
|
-
|
|
121
|
+
if (!serial) {
|
|
122
|
+
this.log.debug('MQTT message: no device_serial, raw ext:', JSON.stringify(decoded.ext));
|
|
106
123
|
return;
|
|
107
124
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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('
|
|
121
|
-
this.log.debug('MQTT
|
|
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAoB,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAErF,4EAA4E;AAC5E,MAAM,eAAe,GAAG;IACtB,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY;IACrD,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB;IACtD,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS;IAC3D,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU;IACzD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB;CACtD,CAAC;AAEX,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,cAAc,EAAE,YAAY,EAAE,iBAAiB;IAC/C,eAAe,EAAE,aAAa,EAAE,cAAc;IAC9C,cAAc,EAAE,iBAAiB;CAClC,CAAC,CAAC;AAIH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"mqtt-client.js","sourceRoot":"","sources":["../../src/utils/mqtt-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED