@switchbot/homebridge-switchbot 2.5.0-beta.3 → 2.5.0-beta.4
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/config.schema.json +47 -0
- package/dist/device/blindtilt.d.ts +39 -7
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +333 -159
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/settings.d.ts +6 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/package.json +1 -1
- package/src/device/blindtilt.ts +367 -155
- package/src/settings.ts +12 -5
package/config.schema.json
CHANGED
|
@@ -446,6 +446,51 @@
|
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
448
|
},
|
|
449
|
+
"blindTilt": {
|
|
450
|
+
"type": "object",
|
|
451
|
+
"properties": {
|
|
452
|
+
"mode": {
|
|
453
|
+
"title": "Mapping Mode",
|
|
454
|
+
"type": "string",
|
|
455
|
+
"oneOf": [
|
|
456
|
+
{
|
|
457
|
+
"title": "Middle to Up",
|
|
458
|
+
"enum": ["up"]
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"title": "Middle to Down",
|
|
462
|
+
"enum": ["only_down"]
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"title": "Down-to-Up",
|
|
466
|
+
"enum": ["down_and_up"]
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"title": "Up-to-Down",
|
|
470
|
+
"enum": ["up_and_down"]
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"title": "Tilt Direction",
|
|
474
|
+
"enum": ["use_tilt_for_direction"]
|
|
475
|
+
}
|
|
476
|
+
],
|
|
477
|
+
"description": "Defines how the Home app sliders control the blind tilt.",
|
|
478
|
+
"condition": {
|
|
479
|
+
"functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'BlindTilt' && model.options.devices[arrayIndices].deviceId);"
|
|
480
|
+
}
|
|
481
|
+
},
|
|
482
|
+
"updateRate": {
|
|
483
|
+
"title": "Curtain Update Rate",
|
|
484
|
+
"type": "number",
|
|
485
|
+
"minimum": 1,
|
|
486
|
+
"placeholder": 5,
|
|
487
|
+
"description": "Indicates the number of seconds before refreshing Curtain status while updating slide progress.",
|
|
488
|
+
"condition": {
|
|
489
|
+
"functionBody": "return (model.options && model.options.devices && !model.options.devices[arrayIndices].hide_device && model.options.devices[arrayIndices].configDeviceType === 'Curtain' && model.options.devices[arrayIndices].deviceId);"
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
},
|
|
449
494
|
"contact": {
|
|
450
495
|
"type": "object",
|
|
451
496
|
"properties": {
|
|
@@ -1051,6 +1096,8 @@
|
|
|
1051
1096
|
"options.devices[].curtain.hide_lightsensor",
|
|
1052
1097
|
"options.devices[].curtain.set_minlux",
|
|
1053
1098
|
"options.devices[].curtain.set_maxlux",
|
|
1099
|
+
"options.devices[].blindTilt.mode",
|
|
1100
|
+
"options.devices[].blindTilt.updateRate",
|
|
1054
1101
|
"options.devices[].contact.hide_lightsensor",
|
|
1055
1102
|
"options.devices[].contact.set_minlux",
|
|
1056
1103
|
"options.devices[].contact.set_maxlux",
|
|
@@ -8,25 +8,37 @@ import { Subject } from 'rxjs';
|
|
|
8
8
|
import { SwitchBotPlatform } from '../platform';
|
|
9
9
|
import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
|
|
10
10
|
import { device, devicesConfig, serviceData, switchbot, deviceStatus, ad } from '../settings';
|
|
11
|
+
declare enum BlindTiltMappingMode {
|
|
12
|
+
OnlyUp = "only_up",
|
|
13
|
+
OnlyDown = "only_down",
|
|
14
|
+
DownAndUp = "down_and_up",
|
|
15
|
+
UpAndDown = "up_and_down",
|
|
16
|
+
UseTiltForDirection = "use_tilt_for_direction"
|
|
17
|
+
}
|
|
11
18
|
export declare class BlindTilt {
|
|
12
19
|
private readonly platform;
|
|
13
20
|
private accessory;
|
|
14
21
|
device: device & devicesConfig;
|
|
15
22
|
windowCoveringService: Service;
|
|
23
|
+
lightSensorService?: Service;
|
|
16
24
|
batteryService?: Service;
|
|
17
25
|
CurrentPosition: CharacteristicValue;
|
|
18
26
|
PositionState: CharacteristicValue;
|
|
19
27
|
TargetPosition: CharacteristicValue;
|
|
20
|
-
|
|
28
|
+
CurrentAmbientLightLevel?: CharacteristicValue;
|
|
29
|
+
BatteryLevel?: CharacteristicValue;
|
|
21
30
|
StatusLowBattery?: CharacteristicValue;
|
|
22
31
|
CurrentHorizontalTiltAngle: CharacteristicValue;
|
|
23
32
|
TargetHorizontalTiltAngle: CharacteristicValue;
|
|
24
33
|
deviceStatus: any;
|
|
25
34
|
slidePosition: deviceStatus['slidePosition'];
|
|
26
|
-
moving: deviceStatus['moving'];
|
|
27
|
-
Battery: deviceStatus['battery'];
|
|
28
35
|
direction: deviceStatus['direction'];
|
|
29
|
-
|
|
36
|
+
moving: deviceStatus['moving'];
|
|
37
|
+
runStatus: deviceStatus['runStatus'];
|
|
38
|
+
brightness: deviceStatus['brightness'];
|
|
39
|
+
setPositionMode?: string | number;
|
|
40
|
+
Mode: string;
|
|
41
|
+
mappingMode: BlindTiltMappingMode;
|
|
30
42
|
connected?: boolean;
|
|
31
43
|
switchbot: switchbot;
|
|
32
44
|
serviceData: serviceData;
|
|
@@ -36,6 +48,7 @@ export declare class BlindTilt {
|
|
|
36
48
|
battery: serviceData['battery'];
|
|
37
49
|
position: serviceData['position'];
|
|
38
50
|
inMotion: serviceData['inMotion'];
|
|
51
|
+
lightLevel: serviceData['lightLevel'];
|
|
39
52
|
setNewTarget: boolean;
|
|
40
53
|
setNewTargetTimer: NodeJS.Timeout;
|
|
41
54
|
mqttClient: MqttClient | null;
|
|
@@ -74,13 +87,14 @@ export declare class BlindTilt {
|
|
|
74
87
|
maxRetry(): Promise<number>;
|
|
75
88
|
openAPIpushChanges(): Promise<void>;
|
|
76
89
|
/**
|
|
77
|
-
* Handle requests to set the value of the "Target
|
|
90
|
+
* Handle requests to set the value of the "Target Horizontal Tilt" characteristic
|
|
78
91
|
*/
|
|
79
|
-
|
|
92
|
+
TargetHorizontalTiltAngleSet(value: CharacteristicValue): Promise<void>;
|
|
80
93
|
/**
|
|
81
94
|
* Handle requests to set the value of the "Target Position" characteristic
|
|
82
95
|
*/
|
|
83
|
-
|
|
96
|
+
TargetPositionSet(value: CharacteristicValue): Promise<void>;
|
|
97
|
+
startUpdatingBlindTiltIfNeeded(): Promise<void>;
|
|
84
98
|
updateHomeKitCharacteristics(): Promise<void>;
|
|
85
99
|
mqttPublish(topic: string, message: any): void;
|
|
86
100
|
setupMqtt(device: device & devicesConfig): Promise<void>;
|
|
@@ -88,6 +102,7 @@ export declare class BlindTilt {
|
|
|
88
102
|
getCustomBLEAddress(switchbot: any): Promise<void>;
|
|
89
103
|
BLEPushConnection(): Promise<void>;
|
|
90
104
|
BLERefreshConnection(switchbot: any): Promise<void>;
|
|
105
|
+
SilentPerformance(): Promise<void>;
|
|
91
106
|
setMinMax(): Promise<void>;
|
|
92
107
|
minStep(device: device & devicesConfig): number;
|
|
93
108
|
minLux(): number;
|
|
@@ -100,6 +115,22 @@ export declare class BlindTilt {
|
|
|
100
115
|
apiError(e: any): Promise<void>;
|
|
101
116
|
FirmwareRevision(accessory: PlatformAccessory<Context>, device: device & devicesConfig): CharacteristicValue;
|
|
102
117
|
context(): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Maps device values to homekit values
|
|
120
|
+
*
|
|
121
|
+
* @param devicePosition the position as reported by the devide
|
|
122
|
+
* @param direction the direction as reported by the device
|
|
123
|
+
* @returns [homekit position, homekit tiltAngle]
|
|
124
|
+
*/
|
|
125
|
+
mapDeviceValuesToHomekitValues(devicePosition: number, deviceDirection: string): [CharacteristicValue, CharacteristicValue?];
|
|
126
|
+
/**
|
|
127
|
+
* Maps homekit values to device values
|
|
128
|
+
*
|
|
129
|
+
* @param homekitPosition the position as reported by homekit
|
|
130
|
+
* @param homekitTiltAngle? the tilt angle as reported by homekit
|
|
131
|
+
* @returns [device position, device direction]
|
|
132
|
+
*/
|
|
133
|
+
mapHomekitValuesToDeviceValues(homekitPosition: number, homekitTiltAngle: number): [string, number];
|
|
103
134
|
refreshRate(device: device & devicesConfig): Promise<void>;
|
|
104
135
|
config(device: device & devicesConfig): Promise<void>;
|
|
105
136
|
logs(device: device & devicesConfig): Promise<void>;
|
|
@@ -114,4 +145,5 @@ export declare class BlindTilt {
|
|
|
114
145
|
debugLog(...log: any[]): void;
|
|
115
146
|
enablingDeviceLogging(): boolean;
|
|
116
147
|
}
|
|
148
|
+
export {};
|
|
117
149
|
//# sourceMappingURL=blindtilt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blindtilt.d.ts","sourceRoot":"","sources":["../../src/device/blindtilt.ts"],"names":[],"mappings":";;;AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAY,OAAO,EAAE,MAAM,MAAM,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAA0B,MAAM,aAAa,CAAC;AAGtH,qBAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"blindtilt.d.ts","sourceRoot":"","sources":["../../src/device/blindtilt.ts"],"names":[],"mappings":"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"}
|