@kohost/api-client 3.0.0-beta.54 → 3.0.0-beta.56

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.
Files changed (73) hide show
  1. package/dist/cjs/AMQPClient/index.js +1 -0
  2. package/dist/cjs/Client/index.js +40 -0
  3. package/dist/cjs/Errors/ConflictError.js +9 -0
  4. package/dist/cjs/Errors/index.js +1 -0
  5. package/dist/cjs/Events/SceneSetEvent.js +17 -0
  6. package/dist/cjs/Events/index.js +3 -0
  7. package/dist/cjs/Models/Identification.js +1 -1
  8. package/dist/cjs/Models/Notification.js +34 -0
  9. package/dist/cjs/Models/Order.js +48 -0
  10. package/dist/cjs/Models/Reservation.js +10 -0
  11. package/dist/cjs/Models/Scene.js +15 -35
  12. package/dist/cjs/Models/User.js +36 -0
  13. package/dist/cjs/Models/index.js +4 -0
  14. package/dist/cjs/schemas/AlarmSchema.d.ts +150 -0
  15. package/dist/cjs/schemas/CameraSchema.d.ts +142 -0
  16. package/dist/cjs/schemas/CourtesySchema.d.ts +140 -0
  17. package/dist/cjs/schemas/CredentialSchema.d.ts +22 -0
  18. package/dist/cjs/schemas/DefinitionsSchema.d.ts +10 -0
  19. package/dist/cjs/schemas/DimmerSchema.d.ts +140 -0
  20. package/dist/cjs/schemas/DiscoveredDeviceSchema.d.ts +39 -0
  21. package/dist/cjs/schemas/EmailMessageSchema.d.ts +52 -0
  22. package/dist/cjs/schemas/EnergyReportSchema.d.ts +57 -0
  23. package/dist/cjs/schemas/EnergyReportShardSchema.d.ts +61 -0
  24. package/dist/cjs/schemas/GatewaySchema.d.ts +137 -0
  25. package/dist/cjs/schemas/IdentificationSchema.d.ts +48 -0
  26. package/dist/cjs/schemas/LockSchema.d.ts +140 -0
  27. package/dist/cjs/schemas/MediaFileSchema.d.ts +46 -0
  28. package/dist/cjs/schemas/MediaSourceSchema.d.ts +237 -0
  29. package/dist/cjs/schemas/MotionSensorSchema.d.ts +136 -0
  30. package/dist/cjs/schemas/NotificationSchema.d.ts +57 -0
  31. package/dist/cjs/schemas/OrderSchema.d.ts +90 -0
  32. package/dist/cjs/schemas/OrganizationSchema.d.ts +33 -0
  33. package/dist/cjs/schemas/PaymentSchema.d.ts +36 -0
  34. package/dist/cjs/schemas/ProductSchema.d.ts +65 -0
  35. package/dist/cjs/schemas/PropertySchema.d.ts +119 -0
  36. package/dist/cjs/schemas/ReservationSchema.d.ts +89 -0
  37. package/dist/cjs/schemas/RoomSchema.d.ts +1035 -0
  38. package/dist/cjs/schemas/SceneSchema.d.ts +57 -0
  39. package/dist/cjs/schemas/ShortLinkSchema.d.ts +23 -0
  40. package/dist/cjs/schemas/SmsMessageSchema.d.ts +43 -0
  41. package/dist/cjs/schemas/SpaceSchema.d.ts +64 -0
  42. package/dist/cjs/schemas/SpaceTypeSchema.d.ts +80 -0
  43. package/dist/cjs/schemas/SwitchSchema.d.ts +140 -0
  44. package/dist/cjs/schemas/SystemUserSchema.d.ts +184 -0
  45. package/dist/cjs/schemas/ThermostatSchema.d.ts +170 -0
  46. package/dist/cjs/schemas/TicketSchema.d.ts +76 -0
  47. package/dist/cjs/schemas/UserSchema.d.ts +259 -0
  48. package/dist/cjs/schemas/WindowCoveringSchema.d.ts +139 -0
  49. package/dist/cjs/schemas/alarm.json +7 -21
  50. package/dist/cjs/schemas/camera.json +1 -1
  51. package/dist/cjs/schemas/courtesy.json +3 -0
  52. package/dist/cjs/schemas/dimmer.json +3 -0
  53. package/dist/cjs/schemas/mediaSource.json +3 -0
  54. package/dist/cjs/schemas/notification.json +29 -0
  55. package/dist/cjs/schemas/order.json +179 -0
  56. package/dist/cjs/schemas/space.json +5 -1
  57. package/dist/cjs/schemas/spaceType.json +6 -0
  58. package/dist/cjs/schemas/switch.json +3 -0
  59. package/dist/cjs/schemas/windowCovering.json +4 -4
  60. package/dist/esm/Client.js +40 -0
  61. package/dist/esm/Client.js.map +3 -3
  62. package/dist/esm/Commands.js +18 -0
  63. package/dist/esm/Commands.js.map +3 -3
  64. package/dist/esm/Errors.js +18 -0
  65. package/dist/esm/Errors.js.map +3 -3
  66. package/dist/esm/Events.js +24 -0
  67. package/dist/esm/Events.js.map +3 -3
  68. package/dist/esm/Models.js +418 -119
  69. package/dist/esm/Models.js.map +3 -3
  70. package/dist/esm/utils.js +18 -0
  71. package/dist/esm/utils.js.map +3 -3
  72. package/dist/useCases/RequestPWAToken.js +32 -0
  73. package/package.json +1 -1
