zigbee-herdsman-converters 25.3.0 → 25.4.0
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/CHANGELOG.md +23 -0
- package/dist/converters/fromZigbee.d.ts.map +1 -1
- package/dist/converters/fromZigbee.js +5 -3
- package/dist/converters/fromZigbee.js.map +1 -1
- package/dist/converters/toZigbee.d.ts.map +1 -1
- package/dist/converters/toZigbee.js +8 -7
- package/dist/converters/toZigbee.js.map +1 -1
- package/dist/devices/bitron.js +1 -1
- package/dist/devices/bitron.js.map +1 -1
- package/dist/devices/hive.d.ts.map +1 -1
- package/dist/devices/hive.js +48 -0
- package/dist/devices/hive.js.map +1 -1
- package/dist/devices/ikea.js +1 -1
- package/dist/devices/ikea.js.map +1 -1
- package/dist/devices/index.d.ts.map +1 -1
- package/dist/devices/index.js +2 -0
- package/dist/devices/index.js.map +1 -1
- package/dist/devices/inovelli.js +1 -1
- package/dist/devices/inovelli.js.map +1 -1
- package/dist/devices/onokom.d.ts +3 -0
- package/dist/devices/onokom.d.ts.map +1 -0
- package/dist/devices/onokom.js +2127 -0
- package/dist/devices/onokom.js.map +1 -0
- package/dist/devices/schneider_electric.d.ts.map +1 -1
- package/dist/devices/schneider_electric.js +7 -0
- package/dist/devices/schneider_electric.js.map +1 -1
- package/dist/devices/simpla_home.d.ts +1 -5
- package/dist/devices/simpla_home.d.ts.map +1 -1
- package/dist/devices/simpla_home.js +24 -41
- package/dist/devices/simpla_home.js.map +1 -1
- package/dist/devices/slacky_diy.js +18 -18
- package/dist/devices/slacky_diy.js.map +1 -1
- package/dist/devices/sonoff.js +2 -2
- package/dist/devices/sonoff.js.map +1 -1
- package/dist/devices/tuya.d.ts.map +1 -1
- package/dist/devices/tuya.js +73 -6
- package/dist/devices/tuya.js.map +1 -1
- package/dist/devices/woox.js +1 -1
- package/dist/devices/woox.js.map +1 -1
- package/dist/devices/xyzroe.js +1 -1
- package/dist/devices/xyzroe.js.map +1 -1
- package/dist/devices/zemismart.d.ts.map +1 -1
- package/dist/devices/zemismart.js +2 -1
- package/dist/devices/zemismart.js.map +1 -1
- package/dist/lib/color.js +7 -7
- package/dist/lib/color.js.map +1 -1
- package/dist/lib/develco.js +1 -1
- package/dist/lib/develco.js.map +1 -1
- package/dist/lib/exposes.d.ts.map +1 -1
- package/dist/lib/exposes.js +27 -9
- package/dist/lib/exposes.js.map +1 -1
- package/dist/lib/ikea.js +3 -3
- package/dist/lib/ikea.js.map +1 -1
- package/dist/lib/kelvinToXy.js +1 -1
- package/dist/lib/kelvinToXy.js.map +1 -1
- package/dist/lib/legacy.d.ts.map +1 -1
- package/dist/lib/legacy.js +57 -65
- package/dist/lib/legacy.js.map +1 -1
- package/dist/lib/legrand.js +2 -2
- package/dist/lib/legrand.js.map +1 -1
- package/dist/lib/lumi.js +9 -9
- package/dist/lib/lumi.js.map +1 -1
- package/dist/lib/modernExtend.d.ts +1 -0
- package/dist/lib/modernExtend.d.ts.map +1 -1
- package/dist/lib/modernExtend.js +20 -8
- package/dist/lib/modernExtend.js.map +1 -1
- package/dist/lib/namron.js +2 -2
- package/dist/lib/namron.js.map +1 -1
- package/dist/lib/sunricher.js +2 -2
- package/dist/lib/sunricher.js.map +1 -1
- package/dist/lib/tuya.js +18 -18
- package/dist/lib/tuya.js.map +1 -1
- package/dist/lib/types.d.ts +1 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +6 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/models-index.json +1 -1
- package/package.json +3 -3
package/dist/lib/legacy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/lib/legacy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAC,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/lib/legacy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAC,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAQ,EAAE,EAAK,MAAM,SAAS,CAAC;AAGzF,UAAU,WAAW;IAEjB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AA0PD,QAAA,MAAM,sBAAsB,EAAE,WAM7B,CAAC;AAEF,QAAA,MAAM,sBAAsB,EAAE,WAI7B,CAAC;AAEF,QAAA,MAAM,sBAAsB,EAAE,oBAI7B,CAAC;AAcF,QAAA,MAAM,iBAAiB,EAAE,oBAQxB,CAAC;AA0CF,QAAA,MAAM,SAAS,EAAE,WAiBhB,CAAC;AAeF,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCd,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,WAYjB,CAAC;AACF,QAAA,MAAM,qBAAqB,EAAE,WAO5B,CAAC;AAoJF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAigBf,CAAC;AA0EF,QAAA,MAAM,cAAc;;;;;;;;;;;;CAYnB,CAAC;AAEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqnBgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+HA+DiB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAk2CzE,UAAU,OAAO,WAAW,WAAW,OAAO,WAAW,WAAW,QAAQ,EAAE,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAizB7G,CAAC;AAm7FF,QAAA,MAAM,qBAAqB,EAAE;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAUhD,CAAC;AAEF,QAAA,MAAM,QAAQ;;;mKA10FiC,GAAG;;;;mKAyFH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA4MH,GAAG;;;;;;;;;;;;mKA0CH,WAAW;;;;mKAgEX,GAAG;;;;;;gBA0Ed,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAgB;;;;;;mKAgBtC,GAAG;;;;;;;;;;;;;;;;;;;;mKA0GH,GAAG;;;;mKAWH,GAAG;;;;mKAWH,GAAG;;;;mKASH,GAAG;;;;mKAWH,GAAG;;;;;;;;;;;;;;;;mKAqDH,GAAG;;;;;;;;;;;;mKAiEH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAiEH,GAAG;;;;mKASH,GAAG;;;;mKASH,GAAG;;;;;;;;;;;;;;;;mKA+DH,GAAG;;;;;;;;mKA0BH,GAAG;;;;mKAwDH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA4eH,WAAW;;;;mKASX,GAAG;;;;mKAwBH,GAAG;;;;mKA0BH,GAAG;;;;;;;;mKAUH,GAAG;;;;;;;;mKAiEH,GAAG;;;;mKA6CH,GAAG;;;;mKAqCH,GAAG;;;;mKAqCH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAuDH,GAAG;;;;mKASH,GAAG;;;;;;;;;;;;mKA8BH,GAAG;;;;;;;;mKAkNH,GAAG;;;;mKAiGH,GAAG;;;;mKAgDH,GAAG;;;;mKAgCH,GAAG;;;;;;;;mKA+EH,GAAG;;;;mKAiFH,GAAG;;;;;;;mKAmJH,GAAG;;;;mKAsDH,GAAG;;;;;;;;;;mKAwDH,GAAG;;;;;;;;;;;;;;;;;;;;;;mKAiDH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAsDH,GAAG;;;;;;;;;;;;;;;;;;;;mKAyCH,GAAG;;;;mKASH,GAAG;;;;mKASH,GAAG;;;;mKAaH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA/1FH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;;;;;;;;;;;;;mKAyBH,GAAG;;;;;mKAQH,GAAG;;CAu3FL,CAAC;AAE9C,OAAO,EACH,UAAU,IAAI,EAAE,EAChB,UAAU,EACV,QAAQ,IAAI,EAAE,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,GACb,CAAC"}
|
package/dist/lib/legacy.js
CHANGED
|
@@ -134,10 +134,9 @@ function convertDecimalValueTo4ByteHexArray(value) {
|
|
|
134
134
|
const chunk2 = hexValue.substring(2, 4);
|
|
135
135
|
const chunk3 = hexValue.substring(4, 6);
|
|
136
136
|
const chunk4 = hexValue.substring(6);
|
|
137
|
-
return [chunk1, chunk2, chunk3, chunk4].map((hexVal) => Number.parseInt(hexVal, 16));
|
|
137
|
+
return Buffer.from([chunk1, chunk2, chunk3, chunk4].map((hexVal) => Number.parseInt(hexVal, 16)));
|
|
138
138
|
}
|
|
139
139
|
let gSec;
|
|
140
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
141
140
|
async function sendDataPoints(entity, dpValues, cmd = "dataRequest", seq = undefined) {
|
|
142
141
|
if (seq === undefined) {
|
|
143
142
|
if (gSec === undefined) {
|
|
@@ -167,28 +166,24 @@ function dpValueFromIntValue(dp, value) {
|
|
|
167
166
|
return { dp, datatype: dataTypes.value, data: convertDecimalValueTo4ByteHexArray(value) };
|
|
168
167
|
}
|
|
169
168
|
function dpValueFromBool(dp, value) {
|
|
170
|
-
return { dp, datatype: dataTypes.bool, data: [value ? 1 : 0] };
|
|
169
|
+
return { dp, datatype: dataTypes.bool, data: Buffer.from([value ? 1 : 0]) };
|
|
171
170
|
}
|
|
172
171
|
function dpValueFromEnum(dp, value) {
|
|
173
|
-
return { dp, datatype: dataTypes.enum, data: [value] };
|
|
172
|
+
return { dp, datatype: dataTypes.enum, data: Buffer.from([value]) };
|
|
174
173
|
}
|
|
175
174
|
function dpValueFromStringBuffer(dp, stringBuffer) {
|
|
176
175
|
return { dp, datatype: dataTypes.string, data: stringBuffer };
|
|
177
176
|
}
|
|
178
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
179
177
|
function dpValueFromRaw(dp, rawBuffer) {
|
|
180
178
|
return { dp, datatype: dataTypes.raw, data: rawBuffer };
|
|
181
179
|
}
|
|
182
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
183
180
|
function dpValueFromBitmap(dp, bitmapBuffer) {
|
|
184
181
|
return { dp, datatype: dataTypes.bitmap, data: bitmapBuffer };
|
|
185
182
|
}
|
|
186
183
|
// Return `seq` - transaction ID for handling concrete response
|
|
187
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
188
184
|
async function sendDataPoint(entity, dpValue, cmd, seq = undefined) {
|
|
189
185
|
return await sendDataPoints(entity, [dpValue], cmd, seq);
|
|
190
186
|
}
|
|
191
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
192
187
|
async function sendDataPointValue(entity, dp, value, cmd, seq = undefined) {
|
|
193
188
|
return await sendDataPoints(entity, [dpValueFromIntValue(dp, value)], cmd, seq);
|
|
194
189
|
}
|
|
@@ -198,15 +193,12 @@ async function sendDataPointBool(entity, dp, value, cmd, seq = undefined) {
|
|
|
198
193
|
async function sendDataPointEnum(entity, dp, value, cmd, seq = undefined) {
|
|
199
194
|
return await sendDataPoints(entity, [dpValueFromEnum(dp, value)], cmd, seq);
|
|
200
195
|
}
|
|
201
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
202
196
|
async function sendDataPointRaw(entity, dp, value, cmd, seq = undefined) {
|
|
203
197
|
return await sendDataPoints(entity, [dpValueFromRaw(dp, value)], cmd, seq);
|
|
204
198
|
}
|
|
205
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
206
199
|
async function sendDataPointBitmap(entity, dp, value, cmd, seq = undefined) {
|
|
207
200
|
return await sendDataPoints(entity, [dpValueFromBitmap(dp, value)], cmd, seq);
|
|
208
201
|
}
|
|
209
|
-
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
210
202
|
async function sendDataPointStringBuffer(entity, dp, value, cmd, seq = undefined) {
|
|
211
203
|
return await sendDataPoints(entity, [dpValueFromStringBuffer(dp, value)], cmd, seq);
|
|
212
204
|
}
|
|
@@ -238,10 +230,10 @@ function convertRawToCycleTimer(value) {
|
|
|
238
230
|
// biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
|
|
239
231
|
let minsincemidnight = value[4] * 256 + value[5];
|
|
240
232
|
// @ts-expect-error ignore
|
|
241
|
-
starttime = `${String(Number.parseInt(minsincemidnight / 60)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
|
|
233
|
+
starttime = `${String(Number.parseInt(minsincemidnight / 60, 10)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
|
|
242
234
|
minsincemidnight = value[6] * 256 + value[7];
|
|
243
235
|
// @ts-expect-error ignore
|
|
244
|
-
endtime = `${String(Number.parseInt(minsincemidnight / 60)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
|
|
236
|
+
endtime = `${String(Number.parseInt(minsincemidnight / 60, 10)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
|
|
245
237
|
irrigationDuration = value[8] * 256 + value[9];
|
|
246
238
|
pauseDuration = value[10] * 256 + value[11];
|
|
247
239
|
}
|
|
@@ -464,7 +456,7 @@ function convertRawToTimer(value) {
|
|
|
464
456
|
timernr = value[1];
|
|
465
457
|
const minsincemidnight = value[2] * 256 + value[3];
|
|
466
458
|
// @ts-expect-error ignore
|
|
467
|
-
starttime = `${String(Number.parseInt(minsincemidnight / 60)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
|
|
459
|
+
starttime = `${String(Number.parseInt(minsincemidnight / 60, 10)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
|
|
468
460
|
duration = value[4] * 256 + value[5];
|
|
469
461
|
if (value[6] > 0) {
|
|
470
462
|
weekdays =
|
|
@@ -544,8 +536,8 @@ function convertTimeTo2ByteHexArray(time) {
|
|
|
544
536
|
if (timeArray.length !== 2) {
|
|
545
537
|
throw new Error("Time format incorrect");
|
|
546
538
|
}
|
|
547
|
-
const timeHour = Number.parseInt(timeArray[0]);
|
|
548
|
-
const timeMinute = Number.parseInt(timeArray[1]);
|
|
539
|
+
const timeHour = Number.parseInt(timeArray[0], 10);
|
|
540
|
+
const timeMinute = Number.parseInt(timeArray[1], 10);
|
|
549
541
|
if (timeHour > 23 || timeMinute > 59) {
|
|
550
542
|
throw new Error("Time incorrect");
|
|
551
543
|
}
|
|
@@ -3584,7 +3576,7 @@ const fromZigbee = {
|
|
|
3584
3576
|
else if (dp === dataPoints.silvercrestSetEffect) {
|
|
3585
3577
|
result.effect = {
|
|
3586
3578
|
effect: utils.getKey(silvercrestEffects, value.substring(0, 2), "", String),
|
|
3587
|
-
speed: utils.mapNumberRange(Number.parseInt(value.substring(2, 4)), 0, 64, 0, 100),
|
|
3579
|
+
speed: utils.mapNumberRange(Number.parseInt(value.substring(2, 4), 10), 0, 64, 0, 100),
|
|
3588
3580
|
colors: [],
|
|
3589
3581
|
};
|
|
3590
3582
|
const colorsString = value.substring(4);
|
|
@@ -4157,7 +4149,7 @@ const toZigbee2 = {
|
|
|
4157
4149
|
}
|
|
4158
4150
|
else {
|
|
4159
4151
|
// biome-ignore lint/style/noParameterAssign: ignored using `--suppress`
|
|
4160
|
-
value = Number.parseInt(value);
|
|
4152
|
+
value = Number.parseInt(value, 10);
|
|
4161
4153
|
}
|
|
4162
4154
|
return await toZigbee1.tuya_cover_control.convertSet(entity, "position", value, meta);
|
|
4163
4155
|
}
|
|
@@ -4298,8 +4290,8 @@ const toZigbee2 = {
|
|
|
4298
4290
|
for (let i = 0; i < periodsNumber; i++) {
|
|
4299
4291
|
const timeTemp = periods[i].split("/");
|
|
4300
4292
|
const hm = timeTemp[0].split(":", 2);
|
|
4301
|
-
const h = Number.parseInt(hm[0]);
|
|
4302
|
-
const m = Number.parseInt(hm[1]);
|
|
4293
|
+
const h = Number.parseInt(hm[0], 10);
|
|
4294
|
+
const m = Number.parseInt(hm[1], 10);
|
|
4303
4295
|
const temp = Number.parseFloat(timeTemp[1]);
|
|
4304
4296
|
if (h < 0 || h >= 24 || m < 0 || m >= 60 || temp < 5 || temp > 60) {
|
|
4305
4297
|
throw new Error(`Invalid hour, minute or temperature of: ${periods[i]}`);
|
|
@@ -4308,7 +4300,7 @@ const toZigbee2 = {
|
|
|
4308
4300
|
// 1 byte for hour, 1 byte for minutes, 2 bytes for temperature
|
|
4309
4301
|
payload.push(h, m, ...tempHexArray);
|
|
4310
4302
|
}
|
|
4311
|
-
await sendDataPointRaw(entity, dataPoints.x5hWeeklyProcedure, payload);
|
|
4303
|
+
await sendDataPointRaw(entity, dataPoints.x5hWeeklyProcedure, Buffer.from(payload));
|
|
4312
4304
|
break;
|
|
4313
4305
|
}
|
|
4314
4306
|
default:
|
|
@@ -4569,7 +4561,7 @@ const toZigbee2 = {
|
|
|
4569
4561
|
// biome-ignore lint/style/noParameterAssign: ignored using `--suppress`
|
|
4570
4562
|
if (value < 0)
|
|
4571
4563
|
value = value * 10 + 0x100000000;
|
|
4572
|
-
await sendDataPointRaw(entity, 109 + day - 1, results);
|
|
4564
|
+
await sendDataPointRaw(entity, 109 + day - 1, Buffer.from(results));
|
|
4573
4565
|
},
|
|
4574
4566
|
},
|
|
4575
4567
|
giexWaterValve: {
|
|
@@ -4863,7 +4855,7 @@ const toZigbee2 = {
|
|
|
4863
4855
|
Math.floor(newProgram.sunday_p4_minute),
|
|
4864
4856
|
Math.round(newProgram.sunday_p4_temperature * 2),
|
|
4865
4857
|
];
|
|
4866
|
-
await sendDataPointRaw(entity, dataPoints.moesSchedule, payload);
|
|
4858
|
+
await sendDataPointRaw(entity, dataPoints.moesSchedule, Buffer.from(payload));
|
|
4867
4859
|
},
|
|
4868
4860
|
},
|
|
4869
4861
|
// biome-ignore lint/style/useNamingConvention: ignored using `--suppress`
|
|
@@ -4975,9 +4967,9 @@ const toZigbee2 = {
|
|
|
4975
4967
|
for (let i = 0; i < 12; i++) {
|
|
4976
4968
|
const hourTemperature = items[i].split("/");
|
|
4977
4969
|
const hourMinute = hourTemperature[0].split(":", 2);
|
|
4978
|
-
const h = Number.parseInt(hourMinute[0]);
|
|
4979
|
-
const m = Number.parseInt(hourMinute[1]);
|
|
4980
|
-
const temp = Number.parseInt(hourTemperature[1]);
|
|
4970
|
+
const h = Number.parseInt(hourMinute[0], 10);
|
|
4971
|
+
const m = Number.parseInt(hourMinute[1], 10);
|
|
4972
|
+
const temp = Number.parseInt(hourTemperature[1], 10);
|
|
4981
4973
|
if (h < 0 || h >= 24 || m < 0 || m >= 60 || temp < 5 || temp >= 35) {
|
|
4982
4974
|
throw new Error(`Invalid hour, minute or temperature of:${items[i]}`);
|
|
4983
4975
|
}
|
|
@@ -4985,7 +4977,7 @@ const toZigbee2 = {
|
|
|
4985
4977
|
payload[i * 3 + 1] = m;
|
|
4986
4978
|
payload[i * 3 + 2] = temp * 2;
|
|
4987
4979
|
}
|
|
4988
|
-
await sendDataPointRaw(entity, dataPoints.moesSschedule, payload);
|
|
4980
|
+
await sendDataPointRaw(entity, dataPoints.moesSschedule, Buffer.from(payload));
|
|
4989
4981
|
},
|
|
4990
4982
|
},
|
|
4991
4983
|
hgkg_thermostat_standby: {
|
|
@@ -5171,8 +5163,8 @@ const toZigbee2 = {
|
|
|
5171
5163
|
if (value === "") {
|
|
5172
5164
|
// delete
|
|
5173
5165
|
data.push(0x04);
|
|
5174
|
-
data.push(Number.parseInt(key.substr(-1)));
|
|
5175
|
-
await sendDataPointRaw(entity, 16, data);
|
|
5166
|
+
data.push(Number.parseInt(key.substr(-1), 10));
|
|
5167
|
+
await sendDataPointRaw(entity, 16, Buffer.from(data));
|
|
5176
5168
|
const ret = { state: {} };
|
|
5177
5169
|
ret.state[key] = value;
|
|
5178
5170
|
return ret;
|
|
@@ -5182,7 +5174,7 @@ const toZigbee2 = {
|
|
|
5182
5174
|
}
|
|
5183
5175
|
else {
|
|
5184
5176
|
data.push(0x02);
|
|
5185
|
-
data.push(Number.parseInt(key.substr(-1)));
|
|
5177
|
+
data.push(Number.parseInt(key.substr(-1), 10));
|
|
5186
5178
|
}
|
|
5187
5179
|
const tarray = value.replace(/ /g, "").split("/");
|
|
5188
5180
|
if (tarray.length < 4) {
|
|
@@ -5199,7 +5191,7 @@ const toZigbee2 = {
|
|
|
5199
5191
|
const irrigationDuration = tarray[2];
|
|
5200
5192
|
const pauseDuration = tarray[3];
|
|
5201
5193
|
const weekdays = tarray[4];
|
|
5202
|
-
const active = Number.parseInt(tarray[5]);
|
|
5194
|
+
const active = Number.parseInt(tarray[5], 10);
|
|
5203
5195
|
if (!(active === 0 || active === 1)) {
|
|
5204
5196
|
throw new Error("Active value only 0 or 1 allowed");
|
|
5205
5197
|
}
|
|
@@ -5211,7 +5203,7 @@ const toZigbee2 = {
|
|
|
5211
5203
|
data = data.concat(convertDecimalValueTo2ByteHexArray(irrigationDuration));
|
|
5212
5204
|
data = data.concat(convertDecimalValueTo2ByteHexArray(pauseDuration));
|
|
5213
5205
|
data = data.concat(footer);
|
|
5214
|
-
await sendDataPointRaw(entity, 16, data);
|
|
5206
|
+
await sendDataPointRaw(entity, 16, Buffer.from(data));
|
|
5215
5207
|
const ret = { state: {} };
|
|
5216
5208
|
ret.state[key] = value;
|
|
5217
5209
|
return ret;
|
|
@@ -5227,8 +5219,8 @@ const toZigbee2 = {
|
|
|
5227
5219
|
if (value === "") {
|
|
5228
5220
|
// delete
|
|
5229
5221
|
data.push(0x04);
|
|
5230
|
-
data.push(Number.parseInt(key.substr(-1)));
|
|
5231
|
-
await sendDataPointRaw(entity, 17, data);
|
|
5222
|
+
data.push(Number.parseInt(key.substr(-1), 10));
|
|
5223
|
+
await sendDataPointRaw(entity, 17, Buffer.from(data));
|
|
5232
5224
|
const ret = { state: {} };
|
|
5233
5225
|
ret.state[key] = value;
|
|
5234
5226
|
return ret;
|
|
@@ -5238,7 +5230,7 @@ const toZigbee2 = {
|
|
|
5238
5230
|
}
|
|
5239
5231
|
else {
|
|
5240
5232
|
data.push(0x02);
|
|
5241
|
-
data.push(Number.parseInt(key.substr(-1)));
|
|
5233
|
+
data.push(Number.parseInt(key.substr(-1), 10));
|
|
5242
5234
|
}
|
|
5243
5235
|
const tarray = value.replace(/ /g, "").split("/");
|
|
5244
5236
|
if (tarray.length < 2) {
|
|
@@ -5253,7 +5245,7 @@ const toZigbee2 = {
|
|
|
5253
5245
|
const time = tarray[0];
|
|
5254
5246
|
const duration = tarray[1];
|
|
5255
5247
|
const weekdays = tarray[2];
|
|
5256
|
-
const active = Number.parseInt(tarray[3]);
|
|
5248
|
+
const active = Number.parseInt(tarray[3], 10);
|
|
5257
5249
|
if (!(active === 0 || active === 1)) {
|
|
5258
5250
|
throw new Error("Active value only 0 or 1 allowed");
|
|
5259
5251
|
}
|
|
@@ -5264,7 +5256,7 @@ const toZigbee2 = {
|
|
|
5264
5256
|
data = data.concat(weekdaysPart);
|
|
5265
5257
|
data = data.concat([64, active]);
|
|
5266
5258
|
data = data.concat(footer);
|
|
5267
|
-
await sendDataPointRaw(entity, 17, data);
|
|
5259
|
+
await sendDataPointRaw(entity, 17, Buffer.from(data));
|
|
5268
5260
|
const ret = { state: {} };
|
|
5269
5261
|
ret.state[key] = value;
|
|
5270
5262
|
return ret;
|
|
@@ -5328,10 +5320,10 @@ const toZigbee2 = {
|
|
|
5328
5320
|
return [(minutesSinceMidnight & 0xff00) >> 8, minutesSinceMidnight & 0xff, (heatSetpoint & 0xff00) >> 8, heatSetpoint & 0xff];
|
|
5329
5321
|
}
|
|
5330
5322
|
for (const [, daySchedule] of Object.entries(value)) {
|
|
5331
|
-
const dayofweek = Number.parseInt(daySchedule.dayofweek);
|
|
5332
|
-
const numoftrans = Number.parseInt(daySchedule.numoftrans);
|
|
5323
|
+
const dayofweek = Number.parseInt(daySchedule.dayofweek, 10);
|
|
5324
|
+
const numoftrans = Number.parseInt(daySchedule.numoftrans, 10);
|
|
5333
5325
|
let transitions = [...daySchedule.transitions];
|
|
5334
|
-
const mode = Number.parseInt(daySchedule.mode);
|
|
5326
|
+
const mode = Number.parseInt(daySchedule.mode, 10);
|
|
5335
5327
|
if (!supportedModes.includes(mode)) {
|
|
5336
5328
|
throw new Error(`Invalid mode: ${mode} for device ${meta.options.friendly_name}`);
|
|
5337
5329
|
}
|
|
@@ -5370,10 +5362,10 @@ const toZigbee2 = {
|
|
|
5370
5362
|
payload.push(...transitionToData(transition));
|
|
5371
5363
|
});
|
|
5372
5364
|
if (conversion === "saswell") {
|
|
5373
|
-
await sendDataPointRaw(entity, dataPoints.saswellScheduleSet, payload);
|
|
5365
|
+
await sendDataPointRaw(entity, dataPoints.saswellScheduleSet, Buffer.from(payload));
|
|
5374
5366
|
}
|
|
5375
5367
|
else {
|
|
5376
|
-
await sendDataPointRaw(entity, firstDayDpId - 1 + dayofweek, payload);
|
|
5368
|
+
await sendDataPointRaw(entity, firstDayDpId - 1 + dayofweek, Buffer.from(payload));
|
|
5377
5369
|
}
|
|
5378
5370
|
}
|
|
5379
5371
|
},
|
|
@@ -5387,7 +5379,7 @@ const toZigbee2 = {
|
|
|
5387
5379
|
tuya_thermostat_window_detection: {
|
|
5388
5380
|
key: ["window_detection"],
|
|
5389
5381
|
convertSet: async (entity, key, value, meta) => {
|
|
5390
|
-
await sendDataPointRaw(entity, dataPoints.windowDetection, [value === "ON" ? 1 : 0]);
|
|
5382
|
+
await sendDataPointRaw(entity, dataPoints.windowDetection, Buffer.from([value === "ON" ? 1 : 0]));
|
|
5391
5383
|
},
|
|
5392
5384
|
},
|
|
5393
5385
|
siterwell_thermostat_window_detection: {
|
|
@@ -5567,7 +5559,7 @@ const toZigbee2 = {
|
|
|
5567
5559
|
key: ["window_detect"],
|
|
5568
5560
|
convertSet: async (entity, key, value, meta) => {
|
|
5569
5561
|
const detect = value.detect.toUpperCase() === "ON" ? 1 : 0;
|
|
5570
|
-
await sendDataPointRaw(entity, dataPoints.windowDetection, [detect, value.temperature, value.minutes]);
|
|
5562
|
+
await sendDataPointRaw(entity, dataPoints.windowDetection, Buffer.from([detect, value.temperature, value.minutes]));
|
|
5571
5563
|
},
|
|
5572
5564
|
},
|
|
5573
5565
|
tuya_thermostat_schedule: {
|
|
@@ -5590,7 +5582,7 @@ const toZigbee2 = {
|
|
|
5590
5582
|
payload[i * 3 + 2] = value[prob][i].temperature;
|
|
5591
5583
|
}
|
|
5592
5584
|
}
|
|
5593
|
-
await sendDataPointRaw(entity, dpId, payload);
|
|
5585
|
+
await sendDataPointRaw(entity, dpId, Buffer.from(payload));
|
|
5594
5586
|
}
|
|
5595
5587
|
},
|
|
5596
5588
|
},
|
|
@@ -5605,9 +5597,9 @@ const toZigbee2 = {
|
|
|
5605
5597
|
for (let i = 0; i < 6; i++) {
|
|
5606
5598
|
const hourTemperature = items[i].split("/");
|
|
5607
5599
|
const hourMinute = hourTemperature[0].split(":", 2);
|
|
5608
|
-
const hour = Number.parseInt(hourMinute[0]);
|
|
5609
|
-
const minute = Number.parseInt(hourMinute[1]);
|
|
5610
|
-
const temperature = Number.parseInt(hourTemperature[1]);
|
|
5600
|
+
const hour = Number.parseInt(hourMinute[0], 10);
|
|
5601
|
+
const minute = Number.parseInt(hourMinute[1], 10);
|
|
5602
|
+
const temperature = Number.parseInt(hourTemperature[1], 10);
|
|
5611
5603
|
if (hour < 0 || hour >= 24 || minute < 0 || minute >= 60 || temperature < 5 || temperature >= 35) {
|
|
5612
5604
|
throw new Error(`Invalid hour, minute or temperature of:${items[i]}`);
|
|
5613
5605
|
}
|
|
@@ -5615,7 +5607,7 @@ const toZigbee2 = {
|
|
|
5615
5607
|
payload[i * 3 + 1] = minute;
|
|
5616
5608
|
payload[i * 3 + 2] = temperature;
|
|
5617
5609
|
}
|
|
5618
|
-
await sendDataPointRaw(entity, dpId, payload);
|
|
5610
|
+
await sendDataPointRaw(entity, dpId, Buffer.from(payload));
|
|
5619
5611
|
},
|
|
5620
5612
|
},
|
|
5621
5613
|
tuya_thermostat_week: {
|
|
@@ -5968,7 +5960,7 @@ const toZigbee2 = {
|
|
|
5968
5960
|
// Scale it to what the device expects (0-1000 instead of 0-255)
|
|
5969
5961
|
const scaled = utils.mapNumberRange(value, 0, 255, 0, 1000);
|
|
5970
5962
|
data = data.concat(convertDecimalValueTo2ByteHexArray(scaled));
|
|
5971
|
-
await sendDataPoint(entity, { dp: dataPoints.silvercrestSetBrightness, datatype: dataTypes.value, data: data });
|
|
5963
|
+
await sendDataPoint(entity, { dp: dataPoints.silvercrestSetBrightness, datatype: dataTypes.value, data: Buffer.from(data) });
|
|
5972
5964
|
}
|
|
5973
5965
|
else if (key === "color") {
|
|
5974
5966
|
await sendDataPointEnum(entity, dataPoints.silvercrestChangeMode, silvercrestModes.color);
|
|
@@ -6022,7 +6014,7 @@ const toZigbee2 = {
|
|
|
6022
6014
|
};
|
|
6023
6015
|
let hsb = {};
|
|
6024
6016
|
if (value.hsb != null) {
|
|
6025
|
-
const split = value.hsb.split(",").map((i) => Number.parseInt(i));
|
|
6017
|
+
const split = value.hsb.split(",").map((i) => Number.parseInt(i, 10));
|
|
6026
6018
|
hsb = fillInHSB(split[0], split[1], split[2], meta.state);
|
|
6027
6019
|
}
|
|
6028
6020
|
else {
|
|
@@ -6043,29 +6035,29 @@ const toZigbee2 = {
|
|
|
6043
6035
|
utils.assertString(value);
|
|
6044
6036
|
const args = value.split(",");
|
|
6045
6037
|
const mode = args[0];
|
|
6046
|
-
const dp = Number.parseInt(args[1]);
|
|
6038
|
+
const dp = Number.parseInt(args[1], 10);
|
|
6047
6039
|
const data = [];
|
|
6048
6040
|
switch (mode) {
|
|
6049
6041
|
case "raw":
|
|
6050
6042
|
for (let i = 2; i < args.length; i++) {
|
|
6051
|
-
data.push(Number.parseInt(args[i]));
|
|
6043
|
+
data.push(Number.parseInt(args[i], 10));
|
|
6052
6044
|
}
|
|
6053
|
-
await sendDataPointRaw(entity, dp, data);
|
|
6045
|
+
await sendDataPointRaw(entity, dp, Buffer.from(data));
|
|
6054
6046
|
break;
|
|
6055
6047
|
case "bool":
|
|
6056
6048
|
await sendDataPointBool(entity, dp, args[2] === "1");
|
|
6057
6049
|
break;
|
|
6058
6050
|
case "value":
|
|
6059
|
-
await sendDataPointValue(entity, dp, Number.parseInt(args[2]));
|
|
6051
|
+
await sendDataPointValue(entity, dp, Number.parseInt(args[2], 10));
|
|
6060
6052
|
break;
|
|
6061
6053
|
case "enum":
|
|
6062
|
-
await sendDataPointEnum(entity, dp, Number.parseInt(args[2]));
|
|
6054
|
+
await sendDataPointEnum(entity, dp, Number.parseInt(args[2], 10));
|
|
6063
6055
|
break;
|
|
6064
6056
|
case "bitmap":
|
|
6065
6057
|
for (let i = 2; i < args.length; i++) {
|
|
6066
|
-
data.push(Number.parseInt(args[i]));
|
|
6058
|
+
data.push(Number.parseInt(args[i], 10));
|
|
6067
6059
|
}
|
|
6068
|
-
await sendDataPointBitmap(entity, dp, data);
|
|
6060
|
+
await sendDataPointBitmap(entity, dp, Buffer.from(data));
|
|
6069
6061
|
break;
|
|
6070
6062
|
}
|
|
6071
6063
|
},
|
|
@@ -6291,27 +6283,27 @@ const toZigbee2 = {
|
|
|
6291
6283
|
switch (key) {
|
|
6292
6284
|
case "illuminance_calibration": // (10--100) sensor illuminance sensitivity
|
|
6293
6285
|
if (meta.device.manufacturerName === "_TZE200_kagkgk0i") {
|
|
6294
|
-
await sendDataPointRaw(entity, 102, [value]);
|
|
6286
|
+
await sendDataPointRaw(entity, 102, Buffer.from([value]));
|
|
6295
6287
|
break;
|
|
6296
6288
|
}
|
|
6297
|
-
await sendDataPointRaw(entity, 105, [value]);
|
|
6289
|
+
await sendDataPointRaw(entity, 105, Buffer.from([value]));
|
|
6298
6290
|
break;
|
|
6299
6291
|
case "led_enable": // OK (value true/false or 1/0)
|
|
6300
6292
|
if (meta.device.manufacturerName === "_TZE200_kagkgk0i") {
|
|
6301
|
-
await sendDataPointRaw(entity, 107, [value ? 1 : 0]);
|
|
6293
|
+
await sendDataPointRaw(entity, 107, Buffer.from([value ? 1 : 0]));
|
|
6302
6294
|
break;
|
|
6303
6295
|
}
|
|
6304
|
-
await sendDataPointRaw(entity, 103, [value ? 1 : 0]);
|
|
6296
|
+
await sendDataPointRaw(entity, 103, Buffer.from([value ? 1 : 0]));
|
|
6305
6297
|
break;
|
|
6306
6298
|
case "sensitivity": // value: 25, 50, 75, 100
|
|
6307
|
-
await sendDataPointRaw(entity, 2, [value]);
|
|
6299
|
+
await sendDataPointRaw(entity, 2, Buffer.from([value]));
|
|
6308
6300
|
break;
|
|
6309
6301
|
case "keep_time": // value 0 --> 7 corresponding 5s, 30s, 1, 3, 5, 10, 20, 30 min
|
|
6310
6302
|
if (meta.device.manufacturerName === "_TZE200_kagkgk0i") {
|
|
6311
|
-
await sendDataPointRaw(entity, 106, [value]);
|
|
6303
|
+
await sendDataPointRaw(entity, 106, Buffer.from([value]));
|
|
6312
6304
|
break;
|
|
6313
6305
|
}
|
|
6314
|
-
await sendDataPointRaw(entity, 102, [value]);
|
|
6306
|
+
await sendDataPointRaw(entity, 102, Buffer.from([value]));
|
|
6315
6307
|
break;
|
|
6316
6308
|
default: // Unknown key
|
|
6317
6309
|
throw new Error(`Unhandled key ${key}`);
|