@switchbot/homebridge-switchbot 3.5.0-beta.58 → 3.5.0-beta.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/device/blindtilt.d.ts +1 -1
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +101 -67
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.d.ts +1 -1
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +200 -153
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.d.ts.map +1 -1
- package/dist/device/ceilinglight.js +39 -34
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +35 -36
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +71 -56
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts +1 -1
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +98 -54
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +7 -9
- package/dist/device/device.js.map +1 -1
- package/dist/device/fan.d.ts.map +1 -1
- package/dist/device/fan.js +53 -23
- package/dist/device/fan.js.map +1 -1
- package/dist/device/hub.d.ts.map +1 -1
- package/dist/device/hub.js +39 -52
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +38 -38
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.d.ts.map +1 -1
- package/dist/device/iosensor.js +40 -45
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.d.ts.map +1 -1
- package/dist/device/lightstrip.js +34 -31
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +67 -58
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +41 -46
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.d.ts.map +1 -1
- package/dist/device/meterplus.js +41 -46
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +48 -38
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +12 -12
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/device/robotvacuumcleaner.js +78 -95
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/device/waterdetector.d.ts.map +1 -1
- package/dist/device/waterdetector.js +38 -30
- package/dist/device/waterdetector.js.map +1 -1
- package/package.json +1 -1
- package/src/device/blindtilt.ts +115 -84
- package/src/device/bot.ts +233 -172
- package/src/device/ceilinglight.ts +43 -42
- package/src/device/colorbulb.ts +35 -40
- package/src/device/contact.ts +77 -60
- package/src/device/curtain.ts +106 -61
- package/src/device/device.ts +7 -9
- package/src/device/fan.ts +61 -26
- package/src/device/hub.ts +47 -57
- package/src/device/humidifier.ts +48 -52
- package/src/device/iosensor.ts +51 -53
- package/src/device/lightstrip.ts +37 -35
- package/src/device/lock.ts +74 -65
- package/src/device/meter.ts +47 -50
- package/src/device/meterplus.ts +47 -50
- package/src/device/motion.ts +53 -42
- package/src/device/plug.ts +14 -15
- package/src/device/robotvacuumcleaner.ts +83 -100
- package/src/device/waterdetector.ts +41 -31
|
@@ -27,45 +27,53 @@ export class WaterDetector extends deviceBase {
|
|
|
27
27
|
// this is subject we use to track when we need to POST changes to the SwitchBot API
|
|
28
28
|
this.doWaterDetectorUpdate = new Subject();
|
|
29
29
|
this.WaterDetectorUpdateInProgress = false;
|
|
30
|
-
// Initialize Battery
|
|
30
|
+
// Initialize Battery Service
|
|
31
31
|
this.Battery = {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
Name: accessory.context.Battery.Name ?? `${accessory.displayName} Battery`,
|
|
33
|
+
Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery),
|
|
34
|
+
BatteryLevel: accessory.context.BatteryLevel ?? 100,
|
|
35
|
+
StatusLowBattery: accessory.context.StatusLowBattery ?? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
|
|
36
|
+
ChargingState: accessory.context.ChargingState ?? this.hap.Characteristic.ChargingState.NOT_CHARGEABLE,
|
|
36
37
|
};
|
|
37
|
-
// Initialize
|
|
38
|
-
|
|
39
|
-
this.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
38
|
+
// Initialize Battery Characteristic
|
|
39
|
+
this.Battery.Service
|
|
40
|
+
.setCharacteristic(this.hap.Characteristic.Name, this.Battery.Name)
|
|
41
|
+
.setCharacteristic(this.hap.Characteristic.ChargingState, this.hap.Characteristic.ChargingState.NOT_CHARGEABLE)
|
|
42
|
+
.getCharacteristic(this.hap.Characteristic.BatteryLevel)
|
|
43
|
+
.onGet(() => {
|
|
44
|
+
return this.Battery.StatusLowBattery;
|
|
45
|
+
});
|
|
46
|
+
this.Battery.Service
|
|
47
|
+
.getCharacteristic(this.hap.Characteristic.StatusLowBattery)
|
|
48
|
+
.onGet(() => {
|
|
49
|
+
return this.Battery.StatusLowBattery;
|
|
50
|
+
});
|
|
51
|
+
accessory.context.Battery.Name = this.Battery.Name;
|
|
52
|
+
// Initialize Leak Sensor Service
|
|
48
53
|
if (device.waterdetector?.hide_leak) {
|
|
49
54
|
this.debugLog(`${this.device.deviceType}: ${accessory.displayName} Removing Leak Sensor Service`);
|
|
50
55
|
this.LeakSensor.Service = this.accessory.getService(this.hap.Service.LeakSensor);
|
|
51
56
|
accessory.removeService(this.LeakSensor.Service);
|
|
52
57
|
}
|
|
53
|
-
else if (!this.LeakSensor?.Service) {
|
|
54
|
-
this.debugLog(`${this.device.deviceType}: ${accessory.displayName} Add Leak Sensor Service`);
|
|
55
|
-
const LeakSensorService = `${accessory.displayName} Leak Sensor`;
|
|
56
|
-
(this.LeakSensor.Service = this.accessory.getService(this.hap.Service.LeakSensor)
|
|
57
|
-
|| this.accessory.addService(this.hap.Service.LeakSensor)), LeakSensorService;
|
|
58
|
-
this.LeakSensor.Service.setCharacteristic(this.hap.Characteristic.Name, LeakSensorService);
|
|
59
|
-
}
|
|
60
58
|
else {
|
|
61
|
-
this.
|
|
59
|
+
this.LeakSensor = {
|
|
60
|
+
Name: accessory.context.LeakSensor.Name ?? `${accessory.displayName} Leak Sensor`,
|
|
61
|
+
Service: accessory.getService(this.hap.Service.LeakSensor) ?? this.accessory.addService(this.hap.Service.LeakSensor),
|
|
62
|
+
StatusActive: accessory.context.StatusActive ?? false,
|
|
63
|
+
LeakDetected: accessory.context.LeakDetected ?? this.hap.Characteristic.LeakDetected.LEAK_NOT_DETECTED,
|
|
64
|
+
};
|
|
65
|
+
// Initialize LeakSensor Characteristic
|
|
66
|
+
this.LeakSensor.Service
|
|
67
|
+
.setCharacteristic(this.hap.Characteristic.Name, this.LeakSensor.Name)
|
|
68
|
+
.setCharacteristic(this.hap.Characteristic.StatusActive, true)
|
|
69
|
+
.getCharacteristic(this.hap.Characteristic.LeakDetected)
|
|
70
|
+
.onGet(() => {
|
|
71
|
+
return this.LeakSensor.LeakDetected;
|
|
72
|
+
});
|
|
73
|
+
accessory.context.LeakSensor.Name = this.LeakSensor.Name;
|
|
62
74
|
}
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
(this.Battery.Service = this.accessory.getService(this.hap.Service.Battery)
|
|
66
|
-
|| accessory.addService(this.hap.Service.Battery)), BatteryService;
|
|
67
|
-
this.Battery.Service.setCharacteristic(this.hap.Characteristic.Name, BatteryService);
|
|
68
|
-
this.Battery.Service.setCharacteristic(this.hap.Characteristic.ChargingState, this.hap.Characteristic.ChargingState.NOT_CHARGEABLE);
|
|
75
|
+
// Retrieve initial values and updateHomekit
|
|
76
|
+
this.refreshStatus();
|
|
69
77
|
// Retrieve initial values and updateHomekit
|
|
70
78
|
this.updateHomeKitCharacteristics();
|
|
71
79
|
// Start an update interval
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waterdetector.js","sourceRoot":"","sources":["../../src/device/waterdetector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"waterdetector.js","sourceRoot":"","sources":["../../src/device/waterdetector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "SwitchBot",
|
|
3
3
|
"name": "@switchbot/homebridge-switchbot",
|
|
4
|
-
"version": "3.5.0-beta.
|
|
4
|
+
"version": "3.5.0-beta.59",
|
|
5
5
|
"description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SwitchBot",
|
package/src/device/blindtilt.ts
CHANGED
|
@@ -11,12 +11,13 @@ import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
|
11
11
|
|
|
12
12
|
import type { SwitchBotPlatform } from '../platform.js';
|
|
13
13
|
import type { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
|
|
14
|
-
import type { device, devicesConfig, serviceData, deviceStatus} from '../settings.js';
|
|
14
|
+
import type { device, devicesConfig, serviceData, deviceStatus } from '../settings.js';
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
export class BlindTilt extends deviceBase {
|
|
18
18
|
// Services
|
|
19
19
|
private WindowCovering: {
|
|
20
|
+
Name: CharacteristicValue;
|
|
20
21
|
Service: Service;
|
|
21
22
|
PositionState: CharacteristicValue;
|
|
22
23
|
TargetPosition: CharacteristicValue;
|
|
@@ -26,12 +27,15 @@ export class BlindTilt extends deviceBase {
|
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
private Battery: {
|
|
30
|
+
Name: CharacteristicValue;
|
|
29
31
|
Service: Service;
|
|
30
32
|
BatteryLevel: CharacteristicValue;
|
|
31
33
|
StatusLowBattery: CharacteristicValue;
|
|
34
|
+
ChargingState?: CharacteristicValue;
|
|
32
35
|
};
|
|
33
36
|
|
|
34
37
|
private LightSensor?: {
|
|
38
|
+
Name: CharacteristicValue;
|
|
35
39
|
Service: Service;
|
|
36
40
|
CurrentAmbientLightLevel?: CharacteristicValue;
|
|
37
41
|
};
|
|
@@ -62,70 +66,47 @@ export class BlindTilt extends deviceBase {
|
|
|
62
66
|
this.blindTiltUpdateInProgress = false;
|
|
63
67
|
this.setNewTarget = false;
|
|
64
68
|
|
|
65
|
-
// Initialize
|
|
69
|
+
// Initialize WindowCovering Service
|
|
66
70
|
this.WindowCovering = {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
Name: accessory.context.WindowCovering.Name ?? accessory.displayName,
|
|
72
|
+
Service: accessory.getService(this.hap.Service.WindowCovering) ?? accessory.addService(this.hap.Service.WindowCovering) as Service,
|
|
73
|
+
PositionState: accessory.context.PositionState ?? this.hap.Characteristic.PositionState.STOPPED,
|
|
74
|
+
TargetPosition: accessory.context.TargetPosition ?? 100,
|
|
75
|
+
CurrentPosition: accessory.context.CurrentPosition ?? 100,
|
|
76
|
+
TargetHorizontalTiltAngle: accessory.context.TargetHorizontalTiltAngle ?? 90,
|
|
77
|
+
CurrentHorizontalTiltAngle: accessory.context.CurrentHorizontalTiltAngle ?? 90,
|
|
73
78
|
};
|
|
74
79
|
|
|
75
|
-
// Initialize
|
|
76
|
-
this.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
StatusLowBattery: this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
// Initialize LightSensor property
|
|
83
|
-
if (!this.device.blindTilt?.hide_lightsensor) {
|
|
84
|
-
this.LightSensor = {
|
|
85
|
-
Service: accessory.getService(this.hap.Service.LightSensor) as Service,
|
|
86
|
-
CurrentAmbientLightLevel: accessory.context.CurrentAmbientLightLevel || 0.0001,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Retrieve initial values and updateHomekit
|
|
91
|
-
this.refreshStatus();
|
|
92
|
-
|
|
93
|
-
// get the WindowCovering service if it exists, otherwise create a new WindowCovering service
|
|
94
|
-
// you can create multiple services for each accessory
|
|
95
|
-
(this.WindowCovering!.Service =
|
|
96
|
-
accessory.getService(this.hap.Service.WindowCovering)
|
|
97
|
-
|| accessory.addService(this.hap.Service.WindowCovering)), accessory.displayName;
|
|
98
|
-
|
|
99
|
-
this.WindowCovering!.Service.setCharacteristic(this.hap.Characteristic.Name, accessory.displayName);
|
|
100
|
-
|
|
101
|
-
// create handlers for required characteristics
|
|
102
|
-
this.WindowCovering!.Service.setCharacteristic(this.hap.Characteristic.PositionState, this.WindowCovering.PositionState);
|
|
103
|
-
|
|
104
|
-
this.WindowCovering!.Service
|
|
105
|
-
.getCharacteristic(this.hap.Characteristic.CurrentPosition)
|
|
80
|
+
// Initialize WindowCovering Characteristics
|
|
81
|
+
this.WindowCovering.Service
|
|
82
|
+
.setCharacteristic(this.hap.Characteristic.Name, this.WindowCovering.Name)
|
|
83
|
+
.getCharacteristic(this.hap.Characteristic.TargetPosition)
|
|
106
84
|
.setProps({
|
|
107
|
-
minStep: this.minStep(device),
|
|
85
|
+
minStep: Number(this.minStep(device)),
|
|
108
86
|
minValue: 0,
|
|
109
87
|
maxValue: 100,
|
|
110
88
|
validValueRanges: [0, 100],
|
|
111
89
|
})
|
|
112
90
|
.onGet(() => {
|
|
113
|
-
return this.WindowCovering
|
|
114
|
-
})
|
|
91
|
+
return this.WindowCovering.TargetPosition;
|
|
92
|
+
})
|
|
93
|
+
.onSet(this.TargetPositionSet.bind(this));
|
|
115
94
|
|
|
116
|
-
|
|
117
|
-
|
|
95
|
+
// Initialize WindowCovering CurrentPosition Characteristic
|
|
96
|
+
this.WindowCovering.Service
|
|
97
|
+
.getCharacteristic(this.hap.Characteristic.CurrentPosition)
|
|
118
98
|
.setProps({
|
|
119
|
-
minStep: this.minStep(device),
|
|
99
|
+
minStep: Number(this.minStep(device)),
|
|
120
100
|
minValue: 0,
|
|
121
101
|
maxValue: 100,
|
|
122
102
|
validValueRanges: [0, 100],
|
|
123
|
-
})
|
|
124
|
-
|
|
103
|
+
}).onGet(() => {
|
|
104
|
+
return this.WindowCovering?.CurrentPosition ?? 0;
|
|
105
|
+
});
|
|
125
106
|
|
|
126
|
-
|
|
127
|
-
this.WindowCovering
|
|
128
|
-
.getCharacteristic(this.hap.Characteristic.
|
|
107
|
+
// Initialize WindowCovering TargetHorizontalTiltAngle Characteristic
|
|
108
|
+
this.WindowCovering.Service
|
|
109
|
+
.getCharacteristic(this.hap.Characteristic.TargetHorizontalTiltAngle)
|
|
129
110
|
.setProps({
|
|
130
111
|
minStep: 180,
|
|
131
112
|
minValue: -90,
|
|
@@ -133,27 +114,63 @@ export class BlindTilt extends deviceBase {
|
|
|
133
114
|
validValues: [-90, 90],
|
|
134
115
|
})
|
|
135
116
|
.onGet(() => {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
117
|
+
return this.WindowCovering.TargetHorizontalTiltAngle;
|
|
118
|
+
})
|
|
119
|
+
.onSet(this.TargetHorizontalTiltAngleSet.bind(this));
|
|
120
|
+
accessory.context.WindowCovering.Name = this.WindowCovering.Name;
|
|
139
121
|
|
|
140
|
-
|
|
141
|
-
this.WindowCovering
|
|
142
|
-
.getCharacteristic(this.hap.Characteristic.
|
|
122
|
+
// Initialize WindowCovering CurrentHorizontalTiltAngle Characteristic
|
|
123
|
+
this.WindowCovering.Service
|
|
124
|
+
.getCharacteristic(this.hap.Characteristic.CurrentHorizontalTiltAngle)
|
|
143
125
|
.setProps({
|
|
144
126
|
minStep: 180,
|
|
145
127
|
minValue: -90,
|
|
146
128
|
maxValue: 90,
|
|
147
129
|
validValues: [-90, 90],
|
|
148
|
-
})
|
|
149
|
-
|
|
130
|
+
}).onGet(() => {
|
|
131
|
+
return this.WindowCovering.CurrentHorizontalTiltAngle ?? 0;
|
|
132
|
+
});
|
|
150
133
|
|
|
151
|
-
// Battery Service
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
134
|
+
// Initialize Battery Service
|
|
135
|
+
this.Battery = {
|
|
136
|
+
Name: accessory.context.Battery.Name ?? `${accessory.displayName} Battery`,
|
|
137
|
+
Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery) as Service,
|
|
138
|
+
BatteryLevel: accessory.context.BatteryLevel ?? 100,
|
|
139
|
+
StatusLowBattery: this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
|
|
140
|
+
ChargingState: accessory.context.ChargingState ?? this.hap.Characteristic.ChargingState.NOT_CHARGING,
|
|
141
|
+
};
|
|
155
142
|
|
|
156
|
-
|
|
143
|
+
// Initialize Battery Name Characteristic
|
|
144
|
+
this.Battery.Service
|
|
145
|
+
.setCharacteristic(this.hap.Characteristic.Name, this.Battery.Name)
|
|
146
|
+
.setCharacteristic(this.hap.Characteristic.ChargingState, this.hap.Characteristic.ChargingState.NOT_CHARGEABLE);
|
|
147
|
+
accessory.context.Battery.Name = this.Battery.Name;
|
|
148
|
+
|
|
149
|
+
// Initialize LightSensor Service
|
|
150
|
+
if (device.blindTilt?.hide_lightsensor) {
|
|
151
|
+
this.debugLog(`${device.deviceType}: ${accessory.displayName} Removing Light Sensor Service`);
|
|
152
|
+
this.LightSensor!.Service = accessory.getService(this.hap.Service.LightSensor) as Service;
|
|
153
|
+
accessory.removeService(this.LightSensor!.Service);
|
|
154
|
+
} else {
|
|
155
|
+
this.LightSensor = {
|
|
156
|
+
Name: accessory.context.LightSensor.Name ?? `${accessory.displayName} Light Sensor`,
|
|
157
|
+
Service: accessory.getService(this.hap.Service.LightSensor) ?? accessory.addService(this.hap.Service.LightSensor) as Service,
|
|
158
|
+
CurrentAmbientLightLevel: accessory.context.CurrentAmbientLightLevel ?? 0.0001,
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
// Initialize LightSensor Characteristics
|
|
162
|
+
this.LightSensor.Service
|
|
163
|
+
.setCharacteristic(this.hap.Characteristic.Name, this.LightSensor.Name)
|
|
164
|
+
.setCharacteristic(this.hap.Characteristic.StatusActive, true)
|
|
165
|
+
.getCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel)
|
|
166
|
+
.onGet(() => {
|
|
167
|
+
return this.LightSensor?.CurrentAmbientLightLevel ?? 0.0001;
|
|
168
|
+
});
|
|
169
|
+
accessory.context.LightSensor.Name = this.LightSensor.Name;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Retrieve initial values and updateHomekit
|
|
173
|
+
this.refreshStatus();
|
|
157
174
|
|
|
158
175
|
// Update Homekit
|
|
159
176
|
this.updateHomeKitCharacteristics();
|
|
@@ -167,19 +184,21 @@ export class BlindTilt extends deviceBase {
|
|
|
167
184
|
|
|
168
185
|
//regisiter webhook event handler
|
|
169
186
|
if (device.webhook) {
|
|
170
|
-
this.debugLog(`${
|
|
187
|
+
this.debugLog(`${device.deviceType}: ${accessory.displayName} is listening webhook.`);
|
|
171
188
|
this.platform.webhookEventHandler[this.device.deviceId] = async (context) => {
|
|
172
189
|
try {
|
|
173
|
-
this.debugLog(`${
|
|
174
|
-
const { slidePosition, battery } = context;
|
|
190
|
+
this.debugLog(`${device.deviceType}: ${accessory.displayName} received Webhook: ${JSON.stringify(context)}`);
|
|
191
|
+
const { slidePosition, battery, lightLevel } = context;
|
|
175
192
|
const { CurrentPosition } = this.WindowCovering;
|
|
176
193
|
const { BatteryLevel } = this.Battery;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
`Webhook:(${slidePosition}, ${battery}), `
|
|
180
|
-
|
|
181
|
-
this.WindowCovering!.CurrentPosition = slidePosition;
|
|
194
|
+
const { CurrentAmbientLightLevel } = this.LightSensor ?? {};
|
|
195
|
+
this.debugLog(`${device.deviceType}: ${accessory.displayName} (slidePosition, battery, lightLevel) = `
|
|
196
|
+
+ `Webhook:(${slidePosition}, ${battery}, ${lightLevel}), current:(${CurrentPosition}, ${BatteryLevel}, ${CurrentAmbientLightLevel})`);
|
|
197
|
+
this.WindowCovering.CurrentPosition = slidePosition;
|
|
182
198
|
this.Battery.BatteryLevel = battery;
|
|
199
|
+
if (!device.blindTilt?.hide_lightsensor) {
|
|
200
|
+
this.LightSensor!.CurrentAmbientLightLevel = lightLevel;
|
|
201
|
+
}
|
|
183
202
|
this.updateHomeKitCharacteristics();
|
|
184
203
|
} catch (e: any) {
|
|
185
204
|
this.errorLog(`${this.device.deviceType}: ${this.accessory.displayName} `
|
|
@@ -192,11 +211,11 @@ export class BlindTilt extends deviceBase {
|
|
|
192
211
|
interval(this.deviceUpdateRate * 1000)
|
|
193
212
|
//.pipe(skipWhile(() => this.blindTiltUpdateInProgress))
|
|
194
213
|
.subscribe(async () => {
|
|
195
|
-
if (this.WindowCovering
|
|
214
|
+
if (this.WindowCovering.PositionState === this.hap.Characteristic.PositionState.STOPPED) {
|
|
196
215
|
return;
|
|
197
216
|
}
|
|
198
|
-
this.debugLog(`${
|
|
199
|
-
+ ` PositionState: ${this.WindowCovering
|
|
217
|
+
this.debugLog(`${device.deviceType}: ${accessory.displayName} Refresh Status When Moving,`
|
|
218
|
+
+ ` PositionState: ${this.WindowCovering.PositionState}`);
|
|
200
219
|
await this.refreshStatus();
|
|
201
220
|
});
|
|
202
221
|
|
|
@@ -214,10 +233,8 @@ export class BlindTilt extends deviceBase {
|
|
|
214
233
|
await this.pushChanges();
|
|
215
234
|
} catch (e: any) {
|
|
216
235
|
this.apiError(e);
|
|
217
|
-
this.errorLog(
|
|
218
|
-
|
|
219
|
-
` Error Message: ${JSON.stringify(e.message)}`,
|
|
220
|
-
);
|
|
236
|
+
this.errorLog(`${device.deviceType}: ${accessory.displayName} failed pushChanges with ${device.connectionType} Connection,` +
|
|
237
|
+
` Error Message: ${JSON.stringify(e.message)}`);
|
|
221
238
|
}
|
|
222
239
|
this.blindTiltUpdateInProgress = false;
|
|
223
240
|
});
|
|
@@ -846,6 +863,17 @@ export class BlindTilt extends deviceBase {
|
|
|
846
863
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} updateCharacteristic`
|
|
847
864
|
+ ` StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
848
865
|
}
|
|
866
|
+
if (this.Battery.ChargingState === undefined) {
|
|
867
|
+
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} ChargingState: ${this.Battery.ChargingState}`);
|
|
868
|
+
} else {
|
|
869
|
+
if (this.device.mqttURL) {
|
|
870
|
+
this.mqttPublish('ChargingState', this.Battery.ChargingState.toString());
|
|
871
|
+
}
|
|
872
|
+
this.accessory.context.ChargingState = this.Battery.ChargingState;
|
|
873
|
+
this.Battery.Service.updateCharacteristic(this.hap.Characteristic.ChargingState, this.Battery.ChargingState);
|
|
874
|
+
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} updateCharacteristic`
|
|
875
|
+
+ ` ChargingState: ${this.Battery.ChargingState}`);
|
|
876
|
+
}
|
|
849
877
|
}
|
|
850
878
|
|
|
851
879
|
async BLEPushConnection() {
|
|
@@ -910,7 +938,7 @@ export class BlindTilt extends deviceBase {
|
|
|
910
938
|
}
|
|
911
939
|
}
|
|
912
940
|
|
|
913
|
-
minStep(device: device & devicesConfig): number {
|
|
941
|
+
async minStep(device: device & devicesConfig): Promise<number> {
|
|
914
942
|
let set_minStep: number;
|
|
915
943
|
if (device.blindTilt?.set_minStep) {
|
|
916
944
|
set_minStep = device.blindTilt?.set_minStep;
|
|
@@ -945,6 +973,8 @@ export class BlindTilt extends deviceBase {
|
|
|
945
973
|
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.CurrentPosition, 100);
|
|
946
974
|
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.PositionState, this.hap.Characteristic.PositionState.STOPPED);
|
|
947
975
|
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.TargetPosition, 100);
|
|
976
|
+
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.CurrentHorizontalTiltAngle, 90);
|
|
977
|
+
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.TargetHorizontalTiltAngle, 90);
|
|
948
978
|
}
|
|
949
979
|
}
|
|
950
980
|
|
|
@@ -952,14 +982,15 @@ export class BlindTilt extends deviceBase {
|
|
|
952
982
|
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.CurrentPosition, e);
|
|
953
983
|
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.PositionState, e);
|
|
954
984
|
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.TargetPosition, e);
|
|
985
|
+
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.CurrentHorizontalTiltAngle, e);
|
|
986
|
+
this.WindowCovering.Service.updateCharacteristic(this.hap.Characteristic.TargetHorizontalTiltAngle, e);
|
|
987
|
+
this.Battery.Service.updateCharacteristic(this.hap.Characteristic.BatteryLevel, e);
|
|
988
|
+
this.Battery.Service.updateCharacteristic(this.hap.Characteristic.StatusLowBattery, e);
|
|
989
|
+
this.Battery.Service.updateCharacteristic(this.hap.Characteristic.ChargingState, e);
|
|
955
990
|
if (!this.device.curtain?.hide_lightsensor) {
|
|
956
991
|
this.LightSensor!.Service.updateCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel, e);
|
|
992
|
+
this.LightSensor!.Service.updateCharacteristic(this.hap.Characteristic.StatusActive, e);
|
|
957
993
|
}
|
|
958
|
-
if (this.BLE) {
|
|
959
|
-
this.Battery?.Service.updateCharacteristic(this.hap.Characteristic.BatteryLevel, e);
|
|
960
|
-
this.Battery?.Service.updateCharacteristic(this.hap.Characteristic.StatusLowBattery, e);
|
|
961
|
-
}
|
|
962
|
-
//throw new this.platform.api.hap.HapStatusError(HAPStatus.SERVICE_COMMUNICATION_FAILURE);
|
|
963
994
|
}
|
|
964
995
|
|
|
965
996
|
/**
|