@@ -0,0 +1,170 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export type SupportedNotifications = (
9
+ | "button 1"
10
+ | "button 2"
11
+ | "button 3"
12
+ | "button 4"
13
+ | "button 5"
14
+ | "idle"
15
+ | "powerHasBeedApplied"
16
+ | "acMainsDisconnected"
17
+ | "acMainsReconnected"
18
+ | "replaceBatterySoon"
19
+ | "replaceBatteryNow"
20
+ | "hardwareFailure"
21
+ | "softwareFailure"
22
+ | "hardwareFailureWithCode"
23
+ | "softwareFailureWithCode"
24
+ | "motionDetection"
25
+ | "airFilterNeedsCleaned"
26
+ | "smokeDetected"
27
+ | "outsideSafeTemperatureRange"
28
+ | "outsideSafeHumidityRange"
29
+ )[];
30
+ export type Notification = {
31
+ name?:
32
+ | "button 1"
33
+ | "button 2"
34
+ | "button 3"
35
+ | "button 4"
36
+ | "button 5"
37
+ | "idle"
38
+ | "powerHasBeedApplied"
39
+ | "acMainsDisconnected"
40
+ | "acMainsReconnected"
41
+ | "replaceBatterySoon"
42
+ | "replaceBatteryNow"
43
+ | "hardwareFailure"
44
+ | "softwareFailure"
45
+ | "hardwareFailureWithCode"
46
+ | "softwareFailureWithCode"
47
+ | "motionDetection"
48
+ | "airFilterNeedsCleaned"
49
+ | "smokeDetected"
50
+ | "outsideSafeTemperatureRange"
51
+ | "outsideSafeHumidityRange";
52
+ timestamp?: number;
53
+ description?: string;
54
+ [k: string]: unknown;
55
+ } & ({
56
+ name?:
57
+ | "button 1"
58
+ | "button 2"
59
+ | "button 3"
60
+ | "button 4"
61
+ | "button 5"
62
+ | "idle"
63
+ | "powerHasBeedApplied"
64
+ | "acMainsDisconnected"
65
+ | "acMainsReconnected"
66
+ | "replaceBatterySoon"
67
+ | "replaceBatteryNow"
68
+ | "hardwareFailure"
69
+ | "softwareFailure"
70
+ | "hardwareFailureWithCode"
71
+ | "softwareFailureWithCode"
72
+ | "motionDetection"
73
+ | "airFilterNeedsCleaned"
74
+ | "smokeDetected"
75
+ | "outsideSafeTemperatureRange"
76
+ | "outsideSafeHumidityRange";
77
+ timestamp?: number;
78
+ description?: string;
79
+ [k: string]: unknown;
80
+ } | null);
81
+ export type SetpointValue = number;
82
+ export type SetpointMinMax = number | null;
83
+
84
+ /**
85
+ * Any smart thermostat
86
+ */
87
+ export interface Thermostat {
88
+ id: string;
89
+ name?: string;
90
+ type:
91
+ | "alarm"
92
+ | "dimmer"
93
+ | "switch"
94
+ | "motionSensor"
95
+ | "windowCovering"
96
+ | "camera"
97
+ | "mediaSource"
98
+ | "thermostat"
99
+ | "lock"
100
+ | "courtesy"
101
+ | "gateway"
102
+ | "tv"
103
+ | "dvr"
104
+ | "appleTv"
105
+ | "discPlayer"
106
+ | "mediaPlayer"
107
+ | "uncontrolledDevice";
108
+ driver:
109
+ | "aws-kinesis"
110
+ | "butler"
111
+ | "crestron"
112
+ | "ecobee"
113
+ | "igor"
114
+ | "inncom"
115
+ | "kohost-k7"
116
+ | "kohost-pms"
117
+ | "lg"
118
+ | "lirc"
119
+ | "mews"
120
+ | "paxton"
121
+ | "pelican-wireless"
122
+ | "rebrandly"
123
+ | "salto"
124
+ | "salto-irn"
125
+ | "se"
126
+ | "sendgrid"
127
+ | "stay-n-touch"
128
+ | "twilio"
129
+ | "cloudflare-images"
130
+ | "cloudflare-stream"
131
+ | "insperia-privacy";
132
+ offline?: boolean;
133
+ supportedNotifications?: SupportedNotifications;
134
+ notification?: Notification;
135
+ currentTemperature?: number;
136
+ currentHumidity?: number;
137
+ hvacMode: "cool" | "heat" | "auto" | "off";
138
+ hvacState: "cooling" | "heating" | "off" | null;
139
+ fanMode: "auto" | "low" | "medium" | "high" | "off" | "on";
140
+ fanState: "off" | "low" | "medium" | "high" | "on" | null;
141
+ temperatureScale: "celsius" | "fahrenheit";
142
+ humidityScale?: "absolute" | "relative" | null;
143
+ /**
144
+ * @minItems 2
145
+ */
146
+ supportedHvacModes: [
147
+ "cool" | "heat" | "auto" | "off",
148
+ "cool" | "heat" | "auto" | "off",
149
+ ...("cool" | "heat" | "auto" | "off")[]
150
+ ];
151
+ supportedFanModes: ("auto" | "low" | "medium" | "high" | "off" | "on")[];
152
+ setpoints: {
153
+ cool?: Setpoint;
154
+ heat?: Setpoint;
155
+ auto?: Setpoint;
156
+ };
157
+ minAutoDelta?: number;
158
+ cycleRate?: number;
159
+ batteryLevel?: number;
160
+ systemData: SystemData;
161
+ watts?: number;
162
+ }
163
+ export interface Setpoint {
164
+ value?: SetpointValue;
165
+ min?: SetpointMinMax;
166
+ max?: SetpointMinMax;
167
+ }
168
+ export interface SystemData {
169
+ [k: string]: unknown;
170
+ }
@@ -0,0 +1,76 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export type CreatedAt =
9
+ | string
10
+ | {
11
+ [k: string]: unknown;
12
+ };
13
+ export type Date =
14
+ | string
15
+ | {
16
+ [k: string]: unknown;
17
+ };
18
+
19
+ /**
20
+ * A ticket is a request for help from a user.
21
+ */
22
+ export interface Ticket {
23
+ id: string;
24
+ conversation: {
25
+ id: string;
26
+ userId: string;
27
+ userName?: string;
28
+ timestamp: CreatedAt;
29
+ body: string;
30
+ readBy?: string[];
31
+ media?: MediaFile;
32
+ }[];
33
+ requester: string;
34
+ assignedTo?: string | null;
35
+ status: "open" | "pending" | "solved" | "closed";
36
+ tags: string[];
37
+ rating?: number;
38
+ ratingComment?: string;
39
+ createdAt: Date;
40
+ updatedAt: Date;
41
+ solvedAt?: Date;
42
+ closedAt?: Date;
43
+ }
44
+ /**
45
+ * Any media file
46
+ */
47
+ export interface MediaFile {
48
+ id?: string;
49
+ type: string;
50
+ name?: string;
51
+ fileHash?: string;
52
+ mimeType?:
53
+ | "image/*"
54
+ | "image/jpeg"
55
+ | "image/png"
56
+ | "image/gif"
57
+ | "image/webp"
58
+ | "image/avif"
59
+ | "image/svg+xml"
60
+ | "application/pdf";
61
+ data?: string;
62
+ url?: string;
63
+ width?: number;
64
+ height?: number;
65
+ /**
66
+ * Size in bytes
67
+ */
68
+ size?: number;
69
+ uploadUrl?: string;
70
+ uploadUrlExpires?: Date;
71
+ createdBy?: string;
72
+ systemData?: SystemData;
73
+ }
74
+ export interface SystemData {
75
+ [k: string]: unknown;
76
+ }
@@ -0,0 +1,259 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export type Date =
9
+ | string
10
+ | {
11
+ [k: string]: unknown;
12
+ };
13
+ export type Identification = Identification1 & Identification2;
14
+ export type Identification2 =
15
+ | {
16
+ [k: string]: unknown;
17
+ }
18
+ | {
19
+ [k: string]: unknown;
20
+ };
21
+ export type CreatedAt =
22
+ | string
23
+ | {
24
+ [k: string]: unknown;
25
+ };
26
+ export type UpdatedAt =
27
+ | string
28
+ | {
29
+ [k: string]: unknown;
30
+ };
31
+
32
+ export interface User {
33
+ id?: string;
34
+ type?: string;
35
+ firstName: string;
36
+ lastName: string;
37
+ phone?: string | null;
38
+ phoneVerified?: boolean;
39
+ email?: string | null;
40
+ emailVerified?: boolean;
41
+ address?: Address;
42
+ secretKey?: string;
43
+ photo?: MediaFile;
44
+ jobTitle?: string;
45
+ dob?: string;
46
+ gender?: "male" | "female";
47
+ nationality?: string;
48
+ permissions?: {
49
+ /**
50
+ * The ID of the organization the permission is applies to.
51
+ */
52
+ organization: string;
53
+ /**
54
+ * The ID of the property the permission is applies to.
55
+ */
56
+ property: string;
57
+ role: "Guest" | "User" | "Manager" | "Administrator" | "SuperAdmin";
58
+ customPermissions?: string[];
59
+ [k: string]: unknown;
60
+ }[];
61
+ notes?: string[];
62
+ files?: MediaFile[];
63
+ identifications?: Identification[];
64
+ payments?: Payment[];
65
+ location?: {
66
+ accuracy: number | null;
67
+ latitude: number | null;
68
+ longitude: number | null;
69
+ timestamp: number | null;
70
+ };
71
+ reservations?: Reservation[];
72
+ spaceName?: string;
73
+ createdAt?: CreatedAt;
74
+ updatedAt?: UpdatedAt;
75
+ systemData?: SystemData[];
76
+ [k: string]: unknown;
77
+ }
78
+ export interface Address {
79
+ id?: string;
80
+ line1?: string;
81
+ line2?: string;
82
+ line3?: string;
83
+ city?: string;
84
+ state?: string;
85
+ postalCode?: string;
86
+ countryCode?: string;
87
+ [k: string]: unknown;
88
+ }
89
+ /**
90
+ * Any media file
91
+ */
92
+ export interface MediaFile {
93
+ id?: string;
94
+ type: string;
95
+ name?: string;
96
+ fileHash?: string;
97
+ mimeType?:
98
+ | "image/*"
99
+ | "image/jpeg"
100
+ | "image/png"
101
+ | "image/gif"
102
+ | "image/webp"
103
+ | "image/avif"
104
+ | "image/svg+xml"
105
+ | "application/pdf";
106
+ data?: string;
107
+ url?: string;
108
+ width?: number;
109
+ height?: number;
110
+ /**
111
+ * Size in bytes
112
+ */
113
+ size?: number;
114
+ uploadUrl?: string;
115
+ uploadUrlExpires?: Date;
116
+ createdBy?: string;
117
+ systemData?: SystemData;
118
+ }
119
+ export interface SystemData {
120
+ [k: string]: unknown;
121
+ }
122
+ export interface Identification1 {
123
+ id?: string;
124
+ type: "driversLicense" | "passport" | "identityCard" | "visa";
125
+ number?: {
126
+ [k: string]: unknown;
127
+ };
128
+ maskedNumber?: {
129
+ [k: string]: unknown;
130
+ };
131
+ encryptedNumber?: {
132
+ [k: string]: unknown;
133
+ };
134
+ issued?:
135
+ | string
136
+ | {
137
+ [k: string]: unknown;
138
+ };
139
+ expires?:
140
+ | string
141
+ | {
142
+ [k: string]: unknown;
143
+ }
144
+ | null;
145
+ verified?: boolean;
146
+ matched?: boolean;
147
+ firstName?: string;
148
+ lastName?: string;
149
+ issuingCountry?: {
150
+ [k: string]: unknown;
151
+ };
152
+ systemData?: SystemData;
153
+ [k: string]: unknown;
154
+ }
155
+ export interface Payment {
156
+ id?: string;
157
+ type:
158
+ | "amex"
159
+ | "visa"
160
+ | "masterCard"
161
+ | "maestro"
162
+ | "discover"
163
+ | "diners"
164
+ | "jcb"
165
+ | "applePay"
166
+ | "alipay"
167
+ | "chinaUnionPay"
168
+ | "vpay";
169
+ enabled?: boolean;
170
+ storageData?: string | null;
171
+ maskedNumber: {
172
+ [k: string]: unknown;
173
+ };
174
+ issued?: string | null;
175
+ expires: {
176
+ [k: string]: unknown;
177
+ };
178
+ systemData?: SystemData;
179
+ [k: string]: unknown;
180
+ }
181
+ export interface Reservation {
182
+ id?: string;
183
+ driver?:
184
+ | "aws-kinesis"
185
+ | "butler"
186
+ | "crestron"
187
+ | "ecobee"
188
+ | "igor"
189
+ | "inncom"
190
+ | "kohost-k7"
191
+ | "kohost-pms"
192
+ | "lg"
193
+ | "lirc"
194
+ | "mews"
195
+ | "paxton"
196
+ | "pelican-wireless"
197
+ | "rebrandly"
198
+ | "salto"
199
+ | "salto-irn"
200
+ | "se"
201
+ | "sendgrid"
202
+ | "stay-n-touch"
203
+ | "twilio"
204
+ | "cloudflare-images"
205
+ | "cloudflare-stream"
206
+ | "insperia-privacy";
207
+ primaryGuest?: string;
208
+ type: string;
209
+ sharedGuests?: string[];
210
+ spaceType?: string;
211
+ space?: string;
212
+ /**
213
+ * reserved - confirmed by both parties, before check-in
214
+ * checkedIn - checked in
215
+ * checkedOut - checked out
216
+ * cancelled - Cancelled
217
+ * noShow - No show
218
+ * enquired - Confirmed neither by the customer nor enterprise
219
+ * requested - Confirmed by the customer but not the enterprise (waitlist)
220
+ * optional - Confirmed by the enterprise but not the customer (holding)
221
+ */
222
+ status: "reserved" | "checkedIn" | "checkedOut" | "cancelled" | "noShow" | "enquired" | "requested" | "optional";
223
+ mobileCheckInStatus?:
224
+ | "ready"
225
+ | "blocked"
226
+ | "preArrivalStepsRequired"
227
+ | "spaceNotAssigned"
228
+ | "spaceNotReady"
229
+ | "checkInTimeNotStarted";
230
+ mobileCheckInStatusMessage?: string;
231
+ confirmationNumber?: string;
232
+ checkInDateTime:
233
+ | string
234
+ | {
235
+ [k: string]: unknown;
236
+ };
237
+ checkOutDateTime:
238
+ | string
239
+ | {
240
+ [k: string]: unknown;
241
+ };
242
+ adultCount?: number;
243
+ childCount?: number;
244
+ revenue?: {
245
+ date?: string;
246
+ amount?: number;
247
+ type?: "service" | "product";
248
+ [k: string]: unknown;
249
+ }[];
250
+ rateSuppressed?: boolean;
251
+ payment?: string;
252
+ company?: string;
253
+ travelAgent?: string;
254
+ systemData?: SystemData;
255
+ metadata?: {
256
+ [k: string]: unknown;
257
+ };
258
+ [k: string]: unknown;
259
+ }
@@ -0,0 +1,139 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export type SupportedNotifications = (
9
+ | "button 1"
10
+ | "button 2"
11
+ | "button 3"
12
+ | "button 4"
13
+ | "button 5"
14
+ | "idle"
15
+ | "powerHasBeedApplied"
16
+ | "acMainsDisconnected"
17
+ | "acMainsReconnected"
18
+ | "replaceBatterySoon"
19
+ | "replaceBatteryNow"
20
+ | "hardwareFailure"
21
+ | "softwareFailure"
22
+ | "hardwareFailureWithCode"
23
+ | "softwareFailureWithCode"
24
+ | "motionDetection"
25
+ | "airFilterNeedsCleaned"
26
+ | "smokeDetected"
27
+ | "outsideSafeTemperatureRange"
28
+ | "outsideSafeHumidityRange"
29
+ )[];
30
+ export type Notification = {
31
+ name?:
32
+ | "button 1"
33
+ | "button 2"
34
+ | "button 3"
35
+ | "button 4"
36
+ | "button 5"
37
+ | "idle"
38
+ | "powerHasBeedApplied"
39
+ | "acMainsDisconnected"
40
+ | "acMainsReconnected"
41
+ | "replaceBatterySoon"
42
+ | "replaceBatteryNow"
43
+ | "hardwareFailure"
44
+ | "softwareFailure"
45
+ | "hardwareFailureWithCode"
46
+ | "softwareFailureWithCode"
47
+ | "motionDetection"
48
+ | "airFilterNeedsCleaned"
49
+ | "smokeDetected"
50
+ | "outsideSafeTemperatureRange"
51
+ | "outsideSafeHumidityRange";
52
+ timestamp?: number;
53
+ description?: string;
54
+ [k: string]: unknown;
55
+ } & ({
56
+ name?:
57
+ | "button 1"
58
+ | "button 2"
59
+ | "button 3"
60
+ | "button 4"
61
+ | "button 5"
62
+ | "idle"
63
+ | "powerHasBeedApplied"
64
+ | "acMainsDisconnected"
65
+ | "acMainsReconnected"
66
+ | "replaceBatterySoon"
67
+ | "replaceBatteryNow"
68
+ | "hardwareFailure"
69
+ | "softwareFailure"
70
+ | "hardwareFailureWithCode"
71
+ | "softwareFailureWithCode"
72
+ | "motionDetection"
73
+ | "airFilterNeedsCleaned"
74
+ | "smokeDetected"
75
+ | "outsideSafeTemperatureRange"
76
+ | "outsideSafeHumidityRange";
77
+ timestamp?: number;
78
+ description?: string;
79
+ [k: string]: unknown;
80
+ } | null);
81
+
82
+ /**
83
+ * Any smart window covering
84
+ */
85
+ export interface WindowCovering {
86
+ id: string;
87
+ name?: string;
88
+ type:
89
+ | "alarm"
90
+ | "dimmer"
91
+ | "switch"
92
+ | "motionSensor"
93
+ | "windowCovering"
94
+ | "camera"
95
+ | "mediaSource"
96
+ | "thermostat"
97
+ | "lock"
98
+ | "courtesy"
99
+ | "gateway"
100
+ | "tv"
101
+ | "dvr"
102
+ | "appleTv"
103
+ | "discPlayer"
104
+ | "mediaPlayer"
105
+ | "uncontrolledDevice";
106
+ supportedNotifications?: SupportedNotifications;
107
+ notification?: Notification;
108
+ driver:
109
+ | "aws-kinesis"
110
+ | "butler"
111
+ | "crestron"
112
+ | "ecobee"
113
+ | "igor"
114
+ | "inncom"
115
+ | "kohost-k7"
116
+ | "kohost-pms"
117
+ | "lg"
118
+ | "lirc"
119
+ | "mews"
120
+ | "paxton"
121
+ | "pelican-wireless"
122
+ | "rebrandly"
123
+ | "salto"
124
+ | "salto-irn"
125
+ | "se"
126
+ | "sendgrid"
127
+ | "stay-n-touch"
128
+ | "twilio"
129
+ | "cloudflare-images"
130
+ | "cloudflare-stream"
131
+ | "insperia-privacy";
132
+ offline?: boolean;
133
+ position: number;
134
+ systemData: SystemData;
135
+ watts?: number;
136
+ }
137
+ export interface SystemData {
138
+ [k: string]: unknown;
139
+ }
@@ -10,6 +10,9 @@
10
10
  },
