@ray-js/lamp-schedule-core 1.0.0-beta-2 → 1.0.0-beta-4
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.
package/lib/dpParser/rtcTimer.js
CHANGED
|
@@ -225,9 +225,10 @@ export class RtcTimerFormatter {
|
|
|
225
225
|
*/
|
|
226
226
|
if (_dps[EDpCodes.switch_led] === false) {
|
|
227
227
|
dpDataStr = '00';
|
|
228
|
-
} else if (Object.keys(_dps).includes(EDpCodes.colour_data) && Object.keys(_dps).includes(EDpCodes.
|
|
228
|
+
} else if (Object.keys(_dps).includes(EDpCodes.colour_data) && Object.keys(_dps).includes(EDpCodes.bright_value)) {
|
|
229
|
+
var _dps$EDpCodes$temp_va;
|
|
229
230
|
const bright_value = _dps[EDpCodes.bright_value];
|
|
230
|
-
const temp_value = _dps[EDpCodes.temp_value];
|
|
231
|
+
const temp_value = (_dps$EDpCodes$temp_va = _dps[EDpCodes.temp_value]) !== null && _dps$EDpCodes$temp_va !== void 0 ? _dps$EDpCodes$temp_va : 1000;
|
|
231
232
|
const {
|
|
232
233
|
hue,
|
|
233
234
|
saturation,
|
|
@@ -250,9 +251,9 @@ export class RtcTimerFormatter {
|
|
|
250
251
|
const valueStr = this.to16(value, 2);
|
|
251
252
|
dpDataStr = `03${hueStr}${saturationStr}${valueStr}`;
|
|
252
253
|
} else if (Object.keys(_dps).includes(EDpCodes.bright_value)) {
|
|
253
|
-
var _dps$EDpCodes$bright_, _dps$EDpCodes$
|
|
254
|
+
var _dps$EDpCodes$bright_, _dps$EDpCodes$temp_va2;
|
|
254
255
|
const bright_value = (_dps$EDpCodes$bright_ = _dps[EDpCodes.bright_value]) !== null && _dps$EDpCodes$bright_ !== void 0 ? _dps$EDpCodes$bright_ : 100;
|
|
255
|
-
const temp_value = (_dps$EDpCodes$
|
|
256
|
+
const temp_value = (_dps$EDpCodes$temp_va2 = _dps[EDpCodes.temp_value]) !== null && _dps$EDpCodes$temp_va2 !== void 0 ? _dps$EDpCodes$temp_va2 : 0;
|
|
256
257
|
const brightStr = this.to16(bright_value, 2);
|
|
257
258
|
const temperatureStr = this.to16(temp_value, 2);
|
|
258
259
|
dpDataStr = `02${brightStr}${temperatureStr}`;
|
|
@@ -10,12 +10,21 @@ type TDpRes<T> = {
|
|
|
10
10
|
};
|
|
11
11
|
export declare function useBaseLightDp<T>(dpCode: string, defaultDpValue?: T): TDpRes<T>;
|
|
12
12
|
export declare const getDpDataByMesh: (dpCodes?: string[]) => void;
|
|
13
|
+
export declare const fetchDpData: (dpCodes?: string[]) => void;
|
|
13
14
|
/**
|
|
14
|
-
* 主动拉取 dp
|
|
15
|
+
* 主动拉取 dp 数据, 仅支持 sigmesh 设备
|
|
15
16
|
* @param dpCodes dpCode 数组
|
|
16
17
|
* @returns refresh 刷新 dp 数据
|
|
17
18
|
*/
|
|
18
19
|
export declare const useFetchDpDataByMesh: (dpCodes: string[]) => {
|
|
19
20
|
refresh: () => void;
|
|
20
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* 主动拉取 dp 数据, 不限制协议
|
|
24
|
+
* @param dpCodes dpCode 数组
|
|
25
|
+
* @returns refresh 刷新 dp 数据
|
|
26
|
+
*/
|
|
27
|
+
export declare const useFetchDpData: (dpCodes: string[]) => {
|
|
28
|
+
refresh: () => void;
|
|
29
|
+
};
|
|
21
30
|
export {};
|
|
@@ -134,8 +134,48 @@ export const getDpDataByMesh = function () {
|
|
|
134
134
|
scheduleLogger.error('getDpDataByMesh 调用失败:', error);
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
|
+
|
|
138
|
+
// 查询设备的 DP
|
|
139
|
+
export const fetchDpData = function () {
|
|
140
|
+
let dpCodes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
141
|
+
if (!Array.isArray(dpCodes)) {
|
|
142
|
+
scheduleLogger.error('fetchDpData: 参数dpCodes必须是数组');
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
if (dpCodes.length >= 5) {
|
|
146
|
+
scheduleLogger.warn('fetchDpData: 单次查询 dp 数过多,dp 可能响应不及时,请分次查询');
|
|
147
|
+
}
|
|
148
|
+
scheduleLogger.debug('fetchDpData 开始查询DP参数 dpCodes:', dpCodes);
|
|
149
|
+
const deviceData = devIdOrGroupIdCache.get();
|
|
150
|
+
const deviceId = deviceData === null || deviceData === void 0 ? void 0 : deviceData.devId;
|
|
151
|
+
if (!deviceId) {
|
|
152
|
+
scheduleLogger.error('fetchDpData: 未能获取到deviceId');
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const dpIds = dpCodes.map(item => getDpIdByDpCode(item)).filter(i => !!i).map(String); // 简化字符串转换
|
|
156
|
+
|
|
157
|
+
if (dpIds.length === 0) {
|
|
158
|
+
scheduleLogger.warn('fetchDpData', dpCodes, '未匹配到 dp');
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
scheduleLogger.debug('fetchDpData 查询DP转换后参数 dpIds:', dpIds);
|
|
162
|
+
try {
|
|
163
|
+
queryDps({
|
|
164
|
+
deviceId,
|
|
165
|
+
dpIds,
|
|
166
|
+
success: e => {
|
|
167
|
+
scheduleLogger.debug('fetchDpData 查询DP参数 success:', e);
|
|
168
|
+
},
|
|
169
|
+
fail: err => {
|
|
170
|
+
scheduleLogger.warn('fetchDpData 查询DP参数 fail:', err);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
} catch (error) {
|
|
174
|
+
scheduleLogger.error('fetchDpData 调用失败:', error);
|
|
175
|
+
}
|
|
176
|
+
};
|
|
137
177
|
/**
|
|
138
|
-
* 主动拉取 dp
|
|
178
|
+
* 主动拉取 dp 数据, 仅支持 sigmesh 设备
|
|
139
179
|
* @param dpCodes dpCode 数组
|
|
140
180
|
* @returns refresh 刷新 dp 数据
|
|
141
181
|
*/
|
|
@@ -148,7 +188,7 @@ export const useFetchDpDataByMesh = dpCodes => {
|
|
|
148
188
|
return;
|
|
149
189
|
}
|
|
150
190
|
scheduleLogger.debug('getDpDataByMeshFn get:', dpCodes);
|
|
151
|
-
|
|
191
|
+
fetchDpData(dpCodes);
|
|
152
192
|
};
|
|
153
193
|
useEffect(() => {
|
|
154
194
|
const isSigMeshDevice = support === null || support === void 0 ? void 0 : support.isSigMeshDevice();
|
|
@@ -162,4 +202,23 @@ export const useFetchDpDataByMesh = dpCodes => {
|
|
|
162
202
|
return {
|
|
163
203
|
refresh: getDpDataByMeshFn
|
|
164
204
|
};
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* 主动拉取 dp 数据, 不限制协议
|
|
209
|
+
* @param dpCodes dpCode 数组
|
|
210
|
+
* @returns refresh 刷新 dp 数据
|
|
211
|
+
*/
|
|
212
|
+
export const useFetchDpData = dpCodes => {
|
|
213
|
+
const getDpDataFn = () => {
|
|
214
|
+
scheduleLogger.debug('getDpDataFn get:', dpCodes);
|
|
215
|
+
fetchDpData(dpCodes);
|
|
216
|
+
};
|
|
217
|
+
useEffect(() => {
|
|
218
|
+
scheduleLogger.debug('useFetchDpData get:', dpCodes);
|
|
219
|
+
getDpDataFn();
|
|
220
|
+
}, [dpCodes.join(',')]);
|
|
221
|
+
return {
|
|
222
|
+
refresh: getDpDataFn
|
|
223
|
+
};
|
|
165
224
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useBaseLightDp,
|
|
1
|
+
import { useBaseLightDp, useFetchDpData } from './useBaseLightDp';
|
|
2
2
|
import { scheduleDpCodes } from '../config/dpCodes';
|
|
3
3
|
export function useCountdownDp() {
|
|
4
4
|
let dpCode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : scheduleDpCodes.COUNTDOWN;
|
|
@@ -21,7 +21,7 @@ export const useCountdownDpPull = function () {
|
|
|
21
21
|
let countdownCode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : scheduleDpCodes.COUNTDOWN;
|
|
22
22
|
const {
|
|
23
23
|
refresh
|
|
24
|
-
} =
|
|
24
|
+
} = useFetchDpData([countdownCode]);
|
|
25
25
|
return {
|
|
26
26
|
refresh
|
|
27
27
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
|
-
import { useBaseLightDp,
|
|
3
|
+
import { useBaseLightDp, useFetchDpData } from './useBaseLightDp';
|
|
4
4
|
import { scheduleDpCodes } from '../config/dpCodes';
|
|
5
5
|
import { scheduleLogger as ScheduleLogger } from '../utils/ScheduleLogger';
|
|
6
6
|
import { timerReportParser } from '../dpParser';
|
|
@@ -41,7 +41,7 @@ export const useTimerReportDpPull = function () {
|
|
|
41
41
|
ScheduleLogger.debug('useTimerReportDpPull 执行');
|
|
42
42
|
const {
|
|
43
43
|
refresh
|
|
44
|
-
} =
|
|
44
|
+
} = useFetchDpData([timerReport]);
|
|
45
45
|
return {
|
|
46
46
|
refresh
|
|
47
47
|
};
|
package/lib/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { useWakeUpDp } from './hooks/useWakeUpDp';
|
|
|
19
19
|
export { useRandomDp } from './hooks/useRandomDp';
|
|
20
20
|
export { useCycleDp } from './hooks/useCycleDp';
|
|
21
21
|
export { useWakeUpSupport } from './hooks/useWakeUpSupport';
|
|
22
|
-
export { useBaseLightDp, useFetchDpDataByMesh, getDpDataByMesh } from './hooks/useBaseLightDp';
|
|
22
|
+
export { useBaseLightDp, useFetchDpDataByMesh, getDpDataByMesh, useFetchDpData } from './hooks/useBaseLightDp';
|
|
23
23
|
export { useTimerReportDp, useTimerReportDpPull } from './hooks/useTimerReportDp';
|
|
24
24
|
/** Conflict 冲突判断 */
|
|
25
25
|
export { transScheduleListToConflictList } from './conflict/transform';
|
package/lib/index.js
CHANGED
|
@@ -24,7 +24,7 @@ export { useWakeUpDp } from './hooks/useWakeUpDp';
|
|
|
24
24
|
export { useRandomDp } from './hooks/useRandomDp';
|
|
25
25
|
export { useCycleDp } from './hooks/useCycleDp';
|
|
26
26
|
export { useWakeUpSupport } from './hooks/useWakeUpSupport';
|
|
27
|
-
export { useBaseLightDp, useFetchDpDataByMesh, getDpDataByMesh } from './hooks/useBaseLightDp';
|
|
27
|
+
export { useBaseLightDp, useFetchDpDataByMesh, getDpDataByMesh, useFetchDpData } from './hooks/useBaseLightDp';
|
|
28
28
|
export { useTimerReportDp, useTimerReportDpPull } from './hooks/useTimerReportDp';
|
|
29
29
|
|
|
30
30
|
/** Conflict 冲突判断 */
|