@robotbas/robotcloud-client 0.2.22 → 0.3.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.
@@ -5,7 +5,8 @@ export type OrganizationAccessLevel = "STAFF" | "STANDARD" | "ADMIN" | "SUPERUSE
5
5
  export type ProjectAccessLevel = "BLOCKED" | "RESTRICTED" | "BASIC" | "ADVANCED"
6
6
  export type AppAccessLevel = "BLOCKED" | "STANDARD" | "ADVANCED" | "ADMIN"
7
7
 
8
- export type RobotCloudServiceType = "RoomClime_1" | "RoomGuestStatus_1" | "AirQuality_1"
8
+ export type RobotCloudServiceType = "PowerMeter_1" | "CoolHeatProd_1" | "HeatProd_1" | "CoolHeatCons_1" | "OutdoorClime_1" | "WaterCounter_1" | "RoomClime_1" | "RoomGuestStatus_1" | "EnergyProduction_1" | "RoomConsumes_1" | "EnergyCounter_1" | "HeatMeter_1" | "TemporizedOutput_1" | "GasCounter_1" | "ChillerHeatingPump_1" | "AirHandlingUnit_1" | "AirQuality_1" | "RoomDiagnostics_1" | "RoomBLEPairing_1" | "RoomGrouping_1" | "GenericTemperature_1" | "CoolHeatTemperature_1"
9
+
9
10
 
10
11
  // Desired fancoil speed (0 = Auto, 1..3 = Manual Speed)
11
12
  export type FancoilSpeedState = 0 | 1 | 2 | 3;
@@ -26,6 +27,84 @@ export interface RobotCloudProject {
26
27
  organization: string;
27
28
  }
28
29
 
30
+ export interface RobotCloudDelete {
31
+ deleted_id: string
32
+ }
33
+
34
+ export interface RobotCloudCreateProject {
35
+ name: string
36
+ description?: string
37
+ country?: string
38
+ timezone?: string
39
+ longitude?: number
40
+ latitude?: number
41
+ image_url?: string
42
+ }
43
+ /** APPLICATIONS */
44
+ export interface RobotCloudCreateApplication extends RobotCloudDescribedItem{
45
+ access_level: ProjectAccessLevel;
46
+ api_key: string
47
+ create_time?: string
48
+ create_user?: string
49
+ update_time?: string
50
+ update_user?: string
51
+ }
52
+
53
+ export interface RobotCloudGetApplication extends RobotCloudDescribedItem{
54
+ access_level?: ProjectAccessLevel;
55
+ create_time?: string
56
+ create_user?: string
57
+ update_time?: string
58
+ update_user?: string
59
+ }
60
+
61
+ export interface RobotCloudPutApplication {
62
+ name?: string
63
+ description?: string
64
+ access_level?: ProjectAccessLevel;
65
+ }
66
+
67
+ /** ORGANIZATIONS */
68
+ export interface RobotCloudCreateOrganization {
69
+ name: string
70
+ description: string
71
+ address: string
72
+ }
73
+
74
+ export interface RobotCloudPutOrganization {
75
+ name?: string
76
+ description?: string
77
+ address?: string
78
+ }
79
+
80
+ export interface RobotCloudOrganizationDetails extends RobotCloudDescribedItem {
81
+ address: string;
82
+ }
83
+
84
+ export interface RobotCloudOrganizations extends RobotCloudNamedItem {
85
+ }
86
+
87
+ export interface RobotCloudOrganizationUsers {
88
+ username: string
89
+ name: string
90
+ last_name: string
91
+ email?: string
92
+ external?: boolean
93
+ }
94
+
95
+ export interface RobotCloudOrganizationCreateUser {
96
+ username: string;
97
+ password: string;
98
+ name: string;
99
+ last_name: string;
100
+ email?: string;
101
+ org_access: OrganizationAccessLevel;
102
+ default_project_access: ProjectAccessLevel;
103
+ default_app_access?: RobotCloudUserAppAccess[];
104
+ access_all_projects?: boolean;
105
+ blocked?: boolean;
106
+ }
107
+
29
108
  /** USERS */