11
11
  "name": {
12
12
  "type": "string"
13
+ },
14
+ "offline": {
15
+ "type": "boolean"
13
16
  },
14
17
  "type": {
15
18
  "$ref": "definitions.json#/definitions/type"
@@ -38,11 +41,11 @@
38
41
  "type": "string"
39
42
  },
40
43
  "securityMode": {
41
- "type": "string",
42
- "enum": ["arming", "disarming", "armed", "disarmed", "alarm"]
44
+ "type": ["string", "null"],
45
+ "enum": ["arming", "disarming", "armed", "disarmed", "alarm", null]
43
46
  },
44
47
  "readyToArm": {
45
- "type": "boolean"
48
+ "type": ["boolean", "null"]
46
49
  }
47
50
  },
48
51
  "additionalProperties": false
@@ -64,27 +67,12 @@
64
67
  "type": "boolean"
65
68
  },
66
69
  "bypassed": {
67
- "type": "boolean"
70
+ "type": ["boolean", "null"]
68
71
  }
69
72
  },
70
73
  "additionalProperties": false
71
74
  }
72
75
  },
73
- "supportedTroubles": {
74
- "type": "array",
75
- "uniqueItems": true,
76
- "items": {
77
- "type": "string",
78
- "enum": ["battery", "ac", "phone", "bell", "fire"]
79
- }
80
- },
81
- "troubles": {
82
- "type": "array",
83
- "uniqueItems": true,
84
- "items": {
85
- "$ref": "#/properties/supportedTroubles/items"
86
- }
87
- },
88
76
  "watts": {
89
77
  "$ref": "definitions.json#/definitions/watts"
90
78
  }
@@ -96,8 +84,6 @@
96
84
  "systemData",
97
85
  "areas",
98
86
  "zones",
99
- "supportedTroubles",
100
- "troubles",
101
87
  "driver"
102
88
  ]
103
89
  }
@@ -46,5 +46,5 @@
46
46
  }
47
47
  },
48
48
  "additionalProperties": false,
49
- "required": ["id", "type", "systemData", "streams", "driver"]
49
+ "required": ["id", "type", "systemData", "liveStreams", "driver"]
50
50
  }