@jakobgoerke/ac-infinity-client 0.1.0 → 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.
@@ -0,0 +1,40 @@
1
+ import type { Controller, DeviceModeSettings, DeviceSettings, User } from './types';
2
+ export declare enum Url {
3
+ AUTH = "/user/appUserLogin",
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"
8
+ }
9
+ export interface Response<T> {
10
+ code: number;
11
+ data: T;
12
+ }
13
+ export interface AuthParams {
14
+ email: string;
15
+ password: string;
16
+ }
17
+ interface GetDeviceParams {
18
+ controllerId: string;
19
+ port: number;
20
+ }
21
+ interface SetDeviceModeSettingsParams extends GetDeviceParams {
22
+ settings: Pick<Partial<DeviceModeSettings>, 'levelWhileOn'>;
23
+ }
24
+ declare class AcInfinityClient {
25
+ constructor(args: AuthParams);
26
+ private api;
27
+ private token;
28
+ private email;
29
+ private password;
30
+ authenticate(): Promise<User>;
31
+ private ensureSuccess;
32
+ getControllers(): Promise<Controller[]>;
33
+ getDeviceSettings({ controllerId, port }: GetDeviceParams): Promise<DeviceSettings>;
34
+ getDeviceModeSettings({ controllerId, port }: GetDeviceParams): Promise<DeviceModeSettings>;
35
+ setDeviceModeSettings({ controllerId, port, settings }: SetDeviceModeSettingsParams): Promise<void>;
36
+ static build(args: AuthParams): Promise<AcInfinityClient>;
37
+ }
38
+ export { AcInfinityClient };
39
+ export type { Controller, DeviceModeSettings, DeviceSettings, User };
40
+ //# sourceMappingURL=AcInfinityClient.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AcInfinityClient = exports.Url = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const errors_1 = require("./errors");
9
+ const types_1 = require("./types");
10
+ var Url;
11
+ (function (Url) {
12
+ Url["AUTH"] = "/user/appUserLogin";
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";
17
+ })(Url || (exports.Url = Url = {}));
18
+ class AcInfinityClient {
19
+ constructor(args) {
20
+ const { email, password } = args;
21
+ this.email = email;
22
+ this.password = password;
23
+ this.token = '';
24
+ this.api = axios_1.default.create({
25
+ timeout: 5000,
26
+ baseURL: 'http://www.acinfinityserver.com/api',
27
+ headers: {
28
+ 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
29
+ },
30
+ });
31
+ }
32
+ api;
33
+ token;
34
+ email;
35
+ password;
36
+ async authenticate() {
37
+ const response = await this.api.post(Url.AUTH, {
38
+ appEmail: this.email,
39
+ appPasswordl: this.password,
40
+ });
41
+ if (response.data.code !== 200) {
42
+ throw new errors_1.AuthenticationError();
43
+ }
44
+ const user = types_1.UserSchema.parse(response.data.data);
45
+ this.token = user.id;
46
+ this.api.defaults.headers.common.token = user.id;
47
+ return user;
48
+ }
49
+ ensureSuccess(response) {
50
+ if (response.code !== 200) {
51
+ throw new Error(`API request failed [code="${response.code}", msg="${response.msg}"]`);
52
+ }
53
+ }
54
+ async getControllers() {
55
+ const response = await this.api.post(Url.GET_CONTROLLERS, {
56
+ userId: this.token,
57
+ });
58
+ return response.data.data.map((device) => types_1.ControllerSchema.parse(device));
59
+ }
60
+ async getDeviceSettings({ controllerId, port }) {
61
+ const response = await this.api.post(Url.GET_DEVICE_SETTINGS, {
62
+ devId: controllerId,
63
+ port,
64
+ });
65
+ return types_1.DeviceSettingsSchema.parse(response.data.data);
66
+ }
67
+ async getDeviceModeSettings({ controllerId, port }) {
68
+ const response = await this.api.post(Url.GET_DEVICE_MODE_SETTINGS, {
69
+ devId: controllerId,
70
+ port,
71
+ });
72
+ return types_1.DeviceModeSettingsSchema.parse(response.data.data);
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
+ }
84
+ static async build(args) {
85
+ const instance = new AcInfinityClient(args);
86
+ await instance.authenticate();
87
+ return instance;
88
+ }
89
+ }
90
+ exports.AcInfinityClient = AcInfinityClient;
@@ -0,0 +1,5 @@
1
+ declare class AuthenticationError extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ export { AuthenticationError };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAM,mBAAoB,SAAQ,KAAK;gBACzB,OAAO,CAAC,EAAE,MAAM;CAQ7B;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthenticationError = void 0;
4
+ class AuthenticationError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = this.constructor.name;
8
+ Error.captureStackTrace(this, this.constructor);
9
+ Object.setPrototypeOf(this, AuthenticationError.prototype);
10
+ }
11
+ }
12
+ exports.AuthenticationError = AuthenticationError;
@@ -0,0 +1,2 @@
1
+ export * from './AcInfinityClient';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,17 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AcInfinityClient"), exports);
@@ -0,0 +1,176 @@
1
+ import { z } from 'zod';
2
+ import { DeviceMode, DeviceType } from './Device';
3
+ export declare enum ControllerDeviceType {
4
+ UIS_CONTROLLER_69_PRO = 11,
5
+ UIS_CONTROLLER_69_PRO_PLUS = 10
6
+ }
7
+ export declare const ControllerPortSchema: z.ZodPipe<z.ZodObject<{
8
+ speak: z.ZodNumber;
9
+ port: z.ZodNumber;
10
+ curMode: z.ZodEnum<typeof DeviceMode>;
11
+ loadType: z.ZodEnum<typeof DeviceType>;
12
+ portName: z.ZodString;
13
+ }, z.core.$strip>, z.ZodTransform<{
14
+ port: number;
15
+ currentLevel: number;
16
+ currentMode: DeviceMode;
17
+ deviceType: DeviceType;
18
+ deviceName: string;
19
+ }, {
20
+ speak: number;
21
+ port: number;
22
+ curMode: DeviceMode;
23
+ loadType: DeviceType;
24
+ portName: string;
25
+ }>>;
26
+ export declare const ControllerDeviceInfoSchema: z.ZodPipe<z.ZodObject<{
27
+ temperature: z.ZodNumber;
28
+ humidity: z.ZodNumber;
29
+ vpdnums: z.ZodNumber;
30
+ ports: z.ZodArray<z.ZodPipe<z.ZodObject<{
31
+ speak: z.ZodNumber;
32
+ port: z.ZodNumber;
33
+ curMode: z.ZodEnum<typeof DeviceMode>;
34
+ loadType: z.ZodEnum<typeof DeviceType>;
35
+ portName: z.ZodString;
36
+ }, z.core.$strip>, z.ZodTransform<{
37
+ port: number;
38
+ currentLevel: number;
39
+ currentMode: DeviceMode;
40
+ deviceType: DeviceType;
41
+ deviceName: string;
42
+ }, {
43
+ speak: number;
44
+ port: number;
45
+ curMode: DeviceMode;
46
+ loadType: DeviceType;
47
+ portName: string;
48
+ }>>>;
49
+ }, z.core.$strip>, z.ZodTransform<{
50
+ temperature: number;
51
+ humidity: number;
52
+ vpd: number;
53
+ ports: {
54
+ port: number;
55
+ currentLevel: number;
56
+ currentMode: DeviceMode;
57
+ deviceType: DeviceType;
58
+ deviceName: string;
59
+ }[];
60
+ }, {
61
+ temperature: number;
62
+ humidity: number;
63
+ vpdnums: number;
64
+ ports: {
65
+ port: number;
66
+ currentLevel: number;
67
+ currentMode: DeviceMode;
68
+ deviceType: DeviceType;
69
+ deviceName: string;
70
+ }[];
71
+ }>>;
72
+ export declare const ControllerSchema: z.ZodPipe<z.ZodObject<{
73
+ devId: z.ZodString;
74
+ devCode: z.ZodString;
75
+ devName: z.ZodString;
76
+ devType: z.ZodEnum<typeof ControllerDeviceType>;
77
+ devPortCount: z.ZodNumber;
78
+ devVersion: z.ZodNumber;
79
+ online: z.ZodCoercedBoolean<unknown>;
80
+ firmwareVersion: z.ZodString;
81
+ hardwareVersion: z.ZodString;
82
+ deviceInfo: z.ZodPipe<z.ZodObject<{
83
+ temperature: z.ZodNumber;
84
+ humidity: z.ZodNumber;
85
+ vpdnums: z.ZodNumber;
86
+ ports: z.ZodArray<z.ZodPipe<z.ZodObject<{
87
+ speak: z.ZodNumber;
88
+ port: z.ZodNumber;
89
+ curMode: z.ZodEnum<typeof DeviceMode>;
90
+ loadType: z.ZodEnum<typeof DeviceType>;
91
+ portName: z.ZodString;
92
+ }, z.core.$strip>, z.ZodTransform<{
93
+ port: number;
94
+ currentLevel: number;
95
+ currentMode: DeviceMode;
96
+ deviceType: DeviceType;
97
+ deviceName: string;
98
+ }, {
99
+ speak: number;
100
+ port: number;
101
+ curMode: DeviceMode;
102
+ loadType: DeviceType;
103
+ portName: string;
104
+ }>>>;
105
+ }, z.core.$strip>, z.ZodTransform<{
106
+ temperature: number;
107
+ humidity: number;
108
+ vpd: number;
109
+ ports: {
110
+ port: number;
111
+ currentLevel: number;
112
+ currentMode: DeviceMode;
113
+ deviceType: DeviceType;
114
+ deviceName: string;
115
+ }[];
116
+ }, {
117
+ temperature: number;
118
+ humidity: number;
119
+ vpdnums: number;
120
+ ports: {
121
+ port: number;
122
+ currentLevel: number;
123
+ currentMode: DeviceMode;
124
+ deviceType: DeviceType;
125
+ deviceName: string;
126
+ }[];
127
+ }>>;
128
+ }, z.core.$strip>, z.ZodTransform<{
129
+ online: boolean;
130
+ firmwareVersion: string;
131
+ hardwareVersion: string;
132
+ deviceInfo: {
133
+ temperature: number;
134
+ humidity: number;
135
+ vpd: number;
136
+ ports: {
137
+ port: number;
138
+ currentLevel: number;
139
+ currentMode: DeviceMode;
140
+ deviceType: DeviceType;
141
+ deviceName: string;
142
+ }[];
143
+ };
144
+ id: string;
145
+ code: string;
146
+ name: string;
147
+ type: ControllerDeviceType;
148
+ totalPorts: number;
149
+ version: number;
150
+ }, {
151
+ devId: string;
152
+ devCode: string;
153
+ devName: string;
154
+ devType: ControllerDeviceType;
155
+ devPortCount: number;
156
+ devVersion: number;
157
+ online: boolean;
158
+ firmwareVersion: string;
159
+ hardwareVersion: string;
160
+ deviceInfo: {
161
+ temperature: number;
162
+ humidity: number;
163
+ vpd: number;
164
+ ports: {
165
+ port: number;
166
+ currentLevel: number;
167
+ currentMode: DeviceMode;
168
+ deviceType: DeviceType;
169
+ deviceName: string;
170
+ }[];
171
+ };
172
+ }>>;
173
+ export type ControllerPort = z.infer<typeof ControllerPortSchema>;
174
+ export type ControllerDeviceInfo = z.infer<typeof ControllerDeviceInfoSchema>;
175
+ export type Controller = z.infer<typeof ControllerSchema>;
176
+ //# sourceMappingURL=Controller.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControllerSchema = exports.ControllerDeviceInfoSchema = exports.ControllerPortSchema = exports.ControllerDeviceType = void 0;
4
+ const zod_1 = require("zod");
5
+ const Device_1 = require("./Device");
6
+ var ControllerDeviceType;
7
+ (function (ControllerDeviceType) {
8
+ ControllerDeviceType[ControllerDeviceType["UIS_CONTROLLER_69_PRO"] = 11] = "UIS_CONTROLLER_69_PRO";
9
+ ControllerDeviceType[ControllerDeviceType["UIS_CONTROLLER_69_PRO_PLUS"] = 10] = "UIS_CONTROLLER_69_PRO_PLUS";
10
+ })(ControllerDeviceType || (exports.ControllerDeviceType = ControllerDeviceType = {}));
11
+ exports.ControllerPortSchema = zod_1.z
12
+ .object({
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),
17
+ portName: zod_1.z.string(),
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({
28
+ temperature: zod_1.z.number(),
29
+ humidity: zod_1.z.number(),
30
+ vpdnums: zod_1.z.number(),
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({
41
+ devId: zod_1.z.string(),
42
+ devCode: zod_1.z.string(),
43
+ devName: zod_1.z.string(),
44
+ devType: zod_1.z.enum(ControllerDeviceType),
45
+ devPortCount: zod_1.z.number().positive(),
46
+ devVersion: zod_1.z.number(),
47
+ online: zod_1.z.coerce.boolean(),
48
+ firmwareVersion: zod_1.z.string(),
49
+ hardwareVersion: zod_1.z.string(),
50
+ deviceInfo: exports.ControllerDeviceInfoSchema,
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
+ }));
@@ -0,0 +1,342 @@
1
+ import { z } from 'zod';
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
9
+ }
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
19
+ }
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
+ }>>;
338
+ export type DeviceSettings = z.infer<typeof DeviceSettingsSchema>;
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>;
342
+ //# sourceMappingURL=Device.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceModeSettingsSchema = exports.DeviceSettingsSchema = exports.DeviceMode = exports.DeviceType = void 0;
4
+ exports.encodeDeviceModeSettings = encodeDeviceModeSettings;
5
+ const zod_1 = require("zod");
6
+ var DeviceType;
7
+ (function (DeviceType) {
8
+ DeviceType[DeviceType["GROW_LIGHT"] = 1] = "GROW_LIGHT";
9
+ DeviceType[DeviceType["HUMIDIFIER"] = 2] = "HUMIDIFIER";
10
+ DeviceType[DeviceType["DEHUMIDIFIER"] = 3] = "DEHUMIDIFIER";
11
+ DeviceType[DeviceType["HEATER"] = 4] = "HEATER";
12
+ DeviceType[DeviceType["AIR_CONDITION"] = 5] = "AIR_CONDITION";
13
+ DeviceType[DeviceType["FAN"] = 6] = "FAN";
14
+ })(DeviceType || (exports.DeviceType = DeviceType = {}));
15
+ var DeviceMode;
16
+ (function (DeviceMode) {
17
+ DeviceMode[DeviceMode["OFF"] = 1] = "OFF";
18
+ DeviceMode[DeviceMode["ON"] = 2] = "ON";
19
+ DeviceMode[DeviceMode["AUTO"] = 3] = "AUTO";
20
+ DeviceMode[DeviceMode["TIMER_TO_ON"] = 4] = "TIMER_TO_ON";
21
+ DeviceMode[DeviceMode["TIMER_TO_OFF"] = 5] = "TIMER_TO_OFF";
22
+ DeviceMode[DeviceMode["CYCLE"] = 6] = "CYCLE";
23
+ DeviceMode[DeviceMode["SCHEDULE"] = 7] = "SCHEDULE";
24
+ DeviceMode[DeviceMode["VPD"] = 8] = "VPD";
25
+ })(DeviceMode || (exports.DeviceMode = DeviceMode = {}));
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
+ }
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const UserSchema: z.ZodPipe<z.ZodObject<{
3
+ appId: z.ZodString;
4
+ nickName: z.ZodString;
5
+ appEmail: z.ZodEmail;
6
+ }, z.core.$strip>, z.ZodTransform<{
7
+ id: string;
8
+ username: string;
9
+ email: string;
10
+ }, {
11
+ appId: string;
12
+ nickName: string;
13
+ appEmail: string;
14
+ }>>;
15
+ export type User = z.infer<typeof UserSchema>;
16
+ //# sourceMappingURL=User.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;GAUlB,CAAC;AAEN,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.UserSchema = zod_1.z
6
+ .object({
7
+ appId: zod_1.z.string(),
8
+ nickName: zod_1.z.string(),
9
+ appEmail: zod_1.z.email(),
10
+ })
11
+ .transform(({ appId, nickName, appEmail }) => ({
12
+ id: appId,
13
+ username: nickName,
14
+ email: appEmail,
15
+ }));
@@ -0,0 +1,7 @@
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';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
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.0",
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
+ }