@kohost/api-client 3.0.0-beta.99 → 3.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.
Files changed (74) hide show
  1. package/dist/cjs/Client/index.js +374 -67
  2. package/dist/cjs/Commands/CreateShortLinkCommand.js +2 -2
  3. package/dist/cjs/Commands/OCRDocumentCommand.js +2 -2
  4. package/dist/cjs/Commands/SetAlarmCommand.js +2 -2
  5. package/dist/cjs/Commands/SetCourtesyCommand.js +2 -2
  6. package/dist/cjs/Commands/SetDimmerCommand.js +2 -2
  7. package/dist/cjs/Commands/SetLockCommand.js +2 -2
  8. package/dist/cjs/Commands/SetSwitchCommand.js +2 -2
  9. package/dist/cjs/Commands/SetThermostatCommand.js +2 -2
  10. package/dist/cjs/Commands/SetWindowCoveringCommand.js +2 -2
  11. package/dist/cjs/Events/ReservationCheckInEvent.js +23 -0
  12. package/dist/cjs/Events/ReservationCheckOutEvent.js +23 -0
  13. package/dist/cjs/Events/index.js +6 -0
  14. package/dist/cjs/SocketIoClient/index.js +23 -4
  15. package/dist/cjs/schemas/AlarmSchema.d.ts +14 -2
  16. package/dist/cjs/schemas/CameraSchema.d.ts +1 -0
  17. package/dist/cjs/schemas/CategorySchema.d.ts +1 -0
  18. package/dist/cjs/schemas/CourtesySchema.d.ts +1 -0
  19. package/dist/cjs/schemas/CredentialSchema.d.ts +2 -1
  20. package/dist/cjs/schemas/DimmerSchema.d.ts +1 -0
  21. package/dist/cjs/schemas/DiscoveredDeviceSchema.d.ts +4 -0
  22. package/dist/cjs/schemas/GatewaySchema.d.ts +1 -0
  23. package/dist/cjs/schemas/LockSchema.d.ts +1 -0
  24. package/dist/cjs/schemas/MediaSourceSchema.d.ts +4 -1
  25. package/dist/cjs/schemas/MotionSensorSchema.d.ts +1 -0
  26. package/dist/cjs/schemas/OrganizationSchema.d.ts +30 -0
  27. package/dist/cjs/schemas/ProductSchema.d.ts +1 -0
  28. package/dist/cjs/schemas/PropertySchema.d.ts +26 -35
  29. package/dist/cjs/schemas/ReservationSchema.d.ts +2 -0
  30. package/dist/cjs/schemas/RoomSchema.d.ts +28 -4
  31. package/dist/cjs/schemas/SceneSchema.d.ts +2 -1
  32. package/dist/cjs/schemas/SpaceSchema.d.ts +1 -0
  33. package/dist/cjs/schemas/SwitchSchema.d.ts +1 -0
  34. package/dist/cjs/schemas/SystemUserSchema.d.ts +1 -0
  35. package/dist/cjs/schemas/ThermostatSchema.d.ts +1 -0
  36. package/dist/cjs/schemas/UserSchema.d.ts +2 -0
  37. package/dist/cjs/schemas/WindowCoveringSchema.d.ts +3 -1
  38. package/dist/cjs/schemas/alarm.json +4 -4
  39. package/dist/cjs/schemas/credential.json +1 -0
  40. package/dist/cjs/schemas/definitions.json +1 -0
  41. package/dist/cjs/schemas/discoveredDevice.json +4 -0
  42. package/dist/cjs/schemas/mediaSource.json +11 -1
  43. package/dist/cjs/schemas/organization.json +109 -0
  44. package/dist/cjs/schemas/property.json +39 -116
  45. package/dist/cjs/schemas/reservation.json +3 -0
  46. package/dist/cjs/schemas/scene.json +3 -0
  47. package/dist/cjs/schemas/windowCovering.json +8 -2
  48. package/dist/esm/Client.js +504 -193
  49. package/dist/esm/Client.js.map +4 -4
  50. package/dist/esm/Commands.js +18 -18
  51. package/dist/esm/Commands.js.map +2 -2
  52. package/dist/esm/Events.js +55 -1
  53. package/dist/esm/Events.js.map +3 -3
  54. package/dist/esm/Models.js +182 -122
  55. package/dist/esm/Models.js.map +2 -2
  56. package/dist/esm/SocketIoClient.js +26 -7
  57. package/dist/esm/SocketIoClient.js.map +2 -2
  58. package/dist/esm/defs.js +162 -131
  59. package/dist/esm/defs.js.map +4 -4
  60. package/dist/esm/utils.js +1 -0
  61. package/dist/esm/utils.js.map +2 -2
  62. package/dist/useCases/{LoginUser.js → CreateScene.js} +2 -2
  63. package/dist/useCases/DescribeAlarmConfig.js +32 -0
  64. package/dist/useCases/{DescribeMyProperty.js → DescribeMyOrganization.js} +2 -2
  65. package/dist/useCases/DescribeMyPasskeyRegistrations.js +32 -0
  66. package/dist/useCases/FinishRegisterPasskey.js +32 -0
  67. package/dist/useCases/{RequestLoginLink.js → ListMyProperties.js} +3 -3
  68. package/dist/useCases/{RequestPWAToken.js → LoginFinish.js} +3 -3
  69. package/dist/useCases/LoginStart.js +32 -0
  70. package/dist/useCases/{RequestMyKeyToken.js → RequestLoginToken.js} +3 -3
  71. package/dist/useCases/SetAlarm.js +32 -0
  72. package/dist/useCases/SetCustomScene.js +32 -0
  73. package/dist/useCases/StartRegisterPasskey.js +32 -0
  74. 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 SetCourtesyCommand extends Command {
4
- constructor({ id, state }) {
5
- super({ id, state });
4
+ constructor({ id, state, ...rest }) {
5
+ super({ id, state, ...rest });
6
6
  }
7
7
 
8
8
  get name() {
@@ -1,8 +1,8 @@
1
1
  const Command = require("./Command");
2
2
 
3
3
  class SetDimmerCommand extends Command {
4
- constructor({ id, level }) {
5
- super({ id, level });
4
+ constructor({ id, level, ...rest }) {
5
+ super({ id, level, ...rest });
6
6
  }
7
7
 
8
8
  get name() {
@@ -1,8 +1,8 @@
1
1
  const Command = require("./Command");
2
2
 
3
3
  class SetLockCommand extends Command {
4
- constructor({ id, state }) {
5
- super({ id, state });
4
+ constructor({ id, state, ...rest }) {
5
+ super({ id, state, ...rest });
6
6
  }
7
7
 
8
8
  get name() {
@@ -1,8 +1,8 @@
1
1
  const Command = require("./Command");
2
2
 
3
3
  class SetSwitchCommand extends Command {
4
- constructor({ id, state }) {
5
- super({ id, state });
4
+ constructor({ id, state, ...rest }) {
5
+ super({ id, state, ...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() {
@@ -1,8 +1,8 @@
1
1
  const Command = require("./Command");
2
2
 
3
3
  class SetWindowCoveringCommand extends Command {
4
- constructor({ id, position }) {
5
- super({ id, position });
4
+ constructor({ id, position, ...rest }) {
5
+ super({ id, position, ...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;
@@ -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(config = { url: null, propertyId: null, options: {} }) {
5
+ constructor(
6
+ config = {
7
+ url: null,
8
+ options: {},
9
+ }
10
+ ) {
6
11
  super();
7
- if (!config.url) throw new Error("Websocket URL / endpoint not provided");
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
  };
@@ -131,6 +131,7 @@ export interface Alarm {
131
131
  | "mht"
132
132
  | "paxton"
133
133
  | "pelican-wireless"
134
+ | "power-shades"
134
135
  | "rebrandly"
135
136
  | "salto"
136
137
  | "salto-irn"
@@ -145,14 +146,25 @@ export interface Alarm {
145
146
  number?: number;
146
147
  name?: string;
147
148
  securityMode?: "arming" | "disarming" | "armed" | "disarmed" | "alarm" | null;
148
- readyToArm?: boolean | null;
149
149
  }[];
150
150
  zones: {
151
151
  number?: number;
152
152
  name?: string;
153
- secure?: boolean;
153
+ secure?: boolean | null;
154
154
  bypassed?: boolean | null;
155
155
  }[];
156
156
  watts?: number;
157
+ address?: Address;
158
+ [k: string]: unknown;
159
+ }
160
+ export interface Address {
161
+ id?: string;
162
+ line1?: string;
163
+ line2?: string;
164
+ line3?: string;
165
+ city?: string;
166
+ state?: string;
167
+ postalCode?: string;
168
+ countryCode?: string;
157
169
  [k: string]: unknown;
158
170
  }
@@ -129,6 +129,7 @@ export interface Camera {
129
129
  | "mht"
130
130
  | "paxton"
131
131
  | "pelican-wireless"
132
+ | "power-shades"
132
133
  | "rebrandly"
133
134
  | "salto"
134
135
  | "salto-irn"
@@ -33,6 +33,7 @@ export interface Category {
33
33
  | "mht"
34
34
  | "paxton"
35
35
  | "pelican-wireless"
36
+ | "power-shades"
36
37
  | "rebrandly"
37
38
  | "salto"
38
39
  | "salto-irn"
@@ -129,6 +129,7 @@ export interface Courtesy {
129
129
  | "mht"
130
130
  | "paxton"
131
131
  | "pelican-wireless"
132
+ | "power-shades"
132
133
  | "rebrandly"
133
134
  | "salto"
134
135
  | "salto-irn"
@@ -26,6 +26,7 @@ export interface Credential {
26
26
  | "mht"
27
27
  | "paxton"
28
28
  | "pelican-wireless"
29
+ | "power-shades"
29
30
  | "rebrandly"
30
31
  | "salto"
31
32
  | "salto-irn"
@@ -36,7 +37,7 @@ export interface Credential {
36
37
  | "cloudflare-images"
37
38
  | "cloudflare-stream"
38
39
  | "insperia-privacy";
39
- discriminator?: "verificationCode" | "token" | "mobileKey" | "pin" | "publicKey" | "id";
40
+ discriminator?: "verificationCode" | "token" | "mobileKey" | "pin" | "publicKey" | "passkeyChallenge" | "id";
40
41
  credential: string;
41
42
  user?: string;
42
43
  organization?: string;
@@ -129,6 +129,7 @@ export interface Dimmer {
129
129
  | "mht"
130
130
  | "paxton"
131
131
  | "pelican-wireless"
132
+ | "power-shades"
132
133
  | "rebrandly"
133
134
  | "salto"
134
135
  | "salto-irn"
@@ -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
  }
@@ -130,6 +130,7 @@ export interface IoTGateway {
130
130
  | "mht"
131
131
  | "paxton"
132
132
  | "pelican-wireless"
133
+ | "power-shades"
133
134
  | "rebrandly"
134
135
  | "salto"
135
136
  | "salto-irn"
@@ -130,6 +130,7 @@ export interface Lock {
130
130
  | "mht"
131
131
  | "paxton"
132
132
  | "pelican-wireless"
133
+ | "power-shades"
133
134
  | "rebrandly"
134
135
  | "salto"
135
136
  | "salto-irn"
@@ -90,7 +90,9 @@ export type Notification = {
90
90
  */
91
91
  export interface MediaSource {
92
92
  id: string;
93
- type: "tv" | "dvr" | "appleTv" | "discPlayer" | "mediaPlayer" | "uncontrolledDevice";
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"
@@ -110,6 +112,7 @@ export interface MediaSource {
110
112
  | "mht"
111
113
  | "paxton"
112
114
  | "pelican-wireless"
115
+ | "power-shades"
113
116
  | "rebrandly"
114
117
  | "salto"
115
118
  | "salto-irn"
@@ -126,6 +126,7 @@ export interface MotionSensor {
126
126
  | "mht"
127
127
  | "paxton"
128
128
  | "pelican-wireless"
129
+ | "power-shades"
129
130
  | "rebrandly"
130
131
  | "salto"
131
132
  | "salto-irn"
@@ -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
  };
@@ -27,6 +27,7 @@ export interface Product {
27
27
  | "mht"
28
28
  | "paxton"
29
29
  | "pelican-wireless"
30
+ | "power-shades"
30
31
  | "rebrandly"
31
32
  | "salto"
32
33
  | "salto-irn"
@@ -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;
@@ -94,7 +79,7 @@ export interface Property {
94
79
  };
95
80
  Concierge?: unknown;
96
81
  DigitalKey?: {
97
- system?: "salto";
82
+ system?: "salto" | "legic";
98
83
  systemOnline?: boolean;
99
84
  enableApp?: boolean;
100
85
  branding?: {
@@ -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?: {
@@ -39,6 +39,7 @@ export interface Reservation {
39
39
  | "mht"
40
40
  | "paxton"
41
41
  | "pelican-wireless"
42
+ | "power-shades"
42
43
  | "rebrandly"
43
44
  | "salto"
44
45
  | "salto-irn"
@@ -103,6 +104,7 @@ export interface Reservation {
103
104
  id?: string;
104
105
  price?: number;
105
106
  unit?: "night" | "stay" | "hour";
107
+ isUpgrade?: boolean;
106
108
  [k: string]: unknown;
107
109
  }[];
108
110
  revenue?: Revenue;
@@ -160,6 +160,7 @@ export interface Dimmer {
160
160
  | "mht"
161
161
  | "paxton"
162
162
  | "pelican-wireless"
163
+ | "power-shades"
163
164
  | "rebrandly"
164
165
  | "salto"
165
166
  | "salto-irn"
@@ -248,6 +249,7 @@ export interface Switch {
248
249
  | "mht"
249
250
  | "paxton"
250
251
  | "pelican-wireless"
252
+ | "power-shades"
251
253
  | "rebrandly"
252
254
  | "salto"
253
255
  | "salto-irn"
@@ -306,6 +308,7 @@ export interface Thermostat {
306
308
  | "mht"
307
309
  | "paxton"
308
310
  | "pelican-wireless"
311
+ | "power-shades"
309
312
  | "rebrandly"
310
313
  | "salto"
311
314
  | "salto-irn"
@@ -452,6 +455,7 @@ export interface Lock {
452
455
  | "mht"
453
456
  | "paxton"
454
457
  | "pelican-wireless"
458
+ | "power-shades"
455
459
  | "rebrandly"
456
460
  | "salto"
457
461
  | "salto-irn"
@@ -496,6 +500,7 @@ export interface WindowCovering {
496
500
  | "discPlayer"
497
501
  | "mediaPlayer"
498
502
  | "uncontrolledDevice";
503
+ discriminator?: "basic" | "variable";
499
504
  supportedNotifications?: SupportedNotifications;
500
505
  notification?: {
501
506
  name?:
@@ -543,6 +548,7 @@ export interface WindowCovering {
543
548
  | "mht"
544
549
  | "paxton"
545
550
  | "pelican-wireless"
551
+ | "power-shades"
546
552
  | "rebrandly"
547
553
  | "salto"
548
554
  | "salto-irn"
@@ -554,7 +560,7 @@ export interface WindowCovering {
554
560
  | "cloudflare-stream"
555
561
  | "insperia-privacy";
556
562
  offline?: boolean;
557
- position: number;
563
+ position: number | null;
558
564
  systemId?: string;
559
565
  watts?: number;
560
566
  [k: string]: unknown;
@@ -630,6 +636,7 @@ export interface Courtesy {
630
636
  | "mht"
631
637
  | "paxton"
632
638
  | "pelican-wireless"
639
+ | "power-shades"
633
640
  | "rebrandly"
634
641
  | "salto"
635
642
  | "salto-irn"
@@ -718,6 +725,7 @@ export interface Camera {
718
725
  | "mht"
719
726
  | "paxton"
720
727
  | "pelican-wireless"
728
+ | "power-shades"
721
729
  | "rebrandly"
722
730
  | "salto"
723
731
  | "salto-irn"
@@ -741,7 +749,9 @@ export interface Camera {
741
749
  */
742
750
  export interface MediaSource {
743
751
  id: string;
744
- type: "tv" | "dvr" | "appleTv" | "discPlayer" | "mediaPlayer" | "uncontrolledDevice";
752
+ type: string;
753
+ discriminator: "tv" | "dvr" | "appleTv" | "discPlayer" | "mediaPlayer" | "uncontrolledDevice";
754
+ remote?: "MR22GA";
745
755
  name?: string;
746
756
  driver:
747
757
  | "aws-kinesis"
@@ -761,6 +771,7 @@ export interface MediaSource {
761
771
  | "mht"
762
772
  | "paxton"
763
773
  | "pelican-wireless"
774
+ | "power-shades"
764
775
  | "rebrandly"
765
776
  | "salto"
766
777
  | "salto-irn"
@@ -961,6 +972,7 @@ export interface MotionSensor {
961
972
  | "mht"
962
973
  | "paxton"
963
974
  | "pelican-wireless"
975
+ | "power-shades"
964
976
  | "rebrandly"
965
977
  | "salto"
966
978
  | "salto-irn"
@@ -1076,6 +1088,7 @@ export interface Alarm {
1076
1088
  | "mht"
1077
1089
  | "paxton"
1078
1090
  | "pelican-wireless"
1091
+ | "power-shades"
1079
1092
  | "rebrandly"
1080
1093
  | "salto"
1081
1094
  | "salto-irn"
@@ -1090,14 +1103,25 @@ export interface Alarm {
1090
1103
  number?: number;
1091
1104
  name?: string;
1092
1105
  securityMode?: "arming" | "disarming" | "armed" | "disarmed" | "alarm" | null;
1093
- readyToArm?: boolean | null;
1094
1106
  }[];
1095
1107
  zones: {
1096
1108
  number?: number;
1097
1109
  name?: string;
1098
- secure?: boolean;
1110
+ secure?: boolean | null;
1099
1111
  bypassed?: boolean | null;
1100
1112
  }[];
1101
1113
  watts?: number;
1114
+ address?: Address;
1115
+ [k: string]: unknown;
1116
+ }
1117
+ export interface Address {
1118
+ id?: string;
1119
+ line1?: string;
1120
+ line2?: string;
1121
+ line3?: string;
1122
+ city?: string;
1123
+ state?: string;
1124
+ postalCode?: string;
1125
+ countryCode?: string;
1102
1126
  [k: string]: unknown;
1103
1127
  }