@viguza/homebridge-ezviz 2.0.0 → 2.0.1
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/CHANGELOG.md
CHANGED
|
@@ -19,6 +19,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
19
19
|
### Removed
|
|
20
20
|
- Nothing yet
|
|
21
21
|
|
|
22
|
+
## [2.0.1] - 2026-09-24
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- The "motion detected" log line's `(MQTT)` tag was sticky: once a sensor received one real-time MQTT push, every later trigger kept showing `(MQTT)` even when it actually came from the 30s poll fallback, making it impossible to tell which path detected a given event. The log now reflects the actual source (`(MQTT)` or `(poll)`) of each individual trigger (#49)
|
|
26
|
+
|
|
22
27
|
## [2.0.0] - 2026-09-20
|
|
23
28
|
|
|
24
29
|
### ⚠️ Upgrade notes — read before updating
|
|
@@ -16,7 +16,6 @@ export declare class CameraMotionSensor {
|
|
|
16
16
|
private motionDetected;
|
|
17
17
|
private lastSeenAlarmTime;
|
|
18
18
|
private clearTimer;
|
|
19
|
-
private usingMqtt;
|
|
20
19
|
private pollInterval;
|
|
21
20
|
constructor(api: EZVIZAPI, platform: EZVIZPlatform, service: Service, serial: string, displayName: string);
|
|
22
21
|
onMqttAlarm(): void;
|
|
@@ -15,7 +15,6 @@ export class CameraMotionSensor {
|
|
|
15
15
|
motionDetected = false;
|
|
16
16
|
lastSeenAlarmTime = undefined;
|
|
17
17
|
clearTimer = null;
|
|
18
|
-
usingMqtt = false;
|
|
19
18
|
pollInterval = null;
|
|
20
19
|
constructor(api, platform, service, serial, displayName) {
|
|
21
20
|
this.api = api;
|
|
@@ -31,8 +30,7 @@ export class CameraMotionSensor {
|
|
|
31
30
|
}
|
|
32
31
|
// Called by MQTT — real-time push, trigger immediately regardless of timestamp.
|
|
33
32
|
onMqttAlarm() {
|
|
34
|
-
this.
|
|
35
|
-
this.triggerMotion();
|
|
33
|
+
this.triggerMotion('mqtt');
|
|
36
34
|
}
|
|
37
35
|
stopPolling() {
|
|
38
36
|
if (this.pollInterval) {
|
|
@@ -41,7 +39,7 @@ export class CameraMotionSensor {
|
|
|
41
39
|
this.platform.log.debug(`${this.displayName}: polling stopped`);
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
|
-
triggerMotion() {
|
|
42
|
+
triggerMotion(source) {
|
|
45
43
|
// Reset the 60s auto-clear window from now
|
|
46
44
|
if (this.clearTimer) {
|
|
47
45
|
clearTimeout(this.clearTimer);
|
|
@@ -50,7 +48,7 @@ export class CameraMotionSensor {
|
|
|
50
48
|
if (!this.motionDetected) {
|
|
51
49
|
this.motionDetected = true;
|
|
52
50
|
this.service.updateCharacteristic(this.platform.Characteristic.MotionDetected, true);
|
|
53
|
-
this.platform.log.info(`${this.displayName}: motion detected${
|
|
51
|
+
this.platform.log.info(`${this.displayName}: motion detected${source === 'mqtt' ? ' (MQTT)' : ' (poll)'}`);
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
54
|
clearMotion() {
|
|
@@ -81,7 +79,7 @@ export class CameraMotionSensor {
|
|
|
81
79
|
if (alarm.time !== this.lastSeenAlarmTime) {
|
|
82
80
|
this.platform.log.debug(`${this.displayName}: new alarm via poll (${this.lastSeenAlarmTime} → ${alarm.time})`);
|
|
83
81
|
this.lastSeenAlarmTime = alarm.time;
|
|
84
|
-
this.triggerMotion();
|
|
82
|
+
this.triggerMotion('poll');
|
|
85
83
|
}
|
|
86
84
|
}
|
|
87
85
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-motion-sensor.js","sourceRoot":"","sources":["../../src/accessories/camera-motion-sensor.ts"],"names":[],"mappings":"AAKA,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"camera-motion-sensor.js","sourceRoot":"","sources":["../../src/accessories/camera-motion-sensor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED