@jakobgoerke/ac-infinity-client 0.1.1 → 0.2.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.
@@ -1,9 +1,10 @@
1
- import { Controller, User, DeviceModeSettings, DeviceSettings } from './types';
1
+ import type { Controller, DeviceModeSettings, DeviceSettings, User } from './types';
2
2
  export declare enum Url {
3
3
  AUTH = "/user/appUserLogin",
4
- CONTROLLERS = "/user/devInfoListAll",
5
- DEVICE_SETTINGS = "/dev/getDevSetting",
6
- DEVICE_MODE_SETTINGS = "/dev/getdevModeSettingList"
4
+ GET_CONTROLLERS = "/user/devInfoListAll",
5
+ GET_DEVICE_SETTINGS = "/dev/getDevSetting",
6
+ GET_DEVICE_MODE_SETTINGS = "/dev/getdevModeSettingList",
7
+ SET_DEVICE_MODE_SETTINGS = "/dev/addDevMode"
7
8
  }
8
9
  export interface Response<T> {
9
10
  code: number;
@@ -14,9 +15,12 @@ export interface AuthParams {
14
15
  password: string;
15
16
  }
16
17
  interface GetDeviceParams {
17
- deviceId: string;
18
+ controllerId: string;
18
19
  port: number;
19
20
  }
21
+ interface SetDeviceModeSettingsParams extends GetDeviceParams {
22
+ settings: Pick<Partial<DeviceModeSettings>, 'levelWhileOn'>;
23
+ }
20
24
  declare class AcInfinityClient {
21
25
  constructor(args: AuthParams);
22
26
  private api;
@@ -24,11 +28,13 @@ declare class AcInfinityClient {
24
28
  private email;
25
29
  private password;
26
30
  authenticate(): Promise<User>;
31
+ private ensureSuccess;
27
32
  getControllers(): Promise<Controller[]>;
28
- getDeviceSettings({ deviceId, port }: GetDeviceParams): Promise<DeviceSettings>;
29
- getDeviceModeSettings({ deviceId, port }: GetDeviceParams): Promise<DeviceModeSettings>;
33
+ getDeviceSettings({ controllerId, port }: GetDeviceParams): Promise<DeviceSettings>;
34
+ getDeviceModeSettings({ controllerId, port }: GetDeviceParams): Promise<DeviceModeSettings>;
35
+ setDeviceModeSettings({ controllerId, port, settings }: SetDeviceModeSettingsParams): Promise<void>;
30
36
  static build(args: AuthParams): Promise<AcInfinityClient>;
31
37
  }
32
38
  export { AcInfinityClient };
33
- export type { Controller, User, DeviceModeSettings, DeviceSettings };
39
+ export type { Controller, DeviceModeSettings, DeviceSettings, User };
34
40
  //# sourceMappingURL=AcInfinityClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcInfinityClient.d.ts","sourceRoot":"","sources":["../../src/AcInfinityClient.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,IAAI,EAGJ,kBAAkB,EAClB,cAAc,EAEf,MAAM,SAAS,CAAC;AAGjB,oBAAY,GAAG;IACb,IAAI,uBAAuB;IAC3B,WAAW,yBAAyB;IACpC,eAAe,uBAAuB;IACtC,oBAAoB,+BAA+B;CACpD;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,cAAM,gBAAgB;gBACR,IAAI,EAAE,UAAU;IAiB5B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IAEZ,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB7B,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAQvC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAS/E,qBAAqB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;WASvF,KAAK,CAAC,IAAI,EAAE,UAAU;CAKpC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"AcInfinityClient.d.ts","sourceRoot":"","sources":["../../src/AcInfinityClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAA2B,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG7G,oBAAY,GAAG;IACb,IAAI,uBAAuB;IAC3B,eAAe,yBAAyB;IACxC,mBAAmB,uBAAuB;IAC1C,wBAAwB,+BAA+B;IACvD,wBAAwB,oBAAoB;CAC7C;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;CACT;AAOD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,2BAA4B,SAAQ,eAAe;IAC3D,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAAC,CAAC;CAC7D;AAED,cAAM,gBAAgB;gBACR,IAAI,EAAE,UAAU;IAiB5B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IAEZ,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB1C,OAAO,CAAC,aAAa;IAMR,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAQvC,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IASnF,qBAAqB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS3F,qBAAqB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;WAanG,KAAK,CAAC,IAAI,EAAE,UAAU;CAKpC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC"}
@@ -5,14 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AcInfinityClient = exports.Url = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
- const types_1 = require("./types");
9
8
  const errors_1 = require("./errors");
9
+ const types_1 = require("./types");
10
10
  var Url;
11
11
  (function (Url) {
12
12
  Url["AUTH"] = "/user/appUserLogin";
13
- Url["CONTROLLERS"] = "/user/devInfoListAll";
14
- Url["DEVICE_SETTINGS"] = "/dev/getDevSetting";
15
- Url["DEVICE_MODE_SETTINGS"] = "/dev/getdevModeSettingList";
13
+ Url["GET_CONTROLLERS"] = "/user/devInfoListAll";
14
+ Url["GET_DEVICE_SETTINGS"] = "/dev/getDevSetting";
15
+ Url["GET_DEVICE_MODE_SETTINGS"] = "/dev/getdevModeSettingList";
16
+ Url["SET_DEVICE_MODE_SETTINGS"] = "/dev/addDevMode";
16
17
  })(Url || (exports.Url = Url = {}));
17
18
  class AcInfinityClient {
18
19
  constructor(args) {
@@ -41,30 +42,45 @@ class AcInfinityClient {
41
42
  throw new errors_1.AuthenticationError();
42
43
  }
43
44
  const user = types_1.UserSchema.parse(response.data.data);
44
- this.token = user.appId;
45
- this.api.defaults.headers.common['token'] = user.appId;
45
+ this.token = user.id;
46
+ this.api.defaults.headers.common.token = user.id;
46
47
  return user;
47
48
  }
49
+ ensureSuccess(response) {
50
+ if (response.code !== 200) {
51
+ throw new Error(`API request failed [code="${response.code}", msg="${response.msg}"]`);
52
+ }
53
+ }
48
54
  async getControllers() {
49
- const response = await this.api.post(Url.CONTROLLERS, {
55
+ const response = await this.api.post(Url.GET_CONTROLLERS, {
50
56
  userId: this.token,
51
57
  });
52
58
  return response.data.data.map((device) => types_1.ControllerSchema.parse(device));
53
59
  }
54
- async getDeviceSettings({ deviceId, port }) {
55
- const response = await this.api.post(Url.DEVICE_SETTINGS, {
56
- devId: deviceId,
60
+ async getDeviceSettings({ controllerId, port }) {
61
+ const response = await this.api.post(Url.GET_DEVICE_SETTINGS, {
62
+ devId: controllerId,
57
63
  port,
58
64
  });
59
65
  return types_1.DeviceSettingsSchema.parse(response.data.data);
60
66
  }
61
- async getDeviceModeSettings({ deviceId, port }) {
62
- const response = await this.api.post(Url.DEVICE_MODE_SETTINGS, {
63
- devId: deviceId,
67
+ async getDeviceModeSettings({ controllerId, port }) {
68
+ const response = await this.api.post(Url.GET_DEVICE_MODE_SETTINGS, {
69
+ devId: controllerId,
64
70
  port,
65
71
  });
66
72
  return types_1.DeviceModeSettingsSchema.parse(response.data.data);
67
73
  }
74
+ async setDeviceModeSettings({ controllerId, port, settings }) {
75
+ const rawCurrentSettings = await this.api.post(Url.GET_DEVICE_MODE_SETTINGS, {
76
+ devId: controllerId,
77
+ port,
78
+ });
79
+ const vendorChanges = (0, types_1.encodeDeviceModeSettings)(settings);
80
+ const payload = { ...rawCurrentSettings.data.data, ...vendorChanges };
81
+ const response = await this.api.post(Url.SET_DEVICE_MODE_SETTINGS, payload);
82
+ this.ensureSuccess(response.data);
83
+ }
68
84
  static async build(args) {
69
85
  const instance = new AcInfinityClient(args);
70
86
  await instance.authenticate();
@@ -1,154 +1,152 @@
1
1
  import { z } from 'zod';
2
2
  import { DeviceMode, DeviceType } from './Device';
3
- declare enum ControllerDeviceType {
3
+ export declare enum ControllerDeviceType {
4
4
  UIS_CONTROLLER_69_PRO = 11,
5
5
  UIS_CONTROLLER_69_PRO_PLUS = 10
6
6
  }
7
- export declare const ControllerPortSchema: z.ZodObject<{
8
- loadType: z.ZodNativeEnum<typeof DeviceType>;
9
- curMode: z.ZodNativeEnum<typeof DeviceMode>;
10
- port: z.ZodNumber;
7
+ export declare const ControllerPortSchema: z.ZodPipe<z.ZodObject<{
11
8
  speak: z.ZodNumber;
9
+ port: z.ZodNumber;
10
+ curMode: z.ZodEnum<typeof DeviceMode>;
11
+ loadType: z.ZodEnum<typeof DeviceType>;
12
12
  portName: z.ZodString;
13
- }, "strip", z.ZodTypeAny, {
14
- loadType: DeviceType;
15
- curMode: DeviceMode;
13
+ }, z.core.$strip>, z.ZodTransform<{
16
14
  port: number;
17
- speak: number;
18
- portName: string;
15
+ currentLevel: number;
16
+ currentMode: DeviceMode;
17
+ deviceType: DeviceType;
18
+ deviceName: string;
19
19
  }, {
20
- loadType: DeviceType;
21
- curMode: DeviceMode;
22
- port: number;
23
20
  speak: number;
21
+ port: number;
22
+ curMode: DeviceMode;
23
+ loadType: DeviceType;
24
24
  portName: string;
25
- }>;
26
- export type ControllerPort = z.infer<typeof ControllerPortSchema>;
27
- export declare const ControllerDeviceInfoSchema: z.ZodObject<{
25
+ }>>;
26
+ export declare const ControllerDeviceInfoSchema: z.ZodPipe<z.ZodObject<{
28
27
  temperature: z.ZodNumber;
29
28
  humidity: z.ZodNumber;
30
- ports: z.ZodArray<z.ZodObject<{
31
- loadType: z.ZodNativeEnum<typeof DeviceType>;
32
- curMode: z.ZodNativeEnum<typeof DeviceMode>;
33
- port: z.ZodNumber;
29
+ vpdnums: z.ZodNumber;
30
+ ports: z.ZodArray<z.ZodPipe<z.ZodObject<{
34
31
  speak: z.ZodNumber;
32
+ port: z.ZodNumber;
33
+ curMode: z.ZodEnum<typeof DeviceMode>;
34
+ loadType: z.ZodEnum<typeof DeviceType>;
35
35
  portName: z.ZodString;
36
- }, "strip", z.ZodTypeAny, {
37
- loadType: DeviceType;
38
- curMode: DeviceMode;
36
+ }, z.core.$strip>, z.ZodTransform<{
39
37
  port: number;
40
- speak: number;
41
- portName: string;
38
+ currentLevel: number;
39
+ currentMode: DeviceMode;
40
+ deviceType: DeviceType;
41
+ deviceName: string;
42
42
  }, {
43
- loadType: DeviceType;
44
- curMode: DeviceMode;
45
- port: number;
46
43
  speak: number;
44
+ port: number;
45
+ curMode: DeviceMode;
46
+ loadType: DeviceType;
47
47
  portName: string;
48
- }>, "many">;
49
- vpdnums: z.ZodNumber;
50
- }, "strip", z.ZodTypeAny, {
48
+ }>>>;
49
+ }, z.core.$strip>, z.ZodTransform<{
51
50
  temperature: number;
52
51
  humidity: number;
52
+ vpd: number;
53
53
  ports: {
54
- loadType: DeviceType;
55
- curMode: DeviceMode;
56
54
  port: number;
57
- speak: number;
58
- portName: string;
55
+ currentLevel: number;
56
+ currentMode: DeviceMode;
57
+ deviceType: DeviceType;
58
+ deviceName: string;
59
59
  }[];
60
- vpdnums: number;
61
60
  }, {
62
61
  temperature: number;
63
62
  humidity: number;
63
+ vpdnums: number;
64
64
  ports: {
65
- loadType: DeviceType;
66
- curMode: DeviceMode;
67
65
  port: number;
68
- speak: number;
69
- portName: string;
66
+ currentLevel: number;
67
+ currentMode: DeviceMode;
68
+ deviceType: DeviceType;
69
+ deviceName: string;
70
70
  }[];
71
- vpdnums: number;
72
- }>;
73
- export type ControllerDeviceInfo = z.infer<typeof ControllerDeviceInfoSchema>;
74
- export declare const ControllerSchema: z.ZodObject<{
71
+ }>>;
72
+ export declare const ControllerSchema: z.ZodPipe<z.ZodObject<{
75
73
  devId: z.ZodString;
76
74
  devCode: z.ZodString;
77
75
  devName: z.ZodString;
78
- devType: z.ZodNativeEnum<typeof ControllerDeviceType>;
76
+ devType: z.ZodEnum<typeof ControllerDeviceType>;
79
77
  devPortCount: z.ZodNumber;
80
78
  devVersion: z.ZodNumber;
81
- online: z.ZodBoolean;
79
+ online: z.ZodCoercedBoolean<unknown>;
82
80
  firmwareVersion: z.ZodString;
83
81
  hardwareVersion: z.ZodString;
84
- deviceInfo: z.ZodObject<{
82
+ deviceInfo: z.ZodPipe<z.ZodObject<{
85
83
  temperature: z.ZodNumber;
86
84
  humidity: z.ZodNumber;
87
- ports: z.ZodArray<z.ZodObject<{
88
- loadType: z.ZodNativeEnum<typeof DeviceType>;
89
- curMode: z.ZodNativeEnum<typeof DeviceMode>;
90
- port: z.ZodNumber;
85
+ vpdnums: z.ZodNumber;
86
+ ports: z.ZodArray<z.ZodPipe<z.ZodObject<{
91
87
  speak: z.ZodNumber;
88
+ port: z.ZodNumber;
89
+ curMode: z.ZodEnum<typeof DeviceMode>;
90
+ loadType: z.ZodEnum<typeof DeviceType>;
92
91
  portName: z.ZodString;
93
- }, "strip", z.ZodTypeAny, {
94
- loadType: DeviceType;
95
- curMode: DeviceMode;
92
+ }, z.core.$strip>, z.ZodTransform<{
96
93
  port: number;
97
- speak: number;
98
- portName: string;
94
+ currentLevel: number;
95
+ currentMode: DeviceMode;
96
+ deviceType: DeviceType;
97
+ deviceName: string;
99
98
  }, {
100
- loadType: DeviceType;
101
- curMode: DeviceMode;
102
- port: number;
103
99
  speak: number;
100
+ port: number;
101
+ curMode: DeviceMode;
102
+ loadType: DeviceType;
104
103
  portName: string;
105
- }>, "many">;
106
- vpdnums: z.ZodNumber;
107
- }, "strip", z.ZodTypeAny, {
104
+ }>>>;
105
+ }, z.core.$strip>, z.ZodTransform<{
108
106
  temperature: number;
109
107
  humidity: number;
108
+ vpd: number;
110
109
  ports: {
111
- loadType: DeviceType;
112
- curMode: DeviceMode;
113
110
  port: number;
114
- speak: number;
115
- portName: string;
111
+ currentLevel: number;
112
+ currentMode: DeviceMode;
113
+ deviceType: DeviceType;
114
+ deviceName: string;
116
115
  }[];
117
- vpdnums: number;
118
116
  }, {
119
117
  temperature: number;
120
118
  humidity: number;
119
+ vpdnums: number;
121
120
  ports: {
122
- loadType: DeviceType;
123
- curMode: DeviceMode;
124
121
  port: number;
125
- speak: number;
126
- portName: string;
122
+ currentLevel: number;
123
+ currentMode: DeviceMode;
124
+ deviceType: DeviceType;
125
+ deviceName: string;
127
126
  }[];
128
- vpdnums: number;
129
- }>;
130
- }, "strip", z.ZodTypeAny, {
131
- devId: string;
132
- devCode: string;
133
- devName: string;
134
- devType: ControllerDeviceType;
135
- devPortCount: number;
136
- devVersion: number;
127
+ }>>;
128
+ }, z.core.$strip>, z.ZodTransform<{
137
129
  online: boolean;
138
130
  firmwareVersion: string;
139
131
  hardwareVersion: string;
140
132
  deviceInfo: {
141
133
  temperature: number;
142
134
  humidity: number;
135
+ vpd: number;
143
136
  ports: {
144
- loadType: DeviceType;
145
- curMode: DeviceMode;
146
137
  port: number;
147
- speak: number;
148
- portName: string;
138
+ currentLevel: number;
139
+ currentMode: DeviceMode;
140
+ deviceType: DeviceType;
141
+ deviceName: string;
149
142
  }[];
150
- vpdnums: number;
151
143
  };
144
+ id: string;
145
+ code: string;
146
+ name: string;
147
+ type: ControllerDeviceType;
148
+ totalPorts: number;
149
+ version: number;
152
150
  }, {
153
151
  devId: string;
154
152
  devCode: string;
@@ -162,16 +160,17 @@ export declare const ControllerSchema: z.ZodObject<{
162
160
  deviceInfo: {
163
161
  temperature: number;
164
162
  humidity: number;
163
+ vpd: number;
165
164
  ports: {
166
- loadType: DeviceType;
167
- curMode: DeviceMode;
168
165
  port: number;
169
- speak: number;
170
- portName: string;
166
+ currentLevel: number;
167
+ currentMode: DeviceMode;
168
+ deviceType: DeviceType;
169
+ deviceName: string;
171
170
  }[];
172
- vpdnums: number;
173
171
  };
174
- }>;
172
+ }>>;
173
+ export type ControllerPort = z.infer<typeof ControllerPortSchema>;
174
+ export type ControllerDeviceInfo = z.infer<typeof ControllerDeviceInfoSchema>;
175
175
  export type Controller = z.infer<typeof ControllerSchema>;
176
- export {};
177
176
  //# sourceMappingURL=Controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../src/types/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD,aAAK,oBAAoB;IACvB,qBAAqB,KAAK;IAC1B,0BAA0B,KAAK;CAChC;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../src/types/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD,oBAAY,oBAAoB;IAC9B,qBAAqB,KAAK;IAC1B,0BAA0B,KAAK;CAChC;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;GAc5B,CAAC;AAEN,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAYlC,CAAC;AAEN,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqBxB,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,35 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ControllerSchema = exports.ControllerDeviceInfoSchema = exports.ControllerPortSchema = void 0;
3
+ exports.ControllerSchema = exports.ControllerDeviceInfoSchema = exports.ControllerPortSchema = exports.ControllerDeviceType = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const Device_1 = require("./Device");
6
6
  var ControllerDeviceType;
7
7
  (function (ControllerDeviceType) {
8
8
  ControllerDeviceType[ControllerDeviceType["UIS_CONTROLLER_69_PRO"] = 11] = "UIS_CONTROLLER_69_PRO";
9
9
  ControllerDeviceType[ControllerDeviceType["UIS_CONTROLLER_69_PRO_PLUS"] = 10] = "UIS_CONTROLLER_69_PRO_PLUS";
10
- })(ControllerDeviceType || (ControllerDeviceType = {}));
11
- exports.ControllerPortSchema = zod_1.z.object({
12
- loadType: zod_1.z.nativeEnum(Device_1.DeviceType),
13
- curMode: zod_1.z.nativeEnum(Device_1.DeviceMode),
14
- port: zod_1.z.number().positive(),
10
+ })(ControllerDeviceType || (exports.ControllerDeviceType = ControllerDeviceType = {}));
11
+ exports.ControllerPortSchema = zod_1.z
12
+ .object({
15
13
  speak: zod_1.z.number(),
14
+ port: zod_1.z.number().positive(),
15
+ curMode: zod_1.z.enum(Device_1.DeviceMode),
16
+ loadType: zod_1.z.enum(Device_1.DeviceType),
16
17
  portName: zod_1.z.string(),
17
- });
18
- exports.ControllerDeviceInfoSchema = zod_1.z.object({
18
+ })
19
+ .transform((v) => ({
20
+ port: v.port,
21
+ currentLevel: v.speak,
22
+ currentMode: v.curMode,
23
+ deviceType: v.loadType,
24
+ deviceName: v.portName,
25
+ }));
26
+ exports.ControllerDeviceInfoSchema = zod_1.z
27
+ .object({
19
28
  temperature: zod_1.z.number(),
20
29
  humidity: zod_1.z.number(),
21
- ports: zod_1.z.array(exports.ControllerPortSchema),
22
30
  vpdnums: zod_1.z.number(),
23
- });
24
- exports.ControllerSchema = zod_1.z.object({
31
+ ports: zod_1.z.array(exports.ControllerPortSchema),
32
+ })
33
+ .transform((v) => ({
34
+ temperature: v.temperature / 100,
35
+ humidity: v.humidity / 100,
36
+ vpd: v.vpdnums / 100,
37
+ ports: v.ports,
38
+ }));
39
+ exports.ControllerSchema = zod_1.z
40
+ .object({
25
41
  devId: zod_1.z.string(),
26
42
  devCode: zod_1.z.string(),
27
43
  devName: zod_1.z.string(),
28
- devType: zod_1.z.nativeEnum(ControllerDeviceType),
44
+ devType: zod_1.z.enum(ControllerDeviceType),
29
45
  devPortCount: zod_1.z.number().positive(),
30
46
  devVersion: zod_1.z.number(),
31
47
  online: zod_1.z.coerce.boolean(),
32
48
  firmwareVersion: zod_1.z.string(),
33
49
  hardwareVersion: zod_1.z.string(),
34
50
  deviceInfo: exports.ControllerDeviceInfoSchema,
35
- });
51
+ })
52
+ .transform(({ devId, devCode, devName, devType, devPortCount, devVersion, ...rest }) => ({
53
+ id: devId,
54
+ code: devCode,
55
+ name: devName,
56
+ type: devType,
57
+ totalPorts: devPortCount,
58
+ version: devVersion,
59
+ ...rest,
60
+ }));
@@ -1,24 +1,342 @@
1
1
  import { z } from 'zod';
2
2
  export declare enum DeviceType {
3
- 'GROW_LIGHT' = 1,
4
- 'HUMIDIFIER' = 2,
5
- 'DEHUMIDIFIER' = 3,
6
- 'HEATER' = 4,
7
- 'AIR_CONDITION' = 5,
8
- 'FAN' = 6
3
+ GROW_LIGHT = 1,
4
+ HUMIDIFIER = 2,
5
+ DEHUMIDIFIER = 3,
6
+ HEATER = 4,
7
+ AIR_CONDITION = 5,
8
+ FAN = 6
9
9
  }
10
10
  export declare enum DeviceMode {
11
- 'OFF' = 1,
12
- 'ON' = 2,
13
- 'AUTO' = 3,
14
- 'TIMER_TO_ON' = 4,
15
- 'TIMER_TO_OFF' = 5,
16
- 'CYCLE' = 6,
17
- 'SCHEDULE' = 7,
18
- 'VPD' = 8
11
+ OFF = 1,
12
+ ON = 2,
13
+ AUTO = 3,
14
+ TIMER_TO_ON = 4,
15
+ TIMER_TO_OFF = 5,
16
+ CYCLE = 6,
17
+ SCHEDULE = 7,
18
+ VPD = 8
19
19
  }
20
- export declare const DeviceSettingsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
20
+ export declare const DeviceSettingsSchema: z.ZodPipe<z.ZodObject<{
21
+ devId: z.ZodString;
22
+ devMacAddr: z.ZodNullable<z.ZodString>;
23
+ externalPort: z.ZodNumber;
24
+ offSpead: z.ZodNumber;
25
+ onSpead: z.ZodNumber;
26
+ onSelfSpead: z.ZodNumber;
27
+ ecUnit: z.ZodNumber;
28
+ tdsUnit: z.ZodNumber;
29
+ settingMode: z.ZodNumber;
30
+ vpdSettingMode: z.ZodNumber;
31
+ atType: z.ZodEnum<typeof DeviceMode>;
32
+ setId: z.ZodNullable<z.ZodString>;
33
+ port: z.ZodNumber;
34
+ devName: z.ZodNullable<z.ZodString>;
35
+ devLight: z.ZodNumber;
36
+ hasBacklightSwitch: z.ZodNumber;
37
+ backlightSwitch: z.ZodNumber;
38
+ hasKeytoneSwitch: z.ZodNumber;
39
+ keytoneSwitch: z.ZodNumber;
40
+ devCth: z.ZodNumber;
41
+ devCt: z.ZodNumber;
42
+ devCth2: z.ZodNullable<z.ZodNumber>;
43
+ devCt2: z.ZodNullable<z.ZodNumber>;
44
+ devCh: z.ZodNumber;
45
+ devTt: z.ZodNumber;
46
+ devTh: z.ZodNumber;
47
+ devCompany: z.ZodNumber;
48
+ devTth: z.ZodNumber;
49
+ vpdCth: z.ZodNumber;
50
+ vpdCt: z.ZodNumber;
51
+ vpdTransition: z.ZodNumber;
52
+ portResistance: z.ZodNullable<z.ZodNumber>;
53
+ devBth: z.ZodNumber;
54
+ devBt: z.ZodNumber;
55
+ devBh: z.ZodNumber;
56
+ devBvpd: z.ZodNumber;
57
+ isFlag: z.ZodNumber;
58
+ devTimeZone: z.ZodNullable<z.ZodString>;
59
+ loadType: z.ZodNumber;
60
+ tempCompare: z.ZodNumber;
61
+ humiCompare: z.ZodNumber;
62
+ onTimeSwitch: z.ZodNumber;
63
+ onTime: z.ZodNumber;
64
+ sensorSettingStr: z.ZodNullable<z.ZodString>;
65
+ sensorSetting: z.ZodNullable<z.ZodUnknown>;
66
+ sensorTransBuffStr: z.ZodNullable<z.ZodString>;
67
+ sensorTransBuff: z.ZodNullable<z.ZodUnknown>;
68
+ portParamData: z.ZodNullable<z.ZodString>;
69
+ photocellSwitch: z.ZodNumber;
70
+ isOpenDoseTime: z.ZodNumber;
71
+ onDoseTime: z.ZodNumber;
72
+ offDoseTime: z.ZodNumber;
73
+ isOnMinMaxTime: z.ZodNumber;
74
+ onMinTime: z.ZodNumber;
75
+ onMaxTime: z.ZodNumber;
76
+ ecOrTds: z.ZodNumber;
77
+ interchangeSensor: z.ZodNumber;
78
+ subDeviceId: z.ZodNullable<z.ZodString>;
79
+ subDeviceVersion: z.ZodNullable<z.ZodString>;
80
+ subDeviceType: z.ZodNullable<z.ZodNumber>;
81
+ supportOta: z.ZodNullable<z.ZodUnknown>;
82
+ otaUpdating: z.ZodNullable<z.ZodUnknown>;
83
+ secFucStatus: z.ZodNumber;
84
+ secFucDevtype: z.ZodNumber;
85
+ secFucDevEffect: z.ZodNumber;
86
+ secFucParamNums: z.ZodNumber;
87
+ secFucParams: z.ZodNullable<z.ZodUnknown>;
88
+ secFucReportTime: z.ZodNumber;
89
+ toward: z.ZodNullable<z.ZodUnknown>;
90
+ powerState: z.ZodNullable<z.ZodUnknown>;
91
+ updateAllPort: z.ZodBoolean;
92
+ timestamp: z.ZodNullable<z.ZodUnknown>;
93
+ calibrationTime: z.ZodNullable<z.ZodUnknown>;
94
+ fieldSet: z.ZodArray<z.ZodUnknown>;
95
+ plantCode: z.ZodNumber;
96
+ potSize: z.ZodNumber;
97
+ plantingNum: z.ZodNumber;
98
+ devCl: z.ZodNullable<z.ZodUnknown>;
99
+ devCsm1: z.ZodNullable<z.ZodUnknown>;
100
+ devCsm2: z.ZodNullable<z.ZodUnknown>;
101
+ devCsm3: z.ZodNullable<z.ZodUnknown>;
102
+ devCsm4: z.ZodNullable<z.ZodUnknown>;
103
+ uuidSta: z.ZodNumber;
104
+ uuidType: z.ZodNullable<z.ZodUnknown>;
105
+ uuid: z.ZodNullable<z.ZodString>;
106
+ matterCode: z.ZodNullable<z.ZodString>;
107
+ matterSta: z.ZodNullable<z.ZodUnknown>;
108
+ }, z.core.$strip>, z.ZodTransform<{
109
+ id: string;
110
+ port: number;
111
+ levelWhileOff: number;
112
+ levelWhileOn: number;
113
+ mode: DeviceMode;
114
+ }, {
115
+ devId: string;
116
+ devMacAddr: string | null;
117
+ externalPort: number;
118
+ offSpead: number;
119
+ onSpead: number;
120
+ onSelfSpead: number;
121
+ ecUnit: number;
122
+ tdsUnit: number;
123
+ settingMode: number;
124
+ vpdSettingMode: number;
125
+ atType: DeviceMode;
126
+ setId: string | null;
127
+ port: number;
128
+ devName: string | null;
129
+ devLight: number;
130
+ hasBacklightSwitch: number;
131
+ backlightSwitch: number;
132
+ hasKeytoneSwitch: number;
133
+ keytoneSwitch: number;
134
+ devCth: number;
135
+ devCt: number;
136
+ devCth2: number | null;
137
+ devCt2: number | null;
138
+ devCh: number;
139
+ devTt: number;
140
+ devTh: number;
141
+ devCompany: number;
142
+ devTth: number;
143
+ vpdCth: number;
144
+ vpdCt: number;
145
+ vpdTransition: number;
146
+ portResistance: number | null;
147
+ devBth: number;
148
+ devBt: number;
149
+ devBh: number;
150
+ devBvpd: number;
151
+ isFlag: number;
152
+ devTimeZone: string | null;
153
+ loadType: number;
154
+ tempCompare: number;
155
+ humiCompare: number;
156
+ onTimeSwitch: number;
157
+ onTime: number;
158
+ sensorSettingStr: string | null;
159
+ sensorSetting: unknown;
160
+ sensorTransBuffStr: string | null;
161
+ sensorTransBuff: unknown;
162
+ portParamData: string | null;
163
+ photocellSwitch: number;
164
+ isOpenDoseTime: number;
165
+ onDoseTime: number;
166
+ offDoseTime: number;
167
+ isOnMinMaxTime: number;
168
+ onMinTime: number;
169
+ onMaxTime: number;
170
+ ecOrTds: number;
171
+ interchangeSensor: number;
172
+ subDeviceId: string | null;
173
+ subDeviceVersion: string | null;
174
+ subDeviceType: number | null;
175
+ supportOta: unknown;
176
+ otaUpdating: unknown;
177
+ secFucStatus: number;
178
+ secFucDevtype: number;
179
+ secFucDevEffect: number;
180
+ secFucParamNums: number;
181
+ secFucParams: unknown;
182
+ secFucReportTime: number;
183
+ toward: unknown;
184
+ powerState: unknown;
185
+ updateAllPort: boolean;
186
+ timestamp: unknown;
187
+ calibrationTime: unknown;
188
+ fieldSet: unknown[];
189
+ plantCode: number;
190
+ potSize: number;
191
+ plantingNum: number;
192
+ devCl: unknown;
193
+ devCsm1: unknown;
194
+ devCsm2: unknown;
195
+ devCsm3: unknown;
196
+ devCsm4: unknown;
197
+ uuidSta: number;
198
+ uuidType: unknown;
199
+ uuid: string | null;
200
+ matterCode: string | null;
201
+ matterSta: unknown;
202
+ }>>;
203
+ export declare const DeviceModeSettingsSchema: z.ZodPipe<z.ZodObject<{
204
+ devId: z.ZodString;
205
+ devMacAddr: z.ZodNullable<z.ZodString>;
206
+ externalPort: z.ZodNumber;
207
+ offSpead: z.ZodNumber;
208
+ onSpead: z.ZodNumber;
209
+ onSelfSpead: z.ZodNumber;
210
+ ecUnit: z.ZodNumber;
211
+ tdsUnit: z.ZodNumber;
212
+ settingMode: z.ZodNumber;
213
+ vpdSettingMode: z.ZodNumber;
214
+ atType: z.ZodEnum<typeof DeviceMode>;
215
+ acitveTimerOff: z.ZodNumber;
216
+ acitveTimerOn: z.ZodNumber;
217
+ activeCycleOff: z.ZodNumber;
218
+ activeCycleOn: z.ZodNumber;
219
+ activeHh: z.ZodNumber;
220
+ activeHt: z.ZodNumber;
221
+ activeHtVpd: z.ZodNumber;
222
+ activeHtVpdNums: z.ZodNumber;
223
+ activeLh: z.ZodNumber;
224
+ activeLt: z.ZodNumber;
225
+ activeLtVpd: z.ZodNumber;
226
+ activeLtVpdNums: z.ZodNumber;
227
+ co2FanHighSwitch: z.ZodNumber;
228
+ co2FanHighValue: z.ZodNumber;
229
+ co2LowSwitch: z.ZodNumber;
230
+ co2LowValue: z.ZodNumber;
231
+ devHh: z.ZodNumber;
232
+ devHt: z.ZodNumber;
233
+ devHtf: z.ZodNumber;
234
+ devLh: z.ZodNumber;
235
+ devLt: z.ZodNumber;
236
+ devLtf: z.ZodNumber;
237
+ ecTdsLowSwitchEc: z.ZodNumber;
238
+ ecTdsLowSwitchTds: z.ZodNumber;
239
+ ecTdsLowValueEcUs: z.ZodNumber;
240
+ ecTdsLowValueTdsPpm: z.ZodNumber;
241
+ isOpenAutomation: z.ZodNumber;
242
+ modeType: z.ZodNumber;
243
+ moistureLowSwitch: z.ZodNumber;
244
+ moistureLowValue: z.ZodNumber;
245
+ onlyUpdateSpeed: z.ZodNumber;
246
+ phHighSwitch: z.ZodNumber;
247
+ phHighValue: z.ZodNumber;
248
+ phLowSwitch: z.ZodNumber;
249
+ phLowValue: z.ZodNumber;
250
+ schedEndtTime: z.ZodNumber;
251
+ schedStartTime: z.ZodNumber;
252
+ surplus: z.ZodNullable<z.ZodNumber>;
253
+ targetHumi: z.ZodNumber;
254
+ targetHumiSwitch: z.ZodNumber;
255
+ targetTSwitch: z.ZodNumber;
256
+ targetTemp: z.ZodNumber;
257
+ targetTempF: z.ZodNumber;
258
+ targetVpd: z.ZodNumber;
259
+ targetVpdSwitch: z.ZodNumber;
260
+ waterLevelLowSwitch: z.ZodNumber;
261
+ waterTempHighSwitch: z.ZodNumber;
262
+ waterTempHighValue: z.ZodNumber;
263
+ waterTempHighValueF: z.ZodNumber;
264
+ waterTempLowSwitch: z.ZodNumber;
265
+ waterTempLowValue: z.ZodNumber;
266
+ waterTempLowValueF: z.ZodNumber;
267
+ }, z.core.$strip>, z.ZodTransform<{
268
+ id: string;
269
+ port: number;
270
+ levelWhileOff: number;
271
+ levelWhileOn: number;
272
+ mode: DeviceMode;
273
+ }, {
274
+ devId: string;
275
+ devMacAddr: string | null;
276
+ externalPort: number;
277
+ offSpead: number;
278
+ onSpead: number;
279
+ onSelfSpead: number;
280
+ ecUnit: number;
281
+ tdsUnit: number;
282
+ settingMode: number;
283
+ vpdSettingMode: number;
284
+ atType: DeviceMode;
285
+ acitveTimerOff: number;
286
+ acitveTimerOn: number;
287
+ activeCycleOff: number;
288
+ activeCycleOn: number;
289
+ activeHh: number;
290
+ activeHt: number;
291
+ activeHtVpd: number;
292
+ activeHtVpdNums: number;
293
+ activeLh: number;
294
+ activeLt: number;
295
+ activeLtVpd: number;
296
+ activeLtVpdNums: number;
297
+ co2FanHighSwitch: number;
298
+ co2FanHighValue: number;
299
+ co2LowSwitch: number;
300
+ co2LowValue: number;
301
+ devHh: number;
302
+ devHt: number;
303
+ devHtf: number;
304
+ devLh: number;
305
+ devLt: number;
306
+ devLtf: number;
307
+ ecTdsLowSwitchEc: number;
308
+ ecTdsLowSwitchTds: number;
309
+ ecTdsLowValueEcUs: number;
310
+ ecTdsLowValueTdsPpm: number;
311
+ isOpenAutomation: number;
312
+ modeType: number;
313
+ moistureLowSwitch: number;
314
+ moistureLowValue: number;
315
+ onlyUpdateSpeed: number;
316
+ phHighSwitch: number;
317
+ phHighValue: number;
318
+ phLowSwitch: number;
319
+ phLowValue: number;
320
+ schedEndtTime: number;
321
+ schedStartTime: number;
322
+ surplus: number | null;
323
+ targetHumi: number;
324
+ targetHumiSwitch: number;
325
+ targetTSwitch: number;
326
+ targetTemp: number;
327
+ targetTempF: number;
328
+ targetVpd: number;
329
+ targetVpdSwitch: number;
330
+ waterLevelLowSwitch: number;
331
+ waterTempHighSwitch: number;
332
+ waterTempHighValue: number;
333
+ waterTempHighValueF: number;
334
+ waterTempLowSwitch: number;
335
+ waterTempLowValue: number;
336
+ waterTempLowValueF: number;
337
+ }>>;
21
338
  export type DeviceSettings = z.infer<typeof DeviceSettingsSchema>;
22
- export declare const DeviceModeSettingsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
23
339
  export type DeviceModeSettings = z.infer<typeof DeviceModeSettingsSchema>;
340
+ export type DeviceModeSettingsInput = z.input<typeof DeviceModeSettingsSchema>;
341
+ export declare function encodeDeviceModeSettings(settings: Partial<DeviceModeSettings>): Partial<DeviceModeSettingsInput>;
24
342
  //# sourceMappingURL=Device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../../src/types/Device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oBAAY,UAAU;IACpB,YAAY,IAAI;IAChB,YAAY,IAAI;IAChB,cAAc,IAAI;IAClB,QAAQ,IAAI;IACZ,eAAe,IAAI;IACnB,KAAK,IAAI;CACV;AAED,oBAAY,UAAU;IACpB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,cAAc,IAAI;IAClB,OAAO,IAAI;IACX,UAAU,IAAI;IACd,KAAK,IAAI;CACV;AAED,eAAO,MAAM,oBAAoB,gDAAe,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB,gDAAe,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../../src/types/Device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oBAAY,UAAU;IACpB,UAAU,IAAI;IACd,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,GAAG,IAAI;CACR;AAED,oBAAY,UAAU;IACpB,GAAG,IAAI;IACP,EAAE,IAAI;IACN,IAAI,IAAI;IACR,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,GAAG,IAAI;CACR;AA0BD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+E9B,CAAC;AAEJ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDlC,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAIhH"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeviceModeSettingsSchema = exports.DeviceSettingsSchema = exports.DeviceMode = exports.DeviceType = void 0;
4
+ exports.encodeDeviceModeSettings = encodeDeviceModeSettings;
4
5
  const zod_1 = require("zod");
5
6
  var DeviceType;
6
7
  (function (DeviceType) {
@@ -22,5 +23,164 @@ var DeviceMode;
22
23
  DeviceMode[DeviceMode["SCHEDULE"] = 7] = "SCHEDULE";
23
24
  DeviceMode[DeviceMode["VPD"] = 8] = "VPD";
24
25
  })(DeviceMode || (exports.DeviceMode = DeviceMode = {}));
25
- exports.DeviceSettingsSchema = zod_1.z.object({});
26
- exports.DeviceModeSettingsSchema = zod_1.z.object({});
26
+ const DeviceBaseInputSchema = zod_1.z.object({
27
+ devId: zod_1.z.string(),
28
+ devMacAddr: zod_1.z.string().nullable(),
29
+ externalPort: zod_1.z.number(),
30
+ offSpead: zod_1.z.number().min(0).max(10),
31
+ onSpead: zod_1.z.number().min(0).max(10),
32
+ onSelfSpead: zod_1.z.number(),
33
+ ecUnit: zod_1.z.number(),
34
+ tdsUnit: zod_1.z.number(),
35
+ settingMode: zod_1.z.number(),
36
+ vpdSettingMode: zod_1.z.number(),
37
+ atType: zod_1.z.enum(DeviceMode),
38
+ });
39
+ const transformDeviceBase = ({ devId, externalPort, offSpead, onSpead, atType }) => ({
40
+ id: devId,
41
+ port: externalPort,
42
+ levelWhileOff: offSpead,
43
+ levelWhileOn: onSpead,
44
+ mode: atType,
45
+ });
46
+ exports.DeviceSettingsSchema = DeviceBaseInputSchema.extend({
47
+ setId: zod_1.z.string().nullable(),
48
+ port: zod_1.z.number(),
49
+ devName: zod_1.z.string().nullable(),
50
+ devLight: zod_1.z.number(),
51
+ hasBacklightSwitch: zod_1.z.number(),
52
+ backlightSwitch: zod_1.z.number(),
53
+ hasKeytoneSwitch: zod_1.z.number(),
54
+ keytoneSwitch: zod_1.z.number(),
55
+ devCth: zod_1.z.number(),
56
+ devCt: zod_1.z.number(),
57
+ devCth2: zod_1.z.number().nullable(),
58
+ devCt2: zod_1.z.number().nullable(),
59
+ devCh: zod_1.z.number(),
60
+ devTt: zod_1.z.number(),
61
+ devTh: zod_1.z.number(),
62
+ devCompany: zod_1.z.number(),
63
+ devTth: zod_1.z.number(),
64
+ vpdCth: zod_1.z.number(),
65
+ vpdCt: zod_1.z.number(),
66
+ vpdTransition: zod_1.z.number(),
67
+ portResistance: zod_1.z.number().nullable(),
68
+ devBth: zod_1.z.number(),
69
+ devBt: zod_1.z.number(),
70
+ devBh: zod_1.z.number(),
71
+ devBvpd: zod_1.z.number(),
72
+ isFlag: zod_1.z.number(),
73
+ devTimeZone: zod_1.z.string().nullable(),
74
+ loadType: zod_1.z.number(),
75
+ tempCompare: zod_1.z.number(),
76
+ humiCompare: zod_1.z.number(),
77
+ onTimeSwitch: zod_1.z.number(),
78
+ onTime: zod_1.z.number(),
79
+ sensorSettingStr: zod_1.z.string().nullable(),
80
+ sensorSetting: zod_1.z.unknown().nullable(),
81
+ sensorTransBuffStr: zod_1.z.string().nullable(),
82
+ sensorTransBuff: zod_1.z.unknown().nullable(),
83
+ portParamData: zod_1.z.string().nullable(),
84
+ photocellSwitch: zod_1.z.number(),
85
+ isOpenDoseTime: zod_1.z.number(),
86
+ onDoseTime: zod_1.z.number(),
87
+ offDoseTime: zod_1.z.number(),
88
+ isOnMinMaxTime: zod_1.z.number(),
89
+ onMinTime: zod_1.z.number(),
90
+ onMaxTime: zod_1.z.number(),
91
+ ecOrTds: zod_1.z.number(),
92
+ interchangeSensor: zod_1.z.number(),
93
+ subDeviceId: zod_1.z.string().nullable(),
94
+ subDeviceVersion: zod_1.z.string().nullable(),
95
+ subDeviceType: zod_1.z.number().nullable(),
96
+ supportOta: zod_1.z.unknown().nullable(),
97
+ otaUpdating: zod_1.z.unknown().nullable(),
98
+ secFucStatus: zod_1.z.number(),
99
+ secFucDevtype: zod_1.z.number(),
100
+ secFucDevEffect: zod_1.z.number(),
101
+ secFucParamNums: zod_1.z.number(),
102
+ secFucParams: zod_1.z.unknown().nullable(),
103
+ secFucReportTime: zod_1.z.number(),
104
+ toward: zod_1.z.unknown().nullable(),
105
+ powerState: zod_1.z.unknown().nullable(),
106
+ updateAllPort: zod_1.z.boolean(),
107
+ timestamp: zod_1.z.unknown().nullable(),
108
+ calibrationTime: zod_1.z.unknown().nullable(),
109
+ fieldSet: zod_1.z.array(zod_1.z.unknown()),
110
+ plantCode: zod_1.z.number(),
111
+ potSize: zod_1.z.number(),
112
+ plantingNum: zod_1.z.number(),
113
+ devCl: zod_1.z.unknown().nullable(),
114
+ devCsm1: zod_1.z.unknown().nullable(),
115
+ devCsm2: zod_1.z.unknown().nullable(),
116
+ devCsm3: zod_1.z.unknown().nullable(),
117
+ devCsm4: zod_1.z.unknown().nullable(),
118
+ uuidSta: zod_1.z.number(),
119
+ uuidType: zod_1.z.unknown().nullable(),
120
+ uuid: zod_1.z.string().nullable(),
121
+ matterCode: zod_1.z.string().nullable(),
122
+ matterSta: zod_1.z.unknown().nullable(),
123
+ }).transform((v) => ({
124
+ ...transformDeviceBase(v),
125
+ }));
126
+ exports.DeviceModeSettingsSchema = DeviceBaseInputSchema.extend({
127
+ acitveTimerOff: zod_1.z.number(),
128
+ acitveTimerOn: zod_1.z.number(),
129
+ activeCycleOff: zod_1.z.number(),
130
+ activeCycleOn: zod_1.z.number(),
131
+ activeHh: zod_1.z.number(),
132
+ activeHt: zod_1.z.number(),
133
+ activeHtVpd: zod_1.z.number(),
134
+ activeHtVpdNums: zod_1.z.number(),
135
+ activeLh: zod_1.z.number(),
136
+ activeLt: zod_1.z.number(),
137
+ activeLtVpd: zod_1.z.number(),
138
+ activeLtVpdNums: zod_1.z.number(),
139
+ co2FanHighSwitch: zod_1.z.number(),
140
+ co2FanHighValue: zod_1.z.number(),
141
+ co2LowSwitch: zod_1.z.number(),
142
+ co2LowValue: zod_1.z.number(),
143
+ devHh: zod_1.z.number(),
144
+ devHt: zod_1.z.number(),
145
+ devHtf: zod_1.z.number(),
146
+ devLh: zod_1.z.number(),
147
+ devLt: zod_1.z.number(),
148
+ devLtf: zod_1.z.number(),
149
+ ecTdsLowSwitchEc: zod_1.z.number(),
150
+ ecTdsLowSwitchTds: zod_1.z.number(),
151
+ ecTdsLowValueEcUs: zod_1.z.number(),
152
+ ecTdsLowValueTdsPpm: zod_1.z.number(),
153
+ isOpenAutomation: zod_1.z.number(),
154
+ modeType: zod_1.z.number(),
155
+ moistureLowSwitch: zod_1.z.number(),
156
+ moistureLowValue: zod_1.z.number(),
157
+ onlyUpdateSpeed: zod_1.z.number(),
158
+ phHighSwitch: zod_1.z.number(),
159
+ phHighValue: zod_1.z.number(),
160
+ phLowSwitch: zod_1.z.number(),
161
+ phLowValue: zod_1.z.number(),
162
+ schedEndtTime: zod_1.z.number(),
163
+ schedStartTime: zod_1.z.number(),
164
+ surplus: zod_1.z.number().nullable(),
165
+ targetHumi: zod_1.z.number(),
166
+ targetHumiSwitch: zod_1.z.number(),
167
+ targetTSwitch: zod_1.z.number(),
168
+ targetTemp: zod_1.z.number(),
169
+ targetTempF: zod_1.z.number(),
170
+ targetVpd: zod_1.z.number(),
171
+ targetVpdSwitch: zod_1.z.number(),
172
+ waterLevelLowSwitch: zod_1.z.number(),
173
+ waterTempHighSwitch: zod_1.z.number(),
174
+ waterTempHighValue: zod_1.z.number(),
175
+ waterTempHighValueF: zod_1.z.number(),
176
+ waterTempLowSwitch: zod_1.z.number(),
177
+ waterTempLowValue: zod_1.z.number(),
178
+ waterTempLowValueF: zod_1.z.number(),
179
+ }).transform((v) => ({
180
+ ...transformDeviceBase(v),
181
+ }));
182
+ function encodeDeviceModeSettings(settings) {
183
+ return {
184
+ onSpead: settings.levelWhileOn,
185
+ };
186
+ }
@@ -1,16 +1,16 @@
1
1
  import { z } from 'zod';
2
- export declare const UserSchema: z.ZodObject<{
2
+ export declare const UserSchema: z.ZodPipe<z.ZodObject<{
3
3
  appId: z.ZodString;
4
4
  nickName: z.ZodString;
5
- appEmail: z.ZodString;
6
- }, "strip", z.ZodTypeAny, {
7
- appId: string;
8
- nickName: string;
9
- appEmail: string;
5
+ appEmail: z.ZodEmail;
6
+ }, z.core.$strip>, z.ZodTransform<{
7
+ id: string;
8
+ username: string;
9
+ email: string;
10
10
  }, {
11
11
  appId: string;
12
12
  nickName: string;
13
13
  appEmail: string;
14
- }>;
14
+ }>>;
15
15
  export type User = z.infer<typeof UserSchema>;
16
16
  //# sourceMappingURL=User.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/types/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU;;;;;;;;;;;;EAIrB,CAAC;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/types/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU;;;;;;;;;;;;GAUlB,CAAC;AAEN,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -2,8 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- exports.UserSchema = zod_1.z.object({
5
+ exports.UserSchema = zod_1.z
6
+ .object({
6
7
  appId: zod_1.z.string(),
7
8
  nickName: zod_1.z.string(),
8
- appEmail: zod_1.z.string().email(),
9
- });
9
+ appEmail: zod_1.z.email(),
10
+ })
11
+ .transform(({ appId, nickName, appEmail }) => ({
12
+ id: appId,
13
+ username: nickName,
14
+ email: appEmail,
15
+ }));
@@ -1,4 +1,7 @@
1
- export * from './Controller';
2
- export * from './Device';
3
- export * from './User';
1
+ export type { Controller, ControllerDeviceInfo, ControllerPort } from './Controller';
2
+ export { ControllerDeviceType, ControllerSchema } from './Controller';
3
+ export type { DeviceModeSettings, DeviceModeSettingsInput, DeviceSettings } from './Device';
4
+ export { DeviceMode, DeviceModeSettingsSchema, DeviceSettingsSchema, DeviceType, encodeDeviceModeSettings } from './Device';
5
+ export type { User } from './User';
6
+ export { UserSchema } from './User';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC5H,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Controller"), exports);
18
- __exportStar(require("./Device"), exports);
19
- __exportStar(require("./User"), exports);
3
+ exports.UserSchema = exports.encodeDeviceModeSettings = exports.DeviceType = exports.DeviceSettingsSchema = exports.DeviceModeSettingsSchema = exports.DeviceMode = exports.ControllerSchema = exports.ControllerDeviceType = void 0;
4
+ var Controller_1 = require("./Controller");
5
+ Object.defineProperty(exports, "ControllerDeviceType", { enumerable: true, get: function () { return Controller_1.ControllerDeviceType; } });
6
+ Object.defineProperty(exports, "ControllerSchema", { enumerable: true, get: function () { return Controller_1.ControllerSchema; } });
7
+ var Device_1 = require("./Device");
8
+ Object.defineProperty(exports, "DeviceMode", { enumerable: true, get: function () { return Device_1.DeviceMode; } });
9
+ Object.defineProperty(exports, "DeviceModeSettingsSchema", { enumerable: true, get: function () { return Device_1.DeviceModeSettingsSchema; } });
10
+ Object.defineProperty(exports, "DeviceSettingsSchema", { enumerable: true, get: function () { return Device_1.DeviceSettingsSchema; } });
11
+ Object.defineProperty(exports, "DeviceType", { enumerable: true, get: function () { return Device_1.DeviceType; } });
12
+ Object.defineProperty(exports, "encodeDeviceModeSettings", { enumerable: true, get: function () { return Device_1.encodeDeviceModeSettings; } });
13
+ var User_1 = require("./User");
14
+ Object.defineProperty(exports, "UserSchema", { enumerable: true, get: function () { return User_1.UserSchema; } });
package/package.json CHANGED
@@ -1,32 +1,37 @@
1
1
  {
2
2
  "name": "@jakobgoerke/ac-infinity-client",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "main": "./build/src",
5
5
  "types": "./build/src/index.d.ts",
6
6
  "repository": "git@github.com:jakobgoerke/ac-infinity-client.git",
7
7
  "author": "revdev <mail@revdev.me>",
8
8
  "license": "GPL-3.0-or-later",
9
- "dependencies": {
10
- "axios": "1.7.7",
11
- "rimraf": "6.0.1",
12
- "zod": "3.23.8"
13
- },
14
9
  "files": [
15
10
  "package.json",
16
11
  "build/src/**"
17
12
  ],
13
+ "dependencies": {
14
+ "axios": "1.13.5",
15
+ "zod": "4.3.6"
16
+ },
18
17
  "devDependencies": {
19
- "@jest/globals": "29.7.0",
20
- "@tsconfig/node22": "22.0.0",
21
- "@types/jest": "29.5.13",
22
- "jest": "29.7.0",
23
- "ts-jest": "29.2.5",
24
- "typescript": "5.6.2"
18
+ "@biomejs/biome": "2.4.4",
19
+ "@jest/globals": "30.2.0",
20
+ "@tsconfig/node24": "24.0.4",
21
+ "@types/jest": "30.0.0",
22
+ "@types/node": "25.3.0",
23
+ "jest": "30.2.0",
24
+ "rimraf": "6.1.3",
25
+ "ts-jest": "29.4.6",
26
+ "ts-node": "10.9.2",
27
+ "typescript": "5.9.3"
25
28
  },
26
29
  "scripts": {
27
30
  "build": "rimraf build && tsc -p .",
28
31
  "watch": "tsc -p . --watch",
29
32
  "test": "jest",
30
- "coverage": "jest --coverage"
31
- }
32
- }
33
+ "coverage": "jest --coverage",
34
+ "lint": "biome check"
35
+ },
36
+ "packageManager": "yarn@4.12.0"
37
+ }