30
109
  export interface RobotCloudUserAppAccess {
31
110
  app_id: string;
@@ -38,30 +117,67 @@ export interface RobotCloudUserSimple {
38
117
  name: string;
39
118
  last_name: string;
40
119
  }
120
+
121
+ export interface RobotCloudUserOrganization extends RobotCloudNamedItem {
122
+ }
123
+
124
+ export interface RobotCloudUsers {
125
+ username: string;
126
+ name: string;
127
+ last_name: string;
128
+ email?: string;
129
+ external?: boolean;
130
+ }
131
+
41
132
  export interface RobotCloudUserDetails {
42
133
  username: string;
43
134
  name: string;
44
135
  last_name: string;
45
- email: string;
136
+ email?: string;
46
137
  org_id: string;
47
138
  org_access: OrganizationAccessLevel;
48
139
  default_project_access: ProjectAccessLevel;
49
- default_app_access: RobotCloudUserAppAccess[];
50
- access_all_projects: boolean;
51
- blocked: boolean;
140
+ default_app_access?: RobotCloudUserAppAccess[];
141
+ access_all_projects?: boolean;
142
+ blocked?: boolean;
143
+ }
144
+
145
+ export interface RobotCloudPutUserDetails {
146
+ password?: string;
147
+ name?: string;
148
+ last_name?: string;
149
+ email?: string;
150
+ org_id?: string;
151
+ org_access?: OrganizationAccessLevel;
152
+ default_project_access?: ProjectAccessLevel;
153
+ default_app_access?: RobotCloudUserAppAccess[];
154
+ access_all_projects?: boolean;
155
+ blocked?: boolean;
156
+ }
157
+
158
+ export interface RobotCloudCreateUser extends RobotCloudUserDetails {
159
+ password?: string
52
160
  }
53
161
 
54
162
  export interface RobotCloudUserProject {
55
163
  project_id: string;
56
164
  project_name: string;
57
165
  access_level: ProjectAccessLevel;
58
- app_access_level: { app_id: string, app_name: string, access_level: AppAccessLevel }[]
166
+ app_access_level?: { app_id: string, app_name: string, access_level: AppAccessLevel }[]
59
167
  }
60
168
 
61
- export interface RobotCloudOrganizationDetails extends RobotCloudDescribedItem {
62
- address?: string;
169
+ export interface RobotCloudPostUserProject {
170
+ project_id: string;
171
+ access_level: ProjectAccessLevel;
172
+ app_access_level?: { app_id: string, app_name: string, access_level: AppAccessLevel }[]
63
173
  }
64
174
 
175
+ export interface RobotCloudPutProjectUser {
176
+ access_level: ProjectAccessLevel;
177
+ app_access_level?: { app_id: string, app_name: string, access_level: AppAccessLevel }[]
178
+ }
179
+
180
+ /** PROJECTS */
65
181
  export interface RobotCloudProjectDetails extends RobotCloudProject {
66
182
  version: number;
67
183
  description?: string;
@@ -75,6 +191,70 @@ export interface RobotCloudProjectDetails extends RobotCloudProject {
75
191
  app_access_level?: AppAccessLevel;
76
192
  }
77
193
 
194
+ export interface RobotCloudCreateProject {
195
+ name: string
196
+ description?: string
197
+ country?: string
198
+ timezone?: string
199
+ longitude?: number;
200
+ latitude?: number;
201
+ image_url?: string;
202
+ }
203
+
204
+ export interface RobotCloudProjectApplications {
205
+ application_id: string
206
+ application_name: string
207
+ enabled: string
208
+ expiration?: string
209
+ update_time?: string
210
+ update_user?: string
211
+ }
212
+
213
+ export interface RobotCloudApplicationEnable {
214
+ enabled?: string
215
+ expiration?: string
216
+ }
217
+
218
+ export interface RobotCloudPutProject {
219
+ name?: string
220
+ description?: string
221
+ organization?: string
222
+ country?: string
223
+ timezone?: string
224
+ longitude?: number;
225
+ latitude?: number;
226
+ image_url?: string;
227
+ }
228
+
229
+ export interface RobotCloudProjectUsers {
230
+ username: string
231
+ access_level: ProjectAccessLevel
232
+ external?: boolean
233
+ }
234
+
235
+ export interface RobotCloudDeviceConfiguration extends RobotCloudNamedItem {
236
+ description: string
237
+ }
238
+
239
+ export interface RobotCloudRobotCloudDeviceCreate {
240
+ name: string
241
+ description?: string
242
+ address: string
243
+ type?: number
244
+ configuration_type?: string;
245
+ tags?: string[];
246
+ }
247
+
248
+ export interface RobotCloudRobotCloudDeviceModify {
249
+ name?: string
250
+ description?: string
251
+ address?: string
252
+ location_id?: string
253
+ type?: number
254
+ configuration_type?: string;
255
+ tags?: string[];
256
+ }
257
+
78
258
  export interface RobotCloudDeviceDetails extends RobotCloudDescribedItem {
79
259
  location: string;
80
260
  address: {
@@ -87,8 +267,14 @@ export interface RobotCloudDeviceDetails extends RobotCloudDescribedItem {
87
267
  tags: string[];
88
268
  }
89
269
 
270
+ export interface RobotCloudProjectInstances {
271
+ id: string
272
+ name: string;
273
+ service: RobotCloudServiceType
274
+ }
275
+
90
276
  export interface RobotCloudServiceTypeDetails {
91
- description: string;
277
+ description?: string;
92
278
  name: RobotCloudServiceType
93
279
  }
94
280
  /** SERVICE EVENTS VALUES **/
@@ -9,10 +9,32 @@ export interface RobotCloudServiceInstance extends RobotCloudNamedItem {
9
9
  service: string;
10
10
  }
11
11
 
12
+
12
13
  export interface ServiceInstanceDetails extends RobotCloudServiceInstance {
13
- description: string;
14
- location: string;
15
- tags: string[];
16
- subsystems: string[];
17
- classifier: string;
14
+ description?: string;
15
+ location?: string;
16
+ tags?: string[];
17
+ subsystems?: string[];
18
+ classifier?: string;
19
+ }
20
+
21
+ export interface ModifyServiceInstanceDetails {
22
+ description?: string;
23
+ name?: string;
24
+ tags?: string[];
25
+ subsystems?: string[];
26
+ classifier?: string;
27
+ }
28
+
29
+ export interface CreateServiceInstance extends RobotCloudServiceInstance {
30
+ description?: string;
31
+ name: string
32
+ tags?: string[];
33
+ subsystems?: string[];
34
+ classifier?: string;
35
+ }
36
+
37
+ export interface ProjectSizeInstances {
38
+ total: number
39
+ filtered: number
18
40
  }
package/types/Token.d.ts CHANGED
@@ -1,12 +1,20 @@
1
+ export interface TokenResponse {
2
+ token: string;
3
+ expiration: string; // ISO 8601 date string (YYYY-MM-DDTHH:MM:SS.SSSZ)
4
+ }
5
+ export interface SessionTokenResponse {
6
+ access: TokenResponse;
7
+ renew: TokenResponse;
8
+ }
1
9
  export interface CheckTokenResponse {
2
- renewed: boolean;
3
- invalid: boolean;
4
- access: string;
5
- renew: string;
10
+ renewed: boolean;
11
+ invalid: boolean;
12
+ access: string;
13
+ renew: string;
6
14
  }
7
15
 
8
16
  export interface RobotCloudJWTPayload {
9
- exp: number;
10
- sub: string; // username
11
- org: string; // organization
17
+ exp: number;
18
+ sub: string; // username
19
+ org: string; // organization
12
20
  }
@@ -0,0 +1,88 @@
1
+ import { AxiosResponse } from "axios";
2
+ import {
3
+ AlertAggregatedLogsRequestParams,
4
+ AlertLogsListRequestParams,
5
+ AlertsProjectStatsRequestParams,
6
+ SubsystemRequestParams
7
+ } from "./request-params";
8
+ import { RobotCloudNamedItem, RobotCloudUserSimple } from "./RobotCloudClient";
9
+
10
+ export interface AlertsLogsStats {
11
+ total: number;
12
+ active: number;
13
+ noack: number;
14
+ active_noack: number;
15
+ }
16
+
17
+ export interface AlertLogLine {
18
+ id: string;
19
+ service: string;
20
+ instance: string;
21
+ location: RobotCloudNamedItem;
22
+ classifier: RobotCloudNamedItem;
23
+ alert_name: string;
24
+ acknowledged: boolean;
25
+ ack_time: string;
26
+ ack_user: RobotCloudUserSimple;
27
+ active: boolean;
28
+ active_time: string;
29
+ deactive_time: string;
30
+ }
31
+
32
+ export interface AlertsLogsList {
33
+ total_size: number;
34
+ initial_index: number;
35
+ alerts: AlertLogLine[];
36
+ }
37
+
38
+ interface AlertsLogsAggregatedAlertRecord {
39
+ periode_start: string,
40
+ periode_end: string,
41
+ activation_count: number,
42
+ active_seconds: number
43
+ }
44
+
45
+ interface AlertsLogsAggregatedAlert {
46
+ service: string;
47
+ alert_name: string;
48
+ aggregates: AlertsLogsAggregatedAlertRecord[];
49
+ }
50
+
51
+ export interface AlertsLogsAggregated {
52
+ alerts: AlertsLogsAggregatedAlert[];
53
+ }
54
+
55
+ interface AlertLogAckItem {
56
+ id: string;
57
+ acknowledged: boolean;
58
+ }
59
+
60
+ export interface AlertLogAckAlerts {
61
+ alerts: AlertLogAckItem[];
62
+ }
63
+
64
+ export interface AlertsClient {
65
+ getProjectStats(
66
+ projectId: string,
67
+ params?: AlertsProjectStatsRequestParams
68
+ ): Promise<AxiosResponse<AlertsLogsStats>>;
69
+
70
+ getProjectLog(
71
+ projectId: string,
72
+ params: AlertLogsListRequestParams
73
+ ): Promise<AxiosResponse<AlertsLogsList>>;
74
+
75
+ acknowledge(
76
+ projectId: string,
77
+ data: AlertLogAckAlerts
78
+ ): Promise<AxiosResponse<AlertsLogsList>>;
79
+
80
+ getAggregatedLogs(
81
+ projectId: string,
82
+ params: AlertAggregatedLogsRequestParams
83
+ ): Promise<AxiosResponse<AlertsLogsAggregated>>;
84
+
85
+ getAvailableAlerts(projectId: string, params?: SubsystemRequestParams): Promise<AxiosResponse<string[]>>;
86
+
87
+ getServiceTypeAlertKeys(serviceType: string): string[];
88
+ }
@@ -1,33 +1,42 @@
1
1
  import { RegimState, TemperatureUnit } from "./RobotCloudClient";
2
2
 
3
3
  export interface RoomClimeConfigurationParams {
4
- temperature_set_point?: number;
5
- humidity_set_point?: number;
6
- regim?: RegimState;
7
- eco_mode?: "STANDBY" | "ECO" | "VIP";
8
- fancoil_speed?: 0 | 1 | 2 | 3;
9
- on?: boolean;
10
-
11
- hasFC?: boolean;
12
- hasRF?: boolean;
13
- isRFLinked?: boolean;
14
-
15
- onRF?: boolean;
16
-
17
- high_temperature_level?: number;
18
- low_temperature_level?: number;
19
- high_humidity_level?: number;
20
- fancoil_on_time_limit?: number;
21
- temperature_units?: TemperatureUnit;
4
+ temperature_set_point?: number;
5
+ humidity_set_point?: number;
6
+ regim?: RegimState;
7
+ eco_mode?: "STANDBY" | "ECO" | "VIP";
8
+ fancoil_speed?: 0 | 1 | 2 | 3;
9
+ on?: boolean;
10
+
11
+ hasFC?: boolean;
12
+ hasRF?: boolean;
13
+ isRFLinked?: boolean;
14
+
15
+ onRF?: boolean;
16
+
17
+ high_temperature_level?: number;
18
+ low_temperature_level?: number;
19
+ high_humidity_level?: number;
20
+ fancoil_on_time_limit?: number;
21
+ temperature_units?: TemperatureUnit;
22
22
  }
23
23
 
24
24
  export interface RoomGuestStatusConfigurationParams {
25
- sold?: boolean;
26
- vip?: boolean;
27
- do_not_disturb?: boolean;
28
- make_up_room?: boolean;
29
- remote_occupation?: boolean;
30
- door_open_time_limit?: number;
31
- window_open_time_limit?: number;
32
- medical_alarm?: boolean;
25
+ sold?: boolean;
26
+ vip?: boolean;
27
+ do_not_disturb?: boolean;
28
+ make_up_room?: boolean;
29
+ remote_occupation?: boolean;
30
+ door_open_time_limit?: number;
31
+ window_open_time_limit?: number;
32
+ medical_alarm?: boolean;
33
+ }
34
+
35
+
36
+ export interface RoomGroupingConfigurationParams {
37
+ replica_1_active: boolean;
38
+ replica_2_active: boolean;
39
+ replica_3_active: boolean;
40
+ associate_clime: boolean;
41
+ associate_presence: boolean;
33
42
  }
@@ -1,53 +1,53 @@
1
1
  import { RegimState } from "./RobotCloudClient";
2
2
 
3
3
  export interface RoomClime1Data {
4
- demandRF: boolean;
5
- eco_mode: "STANDBY"|"ECO"|"VIP";
6
- fancoil_manual: boolean;
7
- fancoil_speed: number;
8
- humidity: number;
9
- humidity_set_point: number;
10
-
11
- on: boolean;
12
- onRF: boolean;
4
+ demandRF: boolean;
5
+ eco_mode: "STANDBY" | "ECO" | "VIP";
6
+ fancoil_manual: boolean;
7
+ fancoil_speed: number;
8
+ humidity: number;
9
+ humidity_set_point: number;
13
10
 
14
- temperature: number;
15
- temperature_set_point: number;
16
- regim: RegimState;
11
+ on: boolean;
12
+ onRF: boolean;
13
+
14
+ temperature: number;
15
+ temperature_set_point: number;
16
+ regim: RegimState;
17
17
  }
18
18
 
19
19
  export interface RoomConsumes1Data {
20
- energy_electric: number;
21
- energy_thermal: number;
22
- hot_water: number;
23
- cold_water: number;
20
+ energy_electric: number;
21
+ energy_thermal: number;
22
+ hot_water: number;
23
+ cold_water: number;
24
24
 
25
- daily_energy_electric: number;
26
- daily_energy_thermal: number;
27
- daily_hot_water: number;
28
- daily_cold_water: number;
29
- daily_co2_footprint: number;
30
- daily_tree_equivalent: number;
25
+ daily_energy_electric: number;
26
+ daily_energy_thermal: number;
27
+ daily_hot_water: number;
28
+ daily_cold_water: number;
29
+ daily_co2_footprint: number;
30
+ daily_tree_equivalent: number;
31
31
 
32
- guest_energy_electric: number;
33
- guest_energy_thermal: number;
34
- guest_hot_water: number;
35
- guest_cold_water: number;
36
- guest_co2_footprint: number;
37
- guest_tree_equivalent: number;
32
+ guest_energy_electric: number;
33
+ guest_energy_thermal: number;
34
+ guest_hot_water: number;
35
+ guest_cold_water: number;
36
+ guest_co2_footprint: number;
37
+ guest_tree_equivalent: number;
38
38
  }
39
39
 
40
40
  export interface RoomGuestStatus1Data {
41
- sold: boolean;
42
- vip: boolean;
43
- occupied: boolean;
44
- do_not_disturb: boolean;
45
- make_up_room: boolean;
46
- tray_status: "IDLE"|'READY'|'FINISH';
47
- remote_occupation: boolean;
48
- door_open: boolean;
49
- window_open: boolean;
50
- medical_alarm: boolean;
41
+ sold: boolean;
42
+ vip: boolean;
43
+ occupied: boolean;
44
+ do_not_disturb: boolean;
45
+ make_up_room: boolean;
46
+ tray_status: "IDLE" | 'READY' | 'FINISH';
47
+ remote_occupation: boolean;
48
+ door_open: boolean;
49
+ window_open: boolean;
50
+ medical_alarm: boolean;
51
51
  }
52
52
 
53
53
  export interface ServiceInstanceDeviceConfig {