@kohost/api-client 3.0.0-beta.99 → 3.0.0
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/cjs/Client/index.js +374 -67
- package/dist/cjs/Commands/CreateShortLinkCommand.js +2 -2
- package/dist/cjs/Commands/OCRDocumentCommand.js +2 -2
- package/dist/cjs/Commands/SetAlarmCommand.js +2 -2
- package/dist/cjs/Commands/SetCourtesyCommand.js +2 -2
- package/dist/cjs/Commands/SetDimmerCommand.js +2 -2
- package/dist/cjs/Commands/SetLockCommand.js +2 -2
- package/dist/cjs/Commands/SetSwitchCommand.js +2 -2
- package/dist/cjs/Commands/SetThermostatCommand.js +2 -2
- package/dist/cjs/Commands/SetWindowCoveringCommand.js +2 -2
- package/dist/cjs/Events/ReservationCheckInEvent.js +23 -0
- package/dist/cjs/Events/ReservationCheckOutEvent.js +23 -0
- package/dist/cjs/Events/index.js +6 -0
- package/dist/cjs/SocketIoClient/index.js +23 -4
- package/dist/cjs/schemas/AlarmSchema.d.ts +13 -2
- package/dist/cjs/schemas/CredentialSchema.d.ts +1 -1
- package/dist/cjs/schemas/DiscoveredDeviceSchema.d.ts +4 -0
- package/dist/cjs/schemas/MediaSourceSchema.d.ts +3 -1
- package/dist/cjs/schemas/OrganizationSchema.d.ts +30 -0
- package/dist/cjs/schemas/PropertySchema.d.ts +25 -34
- package/dist/cjs/schemas/ReservationSchema.d.ts +1 -0
- package/dist/cjs/schemas/RoomSchema.d.ts +18 -4
- package/dist/cjs/schemas/SceneSchema.d.ts +2 -1
- package/dist/cjs/schemas/UserSchema.d.ts +1 -0
- package/dist/cjs/schemas/WindowCoveringSchema.d.ts +2 -1
- package/dist/cjs/schemas/alarm.json +4 -4
- package/dist/cjs/schemas/credential.json +1 -0
- package/dist/cjs/schemas/discoveredDevice.json +4 -0
- package/dist/cjs/schemas/mediaSource.json +11 -1
- package/dist/cjs/schemas/organization.json +109 -0
- package/dist/cjs/schemas/property.json +38 -115
- package/dist/cjs/schemas/reservation.json +3 -0
- package/dist/cjs/schemas/scene.json +3 -0
- package/dist/cjs/schemas/windowCovering.json +8 -2
- package/dist/esm/Client.js +504 -193
- package/dist/esm/Client.js.map +4 -4
- package/dist/esm/Commands.js +18 -18
- package/dist/esm/Commands.js.map +2 -2
- package/dist/esm/Events.js +55 -1
- package/dist/esm/Events.js.map +3 -3
- package/dist/esm/Models.js +180 -121
- package/dist/esm/Models.js.map +2 -2
- package/dist/esm/SocketIoClient.js +26 -7
- package/dist/esm/SocketIoClient.js.map +2 -2
- package/dist/esm/defs.js +162 -131
- package/dist/esm/defs.js.map +4 -4
- package/dist/useCases/{LoginUser.js → CreateScene.js} +2 -2
- package/dist/useCases/DescribeAlarmConfig.js +32 -0
- package/dist/useCases/{DescribeMyProperty.js → DescribeMyOrganization.js} +2 -2
- package/dist/useCases/DescribeMyPasskeyRegistrations.js +32 -0
- package/dist/useCases/FinishRegisterPasskey.js +32 -0
- package/dist/useCases/{RequestLoginLink.js → ListMyProperties.js} +3 -3
- package/dist/useCases/{RequestPWAToken.js → LoginFinish.js} +3 -3
- package/dist/useCases/LoginStart.js +32 -0
- package/dist/useCases/{RequestMyKeyToken.js → RequestLoginToken.js} +3 -3
- package/dist/useCases/SetAlarm.js +32 -0
- package/dist/useCases/SetCustomScene.js +32 -0
- package/dist/useCases/StartRegisterPasskey.js +32 -0
- package/package.json +3 -4
|
@@ -2,10 +2,10 @@ const Command = require("./Command");
|
|
|
2
2
|
const RequestError = require("../Errors/RequestError");
|
|
3
3
|
|
|
4
4
|
class CreateShortLinkCommand extends Command {
|
|
5
|
-
constructor({ title, destination }) {
|
|
5
|
+
constructor({ title, destination, ...rest }) {
|
|
6
6
|
if (!title) throw new RequestError("title is required");
|
|
7
7
|
if (!destination) throw new RequestError("destination to is required");
|
|
8
|
-
super({ title, destination });
|
|
8
|
+
super({ title, destination, ...rest });
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
get name() {
|
|
@@ -2,9 +2,9 @@ const Command = require("./Command");
|
|
|
2
2
|
const RequestError = require("../Errors/RequestError");
|
|
3
3
|
|
|
4
4
|
class OCRDocumentCommand extends Command {
|
|
5
|
-
constructor({ type, image }) {
|
|
5
|
+
constructor({ type, image, ...rest }) {
|
|
6
6
|
if (!image) throw new RequestError("document image is required");
|
|
7
|
-
super({ type, image });
|
|
7
|
+
super({ type, image, ...rest });
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
get name() {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const Command = require("./Command");
|
|
2
2
|
|
|
3
3
|
class SetAlarmCommand extends Command {
|
|
4
|
-
constructor({ id, zones, areas }) {
|
|
5
|
-
super({ id, zones, areas });
|
|
4
|
+
constructor({ id, zones, areas, code, ...rest }) {
|
|
5
|
+
super({ id, zones, areas, code, ...rest });
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
get name() {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const Command = require("./Command");
|
|
2
2
|
|
|
3
3
|
class SetThermostatCommand extends Command {
|
|
4
|
-
constructor({ id, setpoints, hvacMode, fanMode }) {
|
|
5
|
-
super({ id, setpoints, hvacMode, fanMode });
|
|
4
|
+
constructor({ id, setpoints, hvacMode, fanMode, ...rest }) {
|
|
5
|
+
super({ id, setpoints, hvacMode, fanMode, ...rest });
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
get name() {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const Event = require("./Event");
|
|
2
|
+
|
|
3
|
+
class ReservationCheckInEvent extends Event {
|
|
4
|
+
constructor(reservation) {
|
|
5
|
+
super(reservation);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
get name() {
|
|
9
|
+
return "ReservationCheckIn";
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
get routingKey() {
|
|
13
|
+
return `${this.data[0].organizationId || "#"}.${
|
|
14
|
+
this.data[0].propertyId || "#"
|
|
15
|
+
}.reservation.ReservationCheckIn`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static get entity() {
|
|
19
|
+
return "reservation";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = ReservationCheckInEvent;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const Event = require("./Event");
|
|
2
|
+
|
|
3
|
+
class ReservationCheckOutEvent extends Event {
|
|
4
|
+
constructor(reservation) {
|
|
5
|
+
super(reservation);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
get name() {
|
|
9
|
+
return "ReservationCheckIn";
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
get routingKey() {
|
|
13
|
+
return `${this.data[0].organizationId || "#"}.${
|
|
14
|
+
this.data[0].propertyId || "#"
|
|
15
|
+
}.reservation.ReservationCheckOut`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static get entity() {
|
|
19
|
+
return "reservation";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = ReservationCheckOutEvent;
|
package/dist/cjs/Events/index.js
CHANGED
|
@@ -30,6 +30,10 @@ const ShortLinkCreatedEvent = require("./ShortLinkCreatedEvent");
|
|
|
30
30
|
const ApplicationInUseEvent = require("./ApplicationInUseEvent");
|
|
31
31
|
const ApplicationOutOfUseEvent = require("./ApplicationOutOfUseEvent");
|
|
32
32
|
|
|
33
|
+
const ReservationCheckInEvent = require("./ReservationCheckInEvent");
|
|
34
|
+
const ReservationCheckOutEvent = require("./ReservationCheckOutEvent");
|
|
35
|
+
|
|
36
|
+
|
|
33
37
|
// Delete Events
|
|
34
38
|
const SystemEntityDeletedEvent = require("./SystemEntityDeletedEvent");
|
|
35
39
|
|
|
@@ -62,4 +66,6 @@ module.exports = {
|
|
|
62
66
|
ShortLinkCreatedEvent,
|
|
63
67
|
ApplicationInUseEvent,
|
|
64
68
|
ApplicationOutOfUseEvent,
|
|
69
|
+
ReservationCheckInEvent,
|
|
70
|
+
ReservationCheckOutEvent
|
|
65
71
|
};
|
|
@@ -2,12 +2,15 @@ const io = require("socket.io-client");
|
|
|
2
2
|
const { EventEmitter } = require("events");
|
|
3
3
|
|
|
4
4
|
module.exports = class SocketIoClient extends EventEmitter {
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(
|
|
6
|
+
config = {
|
|
7
|
+
url: null,
|
|
8
|
+
options: {},
|
|
9
|
+
}
|
|
10
|
+
) {
|
|
6
11
|
super();
|
|
7
|
-
if (!config.url) throw new Error("
|
|
8
|
-
if (!config.propertyId) throw new Error("Property ID not provided");
|
|
12
|
+
if (!config.url) throw new Error("config.url is required");
|
|
9
13
|
this.url = config.url;
|
|
10
|
-
this.propertyId = config.propertyId;
|
|
11
14
|
this.options = {
|
|
12
15
|
autoConnect: false,
|
|
13
16
|
forceNew: false,
|
|
@@ -39,6 +42,16 @@ module.exports = class SocketIoClient extends EventEmitter {
|
|
|
39
42
|
});
|
|
40
43
|
}
|
|
41
44
|
|
|
45
|
+
#url = null;
|
|
46
|
+
|
|
47
|
+
get url() {
|
|
48
|
+
return this.#url;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
set url(url) {
|
|
52
|
+
this.#url = url;
|
|
53
|
+
}
|
|
54
|
+
|
|
42
55
|
get connected() {
|
|
43
56
|
return this.socket?.connected || false;
|
|
44
57
|
}
|
|
@@ -71,4 +84,10 @@ module.exports = class SocketIoClient extends EventEmitter {
|
|
|
71
84
|
send(event, { data = {}, query = {}, ...rest }) {
|
|
72
85
|
this.socket.emit(event, { data, query, ...rest });
|
|
73
86
|
}
|
|
87
|
+
|
|
88
|
+
destroy() {
|
|
89
|
+
this.disconnect();
|
|
90
|
+
this.socket.removeAllListeners();
|
|
91
|
+
this.socket = null;
|
|
92
|
+
}
|
|
74
93
|
};
|
|
@@ -145,14 +145,25 @@ export interface Alarm {
|
|
|
145
145
|
number?: number;
|
|
146
146
|
name?: string;
|
|
147
147
|
securityMode?: "arming" | "disarming" | "armed" | "disarmed" | "alarm" | null;
|
|
148
|
-
readyToArm?: boolean | null;
|
|
149
148
|
}[];
|
|
150
149
|
zones: {
|
|
151
150
|
number?: number;
|
|
152
151
|
name?: string;
|
|
153
|
-
secure?: boolean;
|
|
152
|
+
secure?: boolean | null;
|
|
154
153
|
bypassed?: boolean | null;
|
|
155
154
|
}[];
|
|
156
155
|
watts?: number;
|
|
156
|
+
address?: Address;
|
|
157
|
+
[k: string]: unknown;
|
|
158
|
+
}
|
|
159
|
+
export interface Address {
|
|
160
|
+
id?: string;
|
|
161
|
+
line1?: string;
|
|
162
|
+
line2?: string;
|
|
163
|
+
line3?: string;
|
|
164
|
+
city?: string;
|
|
165
|
+
state?: string;
|
|
166
|
+
postalCode?: string;
|
|
167
|
+
countryCode?: string;
|
|
157
168
|
[k: string]: unknown;
|
|
158
169
|
}
|
|
@@ -36,7 +36,7 @@ export interface Credential {
|
|
|
36
36
|
| "cloudflare-images"
|
|
37
37
|
| "cloudflare-stream"
|
|
38
38
|
| "insperia-privacy";
|
|
39
|
-
discriminator?: "verificationCode" | "token" | "mobileKey" | "pin" | "publicKey" | "id";
|
|
39
|
+
discriminator?: "verificationCode" | "token" | "mobileKey" | "pin" | "publicKey" | "passkeyChallenge" | "id";
|
|
40
40
|
credential: string;
|
|
41
41
|
user?: string;
|
|
42
42
|
organization?: string;
|
|
@@ -39,5 +39,9 @@ export interface DiscoveredDevice {
|
|
|
39
39
|
* Reference (id) to the organization that owns this device
|
|
40
40
|
*/
|
|
41
41
|
organization?: string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Reference (id) to the property that this device belongs to
|
|
44
|
+
*/
|
|
45
|
+
property?: string | null;
|
|
42
46
|
[k: string]: unknown;
|
|
43
47
|
}
|
|
@@ -90,7 +90,9 @@ export type Notification = {
|
|
|
90
90
|
*/
|
|
91
91
|
export interface MediaSource {
|
|
92
92
|
id: string;
|
|
93
|
-
type:
|
|
93
|
+
type: string;
|
|
94
|
+
discriminator: "tv" | "dvr" | "appleTv" | "discPlayer" | "mediaPlayer" | "uncontrolledDevice";
|
|
95
|
+
remote?: "MR22GA";
|
|
94
96
|
name?: string;
|
|
95
97
|
driver:
|
|
96
98
|
| "aws-kinesis"
|
|
@@ -25,6 +25,36 @@ export interface Organization {
|
|
|
25
25
|
accountNumber: number | null;
|
|
26
26
|
name: string;
|
|
27
27
|
properties?: string[];
|
|
28
|
+
hostname?: string | null;
|
|
29
|
+
appManifest?: {
|
|
30
|
+
name?: string;
|
|
31
|
+
short_name?: string;
|
|
32
|
+
scope?: string;
|
|
33
|
+
start_url?: string;
|
|
34
|
+
themeColor?: string;
|
|
35
|
+
backgroundColor?: string;
|
|
36
|
+
display?: "fullscreen" | "standalone" | "minimal-ui" | "browser";
|
|
37
|
+
orientation?: "portrait" | "landscape";
|
|
38
|
+
splash?: {
|
|
39
|
+
src?: string;
|
|
40
|
+
type?: string;
|
|
41
|
+
sizes?: string;
|
|
42
|
+
[k: string]: unknown;
|
|
43
|
+
};
|
|
44
|
+
icons?: {
|
|
45
|
+
src?: string;
|
|
46
|
+
sizes?: string;
|
|
47
|
+
type?: string;
|
|
48
|
+
[k: string]: unknown;
|
|
49
|
+
}[];
|
|
50
|
+
logo?: {
|
|
51
|
+
src?: string;
|
|
52
|
+
type?: string;
|
|
53
|
+
sizes?: string;
|
|
54
|
+
[k: string]: unknown;
|
|
55
|
+
};
|
|
56
|
+
[k: string]: unknown;
|
|
57
|
+
};
|
|
28
58
|
credentials?: {
|
|
29
59
|
[k: string]: unknown;
|
|
30
60
|
};
|
|
@@ -13,6 +13,10 @@ export interface Property {
|
|
|
13
13
|
name: string;
|
|
14
14
|
type: string;
|
|
15
15
|
discriminator?: "hospitality" | "education" | "commercial";
|
|
16
|
+
/**
|
|
17
|
+
* Reference (id) to the organization that owns this property
|
|
18
|
+
*/
|
|
19
|
+
organization: string | null;
|
|
16
20
|
testModeEnabled?: boolean;
|
|
17
21
|
testMode?: {
|
|
18
22
|
/**
|
|
@@ -23,51 +27,32 @@ export interface Property {
|
|
|
23
27
|
};
|
|
24
28
|
timezone?: string;
|
|
25
29
|
smsNumber?: string;
|
|
26
|
-
hostname: string | null;
|
|
27
|
-
/**
|
|
28
|
-
* Reference (id) to the organization that owns this property
|
|
29
|
-
*/
|
|
30
|
-
organization: string | null;
|
|
31
30
|
checkInTime?: string;
|
|
32
31
|
checkOutTime?: string;
|
|
33
32
|
address?: Address;
|
|
34
33
|
latitude?: number;
|
|
35
34
|
longitude?: number;
|
|
36
|
-
appManifest?: {
|
|
37
|
-
name?: string;
|
|
38
|
-
short_name?: string;
|
|
39
|
-
scope?: string;
|
|
40
|
-
start_url?: string;
|
|
41
|
-
themeColor?: string;
|
|
42
|
-
backgroundColor?: string;
|
|
43
|
-
display?: "fullscreen" | "standalone" | "minimal-ui" | "browser";
|
|
44
|
-
orientation?: "portrait" | "landscape";
|
|
45
|
-
splash?: {
|
|
46
|
-
src?: string;
|
|
47
|
-
type?: string;
|
|
48
|
-
sizes?: string;
|
|
49
|
-
[k: string]: unknown;
|
|
50
|
-
};
|
|
51
|
-
icons?: {
|
|
52
|
-
src?: string;
|
|
53
|
-
sizes?: string;
|
|
54
|
-
type?: string;
|
|
55
|
-
[k: string]: unknown;
|
|
56
|
-
}[];
|
|
57
|
-
logo?: {
|
|
58
|
-
src?: string;
|
|
59
|
-
type?: string;
|
|
60
|
-
sizes?: string;
|
|
61
|
-
[k: string]: unknown;
|
|
62
|
-
};
|
|
63
|
-
[k: string]: unknown;
|
|
64
|
-
};
|
|
65
35
|
appFeatures?: {
|
|
66
36
|
RoomControl?: {
|
|
67
37
|
commonAreas?: {
|
|
68
38
|
spaces?: string[];
|
|
69
39
|
[k: string]: unknown;
|
|
70
40
|
};
|
|
41
|
+
alarmConfig?: {
|
|
42
|
+
/**
|
|
43
|
+
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
44
|
+
* via the `patternProperty` "^[a-zA-Z0-9]+$".
|
|
45
|
+
*/
|
|
46
|
+
[k: string]: {
|
|
47
|
+
/**
|
|
48
|
+
* Maps zone numbers to lock ids
|
|
49
|
+
*/
|
|
50
|
+
zoneLockMap?: {
|
|
51
|
+
[k: string]: string;
|
|
52
|
+
};
|
|
53
|
+
[k: string]: unknown;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
71
56
|
};
|
|
72
57
|
CheckIn?: {
|
|
73
58
|
payment?: unknown;
|
|
@@ -114,6 +99,12 @@ export interface Property {
|
|
|
114
99
|
[k: string]: unknown;
|
|
115
100
|
};
|
|
116
101
|
Elevator?: unknown;
|
|
102
|
+
Experiences?: unknown;
|
|
103
|
+
Dining?: unknown;
|
|
104
|
+
Rentals?: unknown;
|
|
105
|
+
Shop?: unknown;
|
|
106
|
+
Spa?: unknown;
|
|
107
|
+
Valet?: unknown;
|
|
117
108
|
};
|
|
118
109
|
notifications?: {
|
|
119
110
|
email?: {
|
|
@@ -496,6 +496,7 @@ export interface WindowCovering {
|
|
|
496
496
|
| "discPlayer"
|
|
497
497
|
| "mediaPlayer"
|
|
498
498
|
| "uncontrolledDevice";
|
|
499
|
+
discriminator?: "basic" | "variable";
|
|
499
500
|
supportedNotifications?: SupportedNotifications;
|
|
500
501
|
notification?: {
|
|
501
502
|
name?:
|
|
@@ -554,7 +555,7 @@ export interface WindowCovering {
|
|
|
554
555
|
| "cloudflare-stream"
|
|
555
556
|
| "insperia-privacy";
|
|
556
557
|
offline?: boolean;
|
|
557
|
-
position: number;
|
|
558
|
+
position: number | null;
|
|
558
559
|
systemId?: string;
|
|
559
560
|
watts?: number;
|
|
560
561
|
[k: string]: unknown;
|
|
@@ -741,7 +742,9 @@ export interface Camera {
|
|
|
741
742
|
*/
|
|
742
743
|
export interface MediaSource {
|
|
743
744
|
id: string;
|
|
744
|
-
type:
|
|
745
|
+
type: string;
|
|
746
|
+
discriminator: "tv" | "dvr" | "appleTv" | "discPlayer" | "mediaPlayer" | "uncontrolledDevice";
|
|
747
|
+
remote?: "MR22GA";
|
|
745
748
|
name?: string;
|
|
746
749
|
driver:
|
|
747
750
|
| "aws-kinesis"
|
|
@@ -1090,14 +1093,25 @@ export interface Alarm {
|
|
|
1090
1093
|
number?: number;
|
|
1091
1094
|
name?: string;
|
|
1092
1095
|
securityMode?: "arming" | "disarming" | "armed" | "disarmed" | "alarm" | null;
|
|
1093
|
-
readyToArm?: boolean | null;
|
|
1094
1096
|
}[];
|
|
1095
1097
|
zones: {
|
|
1096
1098
|
number?: number;
|
|
1097
1099
|
name?: string;
|
|
1098
|
-
secure?: boolean;
|
|
1100
|
+
secure?: boolean | null;
|
|
1099
1101
|
bypassed?: boolean | null;
|
|
1100
1102
|
}[];
|
|
1101
1103
|
watts?: number;
|
|
1104
|
+
address?: Address;
|
|
1105
|
+
[k: string]: unknown;
|
|
1106
|
+
}
|
|
1107
|
+
export interface Address {
|
|
1108
|
+
id?: string;
|
|
1109
|
+
line1?: string;
|
|
1110
|
+
line2?: string;
|
|
1111
|
+
line3?: string;
|
|
1112
|
+
city?: string;
|
|
1113
|
+
state?: string;
|
|
1114
|
+
postalCode?: string;
|
|
1115
|
+
countryCode?: string;
|
|
1102
1116
|
[k: string]: unknown;
|
|
1103
1117
|
}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
export interface Scene {
|
|
12
12
|
id?: string;
|
|
13
13
|
name?: string;
|
|
14
|
+
description?: string;
|
|
14
15
|
devices?: {
|
|
15
16
|
switches?: {
|
|
16
17
|
id?: string;
|
|
@@ -24,7 +25,7 @@ export interface Scene {
|
|
|
24
25
|
}[];
|
|
25
26
|
windowCoverings?: {
|
|
26
27
|
id?: string;
|
|
27
|
-
position?: number;
|
|
28
|
+
position?: number | null;
|
|
28
29
|
[k: string]: unknown;
|
|
29
30
|
}[];
|
|
30
31
|
thermostats?: {
|
|
@@ -109,6 +109,7 @@ export interface WindowCovering {
|
|
|
109
109
|
| "discPlayer"
|
|
110
110
|
| "mediaPlayer"
|
|
111
111
|
| "uncontrolledDevice";
|
|
112
|
+
discriminator?: "basic" | "variable";
|
|
112
113
|
supportedNotifications?: SupportedNotifications;
|
|
113
114
|
notification?: Notification;
|
|
114
115
|
driver:
|
|
@@ -140,7 +141,7 @@ export interface WindowCovering {
|
|
|
140
141
|
| "cloudflare-stream"
|
|
141
142
|
| "insperia-privacy";
|
|
142
143
|
offline?: boolean;
|
|
143
|
-
position: number;
|
|
144
|
+
position: number | null;
|
|
144
145
|
systemId?: string;
|
|
145
146
|
watts?: number;
|
|
146
147
|
[k: string]: unknown;
|
|
@@ -43,9 +43,6 @@
|
|
|
43
43
|
"securityMode": {
|
|
44
44
|
"type": ["string", "null"],
|
|
45
45
|
"enum": ["arming", "disarming", "armed", "disarmed", "alarm", null]
|
|
46
|
-
},
|
|
47
|
-
"readyToArm": {
|
|
48
|
-
"type": ["boolean", "null"]
|
|
49
46
|
}
|
|
50
47
|
},
|
|
51
48
|
"additionalProperties": false
|
|
@@ -64,7 +61,7 @@
|
|
|
64
61
|
"type": "string"
|
|
65
62
|
},
|
|
66
63
|
"secure": {
|
|
67
|
-
"type": "boolean"
|
|
64
|
+
"type": ["boolean", "null"]
|
|
68
65
|
},
|
|
69
66
|
"bypassed": {
|
|
70
67
|
"type": ["boolean", "null"]
|
|
@@ -75,6 +72,9 @@
|
|
|
75
72
|
},
|
|
76
73
|
"watts": {
|
|
77
74
|
"$ref": "definitions.json#/definitions/watts"
|
|
75
|
+
},
|
|
76
|
+
"address": {
|
|
77
|
+
"$ref": "definitions.json#/definitions/address"
|
|
78
78
|
}
|
|
79
79
|
},
|
|
80
80
|
"required": ["id", "type", "areas", "zones", "driver"]
|
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
"organization": {
|
|
31
31
|
"type": ["string", "null"],
|
|
32
32
|
"description": "Reference (id) to the organization that owns this device"
|
|
33
|
+
},
|
|
34
|
+
"property": {
|
|
35
|
+
"type": ["string", "null"],
|
|
36
|
+
"description": "Reference (id) to the property that this device belongs to"
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
}
|
|
@@ -4,12 +4,16 @@
|
|
|
4
4
|
"title": "Media Source",
|
|
5
5
|
"description": "Any media source",
|
|
6
6
|
"type": "object",
|
|
7
|
-
"required": ["id", "type", "audio", "video", "driver"],
|
|
7
|
+
"required": ["id", "type", "discriminator", "audio", "video", "driver"],
|
|
8
8
|
"properties": {
|
|
9
9
|
"id": {
|
|
10
10
|
"$ref": "definitions.json#/definitions/id"
|
|
11
11
|
},
|
|
12
12
|
"type": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"default": "mediaSource"
|
|
15
|
+
},
|
|
16
|
+
"discriminator": {
|
|
13
17
|
"type": "string",
|
|
14
18
|
"enum": [
|
|
15
19
|
"tv",
|
|
@@ -20,6 +24,12 @@
|
|
|
20
24
|
"uncontrolledDevice"
|
|
21
25
|
]
|
|
22
26
|
},
|
|
27
|
+
"remote": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": [
|
|
30
|
+
"MR22GA"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
23
33
|
"name": {
|
|
24
34
|
"$ref": "definitions.json#/definitions/name"
|
|
25
35
|
},
|