mclimate-payload-helper 1.0.55 → 1.0.56
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/dist/decoders/payloadParsers/co2PirLitePayloadParser.d.ts +2 -0
- package/dist/decoders/payloadParsers/co2PirLitePayloadParser.d.ts.map +1 -0
- package/dist/decoders/payloadParsers/co2PirLitePayloadParser.js +83 -0
- package/dist/decoders/payloadParsers/co2PirLitePayloadParser.js.map +1 -0
- package/dist/decoders/payloadParsers/htPirLitePayloadParser.d.ts +2 -0
- package/dist/decoders/payloadParsers/htPirLitePayloadParser.d.ts.map +1 -0
- package/dist/decoders/payloadParsers/htPirLitePayloadParser.js +76 -0
- package/dist/decoders/payloadParsers/htPirLitePayloadParser.js.map +1 -0
- package/dist/decoders/payloadParsers/index.d.ts +2 -0
- package/dist/decoders/payloadParsers/index.d.ts.map +1 -1
- package/dist/decoders/payloadParsers/index.js +2 -0
- package/dist/decoders/payloadParsers/index.js.map +1 -1
- package/dist/decoders/payloadParsers/types/allDevices.d.ts +3 -1
- package/dist/decoders/payloadParsers/types/allDevices.d.ts.map +1 -1
- package/dist/decoders/payloadParsers/types/allDevices.js +2 -0
- package/dist/decoders/payloadParsers/types/allDevices.js.map +1 -1
- package/dist/decoders/payloadParsers/uplinkPayloadParser.d.ts.map +1 -1
- package/dist/decoders/payloadParsers/uplinkPayloadParser.js +4 -0
- package/dist/decoders/payloadParsers/uplinkPayloadParser.js.map +1 -1
- package/dist/encoders/Co2PirLiteCommands.d.ts +9 -0
- package/dist/encoders/Co2PirLiteCommands.d.ts.map +1 -0
- package/dist/encoders/Co2PirLiteCommands.js +58 -0
- package/dist/encoders/Co2PirLiteCommands.js.map +1 -0
- package/dist/encoders/CommandBuilder.d.ts.map +1 -1
- package/dist/encoders/CommandBuilder.js +2 -0
- package/dist/encoders/CommandBuilder.js.map +1 -1
- package/dist/encoders/HTPirLiteCommands.d.ts +9 -0
- package/dist/encoders/HTPirLiteCommands.d.ts.map +1 -0
- package/dist/encoders/HTPirLiteCommands.js +51 -0
- package/dist/encoders/HTPirLiteCommands.js.map +1 -0
- package/dist/encoders/index.d.ts +2 -0
- package/dist/encoders/index.d.ts.map +1 -1
- package/dist/encoders/index.js +2 -0
- package/dist/encoders/index.js.map +1 -1
- package/dist/encoders/types/schemas.d.ts +496 -0
- package/dist/encoders/types/schemas.d.ts.map +1 -1
- package/dist/encoders/types/schemas.js +21 -0
- package/dist/encoders/types/schemas.js.map +1 -1
- package/dist/test/payloadDecoders.test.js +40 -0
- package/dist/test/payloadDecoders.test.js.map +1 -1
- package/dist/test/payloadEncoders.test.js +33 -0
- package/dist/test/payloadEncoders.test.js.map +1 -1
- package/package.json +1 -1
- package/src/decoders/payloadParsers/co2PirLitePayloadParser.ts +91 -0
- package/src/decoders/payloadParsers/htPirLitePayloadParser.ts +84 -0
- package/src/decoders/payloadParsers/index.ts +3 -0
- package/src/decoders/payloadParsers/types/allDevices.ts +3 -1
- package/src/decoders/payloadParsers/uplinkPayloadParser.ts +6 -0
- package/src/encoders/Co2PirLiteCommands.ts +57 -0
- package/src/encoders/CommandBuilder.ts +4 -1
- package/src/encoders/HTPirLiteCommands.ts +50 -0
- package/src/encoders/index.ts +3 -0
- package/src/encoders/types/schemas.ts +54 -0
- package/src/test/payloadDecoders.test.ts +40 -0
- package/src/test/payloadEncoders.test.ts +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"co2PirLitePayloadParser.d.ts","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/co2PirLitePayloadParser.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,uBAAuB,YAAa,MAAM,mBA6EtD,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.co2PirLitePayloadParser = void 0;
|
|
4
|
+
const commandsReadingHelper_1 = require("../../decoders/commandsReadingHelper");
|
|
5
|
+
const types_1 = require("../../decoders/payloadParsers/types");
|
|
6
|
+
const helpers_1 = require("../../helpers");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
const co2PirLitePayloadParser = (hexData) => {
|
|
9
|
+
let deviceData = {};
|
|
10
|
+
try {
|
|
11
|
+
const handleKeepAliveData = (bytes) => {
|
|
12
|
+
let keepaliveData = {};
|
|
13
|
+
// Bytes 1-2: Internal temperature sensor data
|
|
14
|
+
// Formula: t[°C] = (T[15:0]-400)/10
|
|
15
|
+
var tempMsb = bytes[1]; // bits 15:8
|
|
16
|
+
var tempLsb = bytes[2]; // bits 7:0
|
|
17
|
+
var rawTemperature = (tempMsb << 8) | tempLsb;
|
|
18
|
+
keepaliveData.sensorTemperature = Number(((rawTemperature - 400) / 10).toFixed(2));
|
|
19
|
+
// Byte 3: Relative Humidity data
|
|
20
|
+
// Formula: RH[%] = (XX*100)/256
|
|
21
|
+
keepaliveData.relativeHumidity = Number(((bytes[3] * 100) / 256).toFixed(2));
|
|
22
|
+
// Bytes 4-5: Device battery voltage data
|
|
23
|
+
// Battery voltage [mV]
|
|
24
|
+
var batteryMsb = bytes[4]; // bits 15:8
|
|
25
|
+
var batteryLsb = bytes[5]; // bits 7:0
|
|
26
|
+
keepaliveData.batteryVoltage = Number((((batteryMsb << 8) | batteryLsb) / 1000).toFixed(2));
|
|
27
|
+
// Bytes 6-7: CO2 value in ppm
|
|
28
|
+
// Byte 6 contains the lower part of the value
|
|
29
|
+
// Byte 7 contains the higher part of the value (when CO2 exceeds ~8000 ppm)
|
|
30
|
+
// Create a 16-bit value combining both bytes
|
|
31
|
+
var co2Raw = bytes[6] | ((bytes[7] & 0x1F) << 8); // Get bits 4:0 from byte 7 and shift to positions 12:8
|
|
32
|
+
var co2Value = co2Raw << 5; // Shift left 5 bits as per the spec
|
|
33
|
+
keepaliveData.CO2 = co2Value;
|
|
34
|
+
// Byte 8: PIR sensor status (only bit 0 is used)
|
|
35
|
+
// 0 - No motion detected
|
|
36
|
+
// 1 - Motion detected
|
|
37
|
+
var pirValue = bytes[8] & 0x01; // Extract only the last bit
|
|
38
|
+
keepaliveData.pir = pirValue === 1 ? true : false;
|
|
39
|
+
Object.assign(deviceData, Object.assign({}, deviceData), Object.assign({}, keepaliveData));
|
|
40
|
+
};
|
|
41
|
+
if (hexData) {
|
|
42
|
+
let byteArray = (0, helpers_1.byteArrayParser)(hexData);
|
|
43
|
+
if (!byteArray)
|
|
44
|
+
return;
|
|
45
|
+
// Route the message based on the command byte
|
|
46
|
+
if (byteArray[0] == 1) {
|
|
47
|
+
// This is a keepalive message
|
|
48
|
+
handleKeepAliveData(byteArray);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// parse command answers
|
|
52
|
+
let data = (0, commandsReadingHelper_1.commandsReadingHelper)(hexData, 18, types_1.DeviceType.CO2PirLite);
|
|
53
|
+
if (!data)
|
|
54
|
+
return;
|
|
55
|
+
const shouldKeepAlive = data.hasOwnProperty('decodeKeepalive') ? true : false;
|
|
56
|
+
if ('decodeKeepalive' in data) {
|
|
57
|
+
delete data.decodeKeepalive;
|
|
58
|
+
}
|
|
59
|
+
Object.assign(deviceData, Object.assign({}, deviceData), Object.assign({}, data));
|
|
60
|
+
// Handle the remaining keepalive data if present
|
|
61
|
+
if (shouldKeepAlive) {
|
|
62
|
+
// Extract the last 9 bytes which contain keepalive data for CO2-PIR-Lite
|
|
63
|
+
let keepaliveData = hexData.slice(-18); // 9 bytes = 18 hex chars
|
|
64
|
+
let dataToPass = (0, helpers_1.byteArrayParser)(keepaliveData);
|
|
65
|
+
if (!dataToPass)
|
|
66
|
+
return;
|
|
67
|
+
handleKeepAliveData(dataToPass);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return deviceData;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
throw new utils_1.CustomError({
|
|
75
|
+
message: `Unhandled data`,
|
|
76
|
+
hexData: hexData,
|
|
77
|
+
deviceType: 'co2_pir_lite',
|
|
78
|
+
originalError: e,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
exports.co2PirLitePayloadParser = co2PirLitePayloadParser;
|
|
83
|
+
//# sourceMappingURL=co2PirLitePayloadParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"co2PirLitePayloadParser.js","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/co2PirLitePayloadParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"htPirLitePayloadParser.d.ts","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/htPirLitePayloadParser.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,sBAAsB,YAAa,MAAM,mBAuErD,CAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.htPirLitePayloadParser = void 0;
|
|
4
|
+
const commandsReadingHelper_1 = require("../../decoders/commandsReadingHelper");
|
|
5
|
+
const types_1 = require("../../decoders/payloadParsers/types");
|
|
6
|
+
const helpers_1 = require("../../helpers");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
const htPirLitePayloadParser = (hexData) => {
|
|
9
|
+
let deviceData = {};
|
|
10
|
+
try {
|
|
11
|
+
const handleKeepAliveData = (bytes) => {
|
|
12
|
+
let keepaliveData = {};
|
|
13
|
+
// Bytes 1-2: Internal temperature sensor data
|
|
14
|
+
// Formula: t[°C] = (T[15:0]-400)/10
|
|
15
|
+
var tempMsb = bytes[1]; // bits 15:8
|
|
16
|
+
var tempLsb = bytes[2]; // bits 7:0
|
|
17
|
+
var rawTemperature = (tempMsb << 8) | tempLsb;
|
|
18
|
+
keepaliveData.sensorTemperature = Number(((rawTemperature - 400) / 10).toFixed(2));
|
|
19
|
+
// Byte 3: Relative Humidity data
|
|
20
|
+
// Formula: RH[%] = (XX*100)/256
|
|
21
|
+
keepaliveData.relativeHumidity = Number(((bytes[3] * 100) / 256).toFixed(2));
|
|
22
|
+
// Bytes 4-5: Device battery voltage data
|
|
23
|
+
// Battery voltage [mV]
|
|
24
|
+
var batteryMsb = bytes[4]; // bits 15:8
|
|
25
|
+
var batteryLsb = bytes[5]; // bits 7:0
|
|
26
|
+
keepaliveData.batteryVoltage = Number((((batteryMsb << 8) | batteryLsb) / 1000).toFixed(2));
|
|
27
|
+
// Byte 6: PIR sensor status (only bit 0 is used, other bits are reserved)
|
|
28
|
+
// 0 - No motion detected
|
|
29
|
+
// 1 - Motion detected
|
|
30
|
+
var pirValue = bytes[6] & 0x01; // Extract only the last bit
|
|
31
|
+
keepaliveData.pir = pirValue === 1 ? true : false;
|
|
32
|
+
Object.assign(deviceData, Object.assign({}, deviceData), Object.assign({}, keepaliveData));
|
|
33
|
+
};
|
|
34
|
+
if (hexData) {
|
|
35
|
+
let byteArray = (0, helpers_1.byteArrayParser)(hexData);
|
|
36
|
+
if (!byteArray)
|
|
37
|
+
return;
|
|
38
|
+
// Route the message based on the command byte
|
|
39
|
+
if (byteArray[0] == 1) {
|
|
40
|
+
// This is a keepalive message
|
|
41
|
+
handleKeepAliveData(byteArray);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// parse command answers
|
|
45
|
+
let data = (0, commandsReadingHelper_1.commandsReadingHelper)(hexData, 14, types_1.DeviceType.HTPirLite);
|
|
46
|
+
if (!data)
|
|
47
|
+
return;
|
|
48
|
+
const shouldKeepAlive = data.hasOwnProperty('decodeKeepalive') ? true : false;
|
|
49
|
+
if ('decodeKeepalive' in data) {
|
|
50
|
+
delete data.decodeKeepalive;
|
|
51
|
+
}
|
|
52
|
+
Object.assign(deviceData, Object.assign({}, deviceData), Object.assign({}, data));
|
|
53
|
+
// Handle the remaining keepalive data if present
|
|
54
|
+
if (shouldKeepAlive) {
|
|
55
|
+
// Extract the last 7 bytes which contain keepalive data for HT-PIR-Lite
|
|
56
|
+
let keepaliveData = hexData.slice(-14); // 7 bytes = 14 hex chars
|
|
57
|
+
let dataToPass = (0, helpers_1.byteArrayParser)(keepaliveData);
|
|
58
|
+
if (!dataToPass)
|
|
59
|
+
return;
|
|
60
|
+
handleKeepAliveData(dataToPass);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return deviceData;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
throw new utils_1.CustomError({
|
|
68
|
+
message: `Unhandled data`,
|
|
69
|
+
hexData: hexData,
|
|
70
|
+
deviceType: 'ht_pir_lite',
|
|
71
|
+
originalError: e,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.htPirLitePayloadParser = htPirLitePayloadParser;
|
|
76
|
+
//# sourceMappingURL=htPirLitePayloadParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"htPirLitePayloadParser.js","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/htPirLitePayloadParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,4 +17,6 @@ export * from './tValvePayloadParser';
|
|
|
17
17
|
export * from './relay16PayloadParser';
|
|
18
18
|
export * from './relay16DryPayloadParser';
|
|
19
19
|
export * from './melissaLorawanPayloadParser';
|
|
20
|
+
export * from './co2PirLitePayloadParser';
|
|
21
|
+
export * from './htPirLitePayloadParser';
|
|
20
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,2BAA2B,CAAA;AACzC,cAAc,mCAAmC,CAAA;AACjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kCAAkC,CAAA;AAChD,cAAc,2BAA2B,CAAA;AACzC,cAAc,mCAAmC,CAAA;AACjD,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA"}
|
|
@@ -33,4 +33,6 @@ __exportStar(require("./tValvePayloadParser"), exports);
|
|
|
33
33
|
__exportStar(require("./relay16PayloadParser"), exports);
|
|
34
34
|
__exportStar(require("./relay16DryPayloadParser"), exports);
|
|
35
35
|
__exportStar(require("./melissaLorawanPayloadParser"), exports);
|
|
36
|
+
__exportStar(require("./co2PirLitePayloadParser"), exports);
|
|
37
|
+
__exportStar(require("./htPirLitePayloadParser"), exports);
|
|
36
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,uDAAoC;AACpC,2DAAwC;AACxC,gEAA6C;AAC7C,4DAAyC;AACzC,2DAAwC;AACxC,mEAAgD;AAChD,4DAAyC;AACzC,oEAAiD;AACjD,wDAAqC;AACrC,2DAAwC;AACxC,+DAA4C;AAC5C,0DAAuC;AACvC,iEAA8C;AAC9C,wDAAqC;AACrC,wDAAqC;AACrC,yDAAsC;AACtC,4DAAyC;AACzC,gEAA6C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,uDAAoC;AACpC,2DAAwC;AACxC,gEAA6C;AAC7C,4DAAyC;AACzC,2DAAwC;AACxC,mEAAgD;AAChD,4DAAyC;AACzC,oEAAiD;AACjD,wDAAqC;AACrC,2DAAwC;AACxC,+DAA4C;AAC5C,0DAAuC;AACvC,iEAA8C;AAC9C,wDAAqC;AACrC,wDAAqC;AACrC,yDAAsC;AACtC,4DAAyC;AACzC,gEAA6C;AAC7C,4DAAyC;AACzC,2DAAwC"}
|
|
@@ -16,6 +16,8 @@ export declare enum DeviceType {
|
|
|
16
16
|
HTDisplayLite = "ht_display_lite",
|
|
17
17
|
Relay16 = "relay_16",
|
|
18
18
|
Relay16Dry = "relay_16_dry",
|
|
19
|
-
MelissaLorawan = "melissa_lorawan"
|
|
19
|
+
MelissaLorawan = "melissa_lorawan",
|
|
20
|
+
CO2PirLite = "co2_pir_lite",
|
|
21
|
+
HTPirLite = "ht_pir_lite"
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=allDevices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allDevices.d.ts","sourceRoot":"","sources":["../../../../src/decoders/payloadParsers/types/allDevices.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACrB,KAAK,UAAU;IACf,QAAQ,cAAc;IACtB,MAAM,YAAY;IAClB,SAAS,eAAe;IACxB,MAAM,YAAY;IAClB,SAAS,eAAe;IACxB,UAAU,eAAe;IACzB,QAAQ,cAAc;IACtB,eAAe,sBAAsB;IACrC,SAAS,eAAe;IACxB,kBAAkB,wBAAwB;IAC1C,UAAU,gBAAgB;IAC1B,iBAAiB,wBAAwB;IACzC,cAAc,qBAAqB;IACnC,aAAa,oBAAoB;IACjC,OAAO,aAAa;IACpB,UAAU,iBAAiB;IAC3B,cAAc,oBAAoB;
|
|
1
|
+
{"version":3,"file":"allDevices.d.ts","sourceRoot":"","sources":["../../../../src/decoders/payloadParsers/types/allDevices.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACrB,KAAK,UAAU;IACf,QAAQ,cAAc;IACtB,MAAM,YAAY;IAClB,SAAS,eAAe;IACxB,MAAM,YAAY;IAClB,SAAS,eAAe;IACxB,UAAU,eAAe;IACzB,QAAQ,cAAc;IACtB,eAAe,sBAAsB;IACrC,SAAS,eAAe;IACxB,kBAAkB,wBAAwB;IAC1C,UAAU,gBAAgB;IAC1B,iBAAiB,wBAAwB;IACzC,cAAc,qBAAqB;IACnC,aAAa,oBAAoB;IACjC,OAAO,aAAa;IACpB,UAAU,iBAAiB;IAC3B,cAAc,oBAAoB;IAClC,UAAU,iBAAiB;IAC3B,SAAS,gBAAgB;CACzB"}
|
|
@@ -21,5 +21,7 @@ var DeviceType;
|
|
|
21
21
|
DeviceType["Relay16"] = "relay_16";
|
|
22
22
|
DeviceType["Relay16Dry"] = "relay_16_dry";
|
|
23
23
|
DeviceType["MelissaLorawan"] = "melissa_lorawan";
|
|
24
|
+
DeviceType["CO2PirLite"] = "co2_pir_lite";
|
|
25
|
+
DeviceType["HTPirLite"] = "ht_pir_lite";
|
|
24
26
|
})(DeviceType || (exports.DeviceType = DeviceType = {}));
|
|
25
27
|
//# sourceMappingURL=allDevices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allDevices.js","sourceRoot":"","sources":["../../../../src/decoders/payloadParsers/types/allDevices.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"allDevices.js","sourceRoot":"","sources":["../../../../src/decoders/payloadParsers/types/allDevices.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAqBX;AArBD,WAAY,UAAU;IACrB,6BAAe,CAAA;IACf,oCAAsB,CAAA;IACtB,gCAAkB,CAAA;IAClB,sCAAwB,CAAA;IACxB,gCAAkB,CAAA;IAClB,sCAAwB,CAAA;IACxB,uCAAyB,CAAA;IACzB,oCAAsB,CAAA;IACtB,mDAAqC,CAAA;IACrC,sCAAwB,CAAA;IACxB,wDAA0C,CAAA;IAC1C,wCAA0B,CAAA;IAC1B,uDAAyC,CAAA;IACzC,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,kCAAoB,CAAA;IACpB,yCAA2B,CAAA;IAC3B,gDAAkC,CAAA;IAClC,yCAA2B,CAAA;IAC3B,uCAAyB,CAAA;AAC1B,CAAC,EArBW,UAAU,0BAAV,UAAU,QAqBrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uplinkPayloadParser.d.ts","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/uplinkPayloadParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"uplinkPayloadParser.d.ts","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/uplinkPayloadParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAwB5D,eAAO,MAAM,mBAAmB,YAAa,MAAM,cAAc,UAAU,mBA8C1E,CAAA"}
|
|
@@ -41,6 +41,10 @@ const uplinkPayloadParser = (hexData, deviceType) => {
|
|
|
41
41
|
return (0, payloadParsers_1.relay16DryPayloadParser)(hexData);
|
|
42
42
|
case types_1.DeviceType.MelissaLorawan:
|
|
43
43
|
return (0, payloadParsers_1.melissaLorawanPayloadParser)(hexData);
|
|
44
|
+
case types_1.DeviceType.CO2PirLite:
|
|
45
|
+
return (0, payloadParsers_1.co2PirLitePayloadParser)(hexData);
|
|
46
|
+
case types_1.DeviceType.HTPirLite:
|
|
47
|
+
return (0, payloadParsers_1.htPirLitePayloadParser)(hexData);
|
|
44
48
|
default:
|
|
45
49
|
// Q: is this OK?
|
|
46
50
|
return (0, payloadParsers_1.vickiPayloadParser)(hexData); // Default case if deviceType is not recognized
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uplinkPayloadParser.js","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/uplinkPayloadParser.ts"],"names":[],"mappings":";;;AAAA,2DAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"uplinkPayloadParser.js","sourceRoot":"","sources":["../../../src/decoders/payloadParsers/uplinkPayloadParser.ts"],"names":[],"mappings":";;;AAAA,2DAA4D;AAC5D,8DAqBkC;AAE3B,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,UAAsB,EAAE,EAAE;IAC9E,QAAQ,UAAU,EAAE,CAAC;QACpB,KAAK,kBAAU,CAAC,KAAK;YACpB,OAAO,IAAA,mCAAkB,EAAC,OAAO,CAAC,CAAA;QACnC,KAAK,kBAAU,CAAC,QAAQ;YACvB,OAAO,IAAA,sCAAqB,EAAC,OAAO,CAAC,CAAA;QACtC,KAAK,kBAAU,CAAC,MAAM;YACrB,OAAO,IAAA,oCAAmB,EAAC,OAAO,CAAC,CAAA;QACpC,KAAK,kBAAU,CAAC,SAAS;YACxB,OAAO,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAA;QACvC,KAAK,kBAAU,CAAC,MAAM;YACrB,OAAO,IAAA,oCAAmB,EAAC,OAAO,CAAC,CAAA;QACpC,KAAK,kBAAU,CAAC,SAAS;YACxB,OAAO,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAA;QACvC,KAAK,kBAAU,CAAC,UAAU;YACzB,OAAO,IAAA,wCAAuB,EAAC,OAAO,CAAC,CAAA;QACxC,KAAK,kBAAU,CAAC,QAAQ;YACvB,OAAO,IAAA,oCAAmB,EAAC,OAAO,CAAC,CAAA;QACpC,KAAK,kBAAU,CAAC,eAAe;YAC9B,OAAO,IAAA,6CAA4B,EAAC,OAAO,CAAC,CAAA;QAC7C,KAAK,kBAAU,CAAC,SAAS;YACxB,OAAO,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAA;QACvC,KAAK,kBAAU,CAAC,kBAAkB;YACjC,OAAO,IAAA,gDAA+B,EAAC,OAAO,CAAC,CAAA;QAChD,KAAK,kBAAU,CAAC,UAAU;YACzB,OAAO,IAAA,wCAAuB,EAAC,OAAO,CAAC,CAAA;QACxC,KAAK,kBAAU,CAAC,iBAAiB;YAChC,OAAO,IAAA,+CAA8B,EAAC,OAAO,CAAC,CAAA;QAC/C,KAAK,kBAAU,CAAC,cAAc;YAC7B,OAAO,IAAA,4CAA2B,EAAC,OAAO,CAAC,CAAA;QAC5C,KAAK,kBAAU,CAAC,aAAa;YAC5B,OAAO,IAAA,2CAA0B,EAAC,OAAO,CAAC,CAAA;QAC3C,KAAK,kBAAU,CAAC,OAAO;YACtB,OAAO,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAA;QACrC,KAAK,kBAAU,CAAC,UAAU;YACzB,OAAO,IAAA,wCAAuB,EAAC,OAAO,CAAC,CAAA;QACxC,KAAK,kBAAU,CAAC,cAAc;YAC7B,OAAO,IAAA,4CAA2B,EAAC,OAAO,CAAC,CAAA;QAC5C,KAAK,kBAAU,CAAC,UAAU;YACzB,OAAO,IAAA,wCAAuB,EAAC,OAAO,CAAC,CAAA;QACxC,KAAK,kBAAU,CAAC,SAAS;YACxB,OAAO,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAA;QACvC;YACC,iBAAiB;YACjB,OAAO,IAAA,mCAAkB,EAAC,OAAO,CAAC,CAAA,CAAC,+CAA+C;IACpF,CAAC;AACF,CAAC,CAAA;AA9CY,QAAA,mBAAmB,uBA8C/B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GeneralCommands } from '../encoders';
|
|
2
|
+
import { Co2PirLiteCommandTypes } from '../encoders/types';
|
|
3
|
+
import { BaseCommand } from '../encoders';
|
|
4
|
+
export declare class Co2PirLiteCommands extends GeneralCommands {
|
|
5
|
+
static setUplinkSendingOnButtonPress(params: Co2PirLiteCommandTypes.SetUplinkSendingOnButtonPressParams): BaseCommand;
|
|
6
|
+
static getUplinkSendingOnButtonPress(): BaseCommand;
|
|
7
|
+
static restartDevice(): BaseCommand;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=Co2PirLiteCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Co2PirLiteCommands.d.ts","sourceRoot":"","sources":["../../src/encoders/Co2PirLiteCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,YAAY,CAAA;AAE5E,OAAO,EAAE,sBAAsB,EAAwB,MAAM,kBAAkB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAKxC,qBAAa,kBAAmB,SAAQ,eAAe;IACtD,MAAM,CAAC,6BAA6B,CAAC,MAAM,EAAE,sBAAsB,CAAC,mCAAmC;IAsBtG,MAAM,CAAC,6BAA6B;IAKpC,MAAM,CAAC,aAAa;CAGrB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Co2PirLiteCommands = void 0;
|
|
4
|
+
const encoders_1 = require("../encoders");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const types_1 = require("../encoders/types");
|
|
7
|
+
const encoders_2 = require("../encoders");
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
const utils_2 = require("../utils");
|
|
10
|
+
const utils_3 = require("../utils");
|
|
11
|
+
class Co2PirLiteCommands extends encoders_1.GeneralCommands {
|
|
12
|
+
static setUplinkSendingOnButtonPress(params) {
|
|
13
|
+
try {
|
|
14
|
+
types_1.DeviceCommandSchemas.Co2PirLiteCommandSchemas.setUplinkSendingOnButtonPress.parse(params);
|
|
15
|
+
const { value } = params;
|
|
16
|
+
return new encoders_2.BaseCommand('SetUplinkSendingOnButtonPress', 0x2e, (0, utils_3.decToHex)(value));
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
if (e instanceof zod_1.ZodError) {
|
|
20
|
+
throw new utils_2.CustomError({
|
|
21
|
+
message: 'Zod validation error during SetUplinkSendingOnButtonPress execution',
|
|
22
|
+
command: 'SetUplinkSendingOnButtonPress',
|
|
23
|
+
originalError: e,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw new utils_2.CustomError({
|
|
28
|
+
message: 'Error during SetUplinkSendingOnButtonPress execution',
|
|
29
|
+
command: 'SetUplinkSendingOnButtonPress',
|
|
30
|
+
originalError: e,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static getUplinkSendingOnButtonPress() {
|
|
36
|
+
return new encoders_2.BaseCommand('GetUplinkSendingOnButtonPress', 0x2f);
|
|
37
|
+
}
|
|
38
|
+
static restartDevice() {
|
|
39
|
+
return new encoders_2.BaseCommand('RestartDevice', 0xa5);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.Co2PirLiteCommands = Co2PirLiteCommands;
|
|
43
|
+
(0, utils_1.applyMixins)(Co2PirLiteCommands, [
|
|
44
|
+
encoders_1.GeneralCommands,
|
|
45
|
+
encoders_1.PIRCommands,
|
|
46
|
+
encoders_1.CO2SensorCommands,
|
|
47
|
+
]);
|
|
48
|
+
(0, utils_1.delMethods)(Co2PirLiteCommands, [
|
|
49
|
+
'setPIRInitPeriod',
|
|
50
|
+
'getPIRInitPeriod',
|
|
51
|
+
'setNotifyPeriod',
|
|
52
|
+
'getNotifyPeriod',
|
|
53
|
+
'setBuzzerNotification',
|
|
54
|
+
'getBuzzerNotification',
|
|
55
|
+
'setCo2Led',
|
|
56
|
+
'getCo2Led',
|
|
57
|
+
]);
|
|
58
|
+
//# sourceMappingURL=Co2PirLiteCommands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Co2PirLiteCommands.js","sourceRoot":"","sources":["../../src/encoders/Co2PirLiteCommands.ts"],"names":[],"mappings":";;;AAAA,yCAA4E;AAC5E,mCAAiD;AACjD,4CAA+E;AAC/E,yCAAwC;AACxC,6BAA8B;AAC9B,mCAAqC;AACrC,mCAAkC;AAElC,MAAa,kBAAmB,SAAQ,0BAAe;IACtD,MAAM,CAAC,6BAA6B,CAAC,MAAkE;QACrG,IAAI,CAAC;YACJ,4BAAoB,CAAC,wBAAwB,CAAC,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACzF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;YACxB,OAAO,IAAI,sBAAW,CAAC,+BAA+B,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAA;QAC/E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAW,CAAC;oBACrB,OAAO,EAAE,qEAAqE;oBAC9E,OAAO,EAAE,+BAA+B;oBACxC,aAAa,EAAE,CAAC;iBAChB,CAAC,CAAA;YACH,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,mBAAW,CAAC;oBACrB,OAAO,EAAE,sDAAsD;oBAC/D,OAAO,EAAE,+BAA+B;oBACxC,aAAa,EAAE,CAAU;iBACzB,CAAC,CAAA;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,CAAC,6BAA6B;QACnC,OAAO,IAAI,sBAAW,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAA;IAC9D,CAAC;IAGD,MAAM,CAAC,aAAa;QACnB,OAAO,IAAI,sBAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;CACF;AA/BD,gDA+BC;AAED,IAAA,mBAAW,EAAC,kBAAkB,EAAE;IAC/B,0BAAe;IACf,sBAAW;IACX,4BAAiB;CACjB,CAAC,CAAA;AAEF,IAAA,kBAAU,EAAC,kBAAkB,EAAE;IAC9B,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,WAAW;IACX,WAAW;CACX,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBuilder.d.ts","sourceRoot":"","sources":["../../src/encoders/CommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,
|
|
1
|
+
{"version":3,"file":"CommandBuilder.d.ts","sourceRoot":"","sources":["../../src/encoders/CommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,WAAW,EAoBX,MAAM,YAAY,CAAA;AAGnB,qBAAa,cAAc;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;gBAExB,WAAW,EAAE,MAAM;IAyB/B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAoBvC,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE;CAG/B"}
|
|
@@ -24,6 +24,8 @@ class CommandBuilder {
|
|
|
24
24
|
thermostat: encoders_1.TringThermostatCommands,
|
|
25
25
|
aqi_sensor: encoders_1.SetAqiLedCommands,
|
|
26
26
|
relay_16_dry: encoders_1.Relay16DryCommands,
|
|
27
|
+
ht_pir_lite: encoders_1.HTPirLiteCommands,
|
|
28
|
+
co2_pir_lite: encoders_1.Co2PirLiteCommands,
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
31
|
build(command, params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBuilder.js","sourceRoot":"","sources":["../../src/encoders/CommandBuilder.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"CommandBuilder.js","sourceRoot":"","sources":["../../src/encoders/CommandBuilder.ts"],"names":[],"mappings":";;;AAAA,yCAqBmB;AAEnB,mCAAkD;AAClD,MAAa,cAAc;IAI1B,YAAY,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG;YACtB,UAAU,EAAE,4BAAiB;YAC7B,KAAK,EAAE,wBAAa;YACpB,mBAAmB,EAAE,qCAA0B;YAC/C,SAAS,EAAE,yBAAc;YACzB,QAAQ,EAAE,0BAAe;YACzB,mBAAmB,EAAE,oCAAyB;YAC9C,iBAAiB,EAAE,kCAAuB;YAC1C,WAAW,EAAE,6BAAkB;YAC/B,UAAU,EAAE,4BAAiB;YAC7B,gBAAgB,EAAE,iCAAsB;YACxC,OAAO,EAAE,yBAAc;YACvB,OAAO,EAAE,yBAAc;YACvB,SAAS,EAAE,2BAAgB;YAC3B,eAAe,EAAE,wBAAa;YAC9B,UAAU,EAAE,kCAAuB;YACnC,UAAU,EAAE,4BAAiB;YAC7B,YAAY,EAAE,6BAAkB;YAChC,WAAW,EAAE,4BAAiB;YAC9B,YAAY,EAAE,6BAAkB;SAChC,CAAA;IACF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,MAAgB;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAgD,CAAC,CAAA;QAElG,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,mBAAW,CAAC;gBACrB,OAAO,EAAE,eAAe,IAAI,CAAC,WAAW,mBAAmB;aAC3D,CAAC,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAA;QAEvC,IAAI,OAAQ,cAAsC,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;YAC/E,OAAQ,cAAsC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,mBAAW,CAAC;gBACrB,OAAO,EAAE,WAAW,UAAU,kCAAkC,IAAI,CAAC,WAAW,EAAE;aAClF,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,OAAO,CAAC,QAAuB;QAC9B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,OAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAC1G,CAAC;CACD;AApDD,wCAoDC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GeneralCommands } from '../encoders';
|
|
2
|
+
import { HTPirLiteCommandTypes } from '../encoders/types';
|
|
3
|
+
import { BaseCommand } from '../encoders';
|
|
4
|
+
export declare class HTPirLiteCommands extends GeneralCommands {
|
|
5
|
+
static setUplinkSendingOnButtonPress(params: HTPirLiteCommandTypes.SetUplinkSendingOnButtonPressParams): BaseCommand;
|
|
6
|
+
static getUplinkSendingOnButtonPress(): BaseCommand;
|
|
7
|
+
static restartDevice(): BaseCommand;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=HTPirLiteCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HTPirLiteCommands.d.ts","sourceRoot":"","sources":["../../src/encoders/HTPirLiteCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,YAAY,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAwB,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAKxC,qBAAa,iBAAkB,SAAQ,eAAe;IACrD,MAAM,CAAC,6BAA6B,CAAC,MAAM,EAAE,qBAAqB,CAAC,mCAAmC;IAsBrG,MAAM,CAAC,6BAA6B;IAKpC,MAAM,CAAC,aAAa;CAGrB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HTPirLiteCommands = void 0;
|
|
4
|
+
const encoders_1 = require("../encoders");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const types_1 = require("../encoders/types");
|
|
7
|
+
const encoders_2 = require("../encoders");
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
const utils_2 = require("../utils");
|
|
10
|
+
const utils_3 = require("../utils");
|
|
11
|
+
class HTPirLiteCommands extends encoders_1.GeneralCommands {
|
|
12
|
+
static setUplinkSendingOnButtonPress(params) {
|
|
13
|
+
try {
|
|
14
|
+
types_1.DeviceCommandSchemas.HTPirLiteCommandSchemas.setUplinkSendingOnButtonPress.parse(params);
|
|
15
|
+
const { value } = params;
|
|
16
|
+
return new encoders_2.BaseCommand('SetUplinkSendingOnButtonPress', 0x2e, (0, utils_3.decToHex)(value));
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
if (e instanceof zod_1.ZodError) {
|
|
20
|
+
throw new utils_2.CustomError({
|
|
21
|
+
message: 'Zod validation error during SetUplinkSendingOnButtonPress execution',
|
|
22
|
+
command: 'SetUplinkSendingOnButtonPress',
|
|
23
|
+
originalError: e,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw new utils_2.CustomError({
|
|
28
|
+
message: 'Error during SetUplinkSendingOnButtonPress execution',
|
|
29
|
+
command: 'SetUplinkSendingOnButtonPress',
|
|
30
|
+
originalError: e,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static getUplinkSendingOnButtonPress() {
|
|
36
|
+
return new encoders_2.BaseCommand('GetUplinkSendingOnButtonPress', 0x2f);
|
|
37
|
+
}
|
|
38
|
+
static restartDevice() {
|
|
39
|
+
return new encoders_2.BaseCommand('RestartDevice', 0xa5);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.HTPirLiteCommands = HTPirLiteCommands;
|
|
43
|
+
(0, utils_1.applyMixins)(HTPirLiteCommands, [
|
|
44
|
+
encoders_1.GeneralCommands,
|
|
45
|
+
encoders_1.PIRCommands,
|
|
46
|
+
]);
|
|
47
|
+
(0, utils_1.delMethods)(HTPirLiteCommands, [
|
|
48
|
+
'setPIRInitPeriod',
|
|
49
|
+
'getPIRInitPeriod',
|
|
50
|
+
]);
|
|
51
|
+
//# sourceMappingURL=HTPirLiteCommands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HTPirLiteCommands.js","sourceRoot":"","sources":["../../src/encoders/HTPirLiteCommands.ts"],"names":[],"mappings":";;;AAAA,yCAAyD;AACzD,mCAAiD;AACjD,4CAA8E;AAC9E,yCAAwC;AACxC,6BAA8B;AAC9B,mCAAqC;AACrC,mCAAkC;AAElC,MAAa,iBAAkB,SAAQ,0BAAe;IACrD,MAAM,CAAC,6BAA6B,CAAC,MAAiE;QACpG,IAAI,CAAC;YACJ,4BAAoB,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACxF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;YACxB,OAAO,IAAI,sBAAW,CAAC,+BAA+B,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAA;QAC/E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAW,CAAC;oBACrB,OAAO,EAAE,qEAAqE;oBAC9E,OAAO,EAAE,+BAA+B;oBACxC,aAAa,EAAE,CAAC;iBAChB,CAAC,CAAA;YACH,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,mBAAW,CAAC;oBACrB,OAAO,EAAE,sDAAsD;oBAC/D,OAAO,EAAE,+BAA+B;oBACxC,aAAa,EAAE,CAAU;iBACzB,CAAC,CAAA;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,CAAC,6BAA6B;QACnC,OAAO,IAAI,sBAAW,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAA;IAC9D,CAAC;IAGD,MAAM,CAAC,aAAa;QACnB,OAAO,IAAI,sBAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;CACF;AA/BD,8CA+BC;AAED,IAAA,mBAAW,EAAC,iBAAiB,EAAE;IAC9B,0BAAe;IACf,sBAAW;CACX,CAAC,CAAA;AAEF,IAAA,kBAAU,EAAC,iBAAiB,EAAE;IAC7B,kBAAkB;IAClB,kBAAkB;CAClB,CAAC,CAAA"}
|
package/dist/encoders/index.d.ts
CHANGED
|
@@ -22,4 +22,6 @@ export * from './DskDeviceCommands';
|
|
|
22
22
|
export * from './OpenCloseSensorCommands';
|
|
23
23
|
export * from './ButtonCommands';
|
|
24
24
|
export * from './Relay16DryCommands';
|
|
25
|
+
export * from './HTPirLiteCommands';
|
|
26
|
+
export * from './Co2PirLiteCommands';
|
|
25
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/encoders/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/encoders/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
|
package/dist/encoders/index.js
CHANGED
|
@@ -38,4 +38,6 @@ __exportStar(require("./DskDeviceCommands"), exports);
|
|
|
38
38
|
__exportStar(require("./OpenCloseSensorCommands"), exports);
|
|
39
39
|
__exportStar(require("./ButtonCommands"), exports);
|
|
40
40
|
__exportStar(require("./Relay16DryCommands"), exports);
|
|
41
|
+
__exportStar(require("./HTPirLiteCommands"), exports);
|
|
42
|
+
__exportStar(require("./Co2PirLiteCommands"), exports);
|
|
41
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/encoders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,gDAA6B;AAC7B,oDAAiC;AACjC,oDAAiC;AACjC,8DAA2C;AAC3C,gDAA6B;AAC7B,sDAAmC;AACnC,sDAAmC;AACnC,0DAAuC;AACvC,qDAAkC;AAClC,kDAA+B;AAC/B,oDAAiC;AACjC,8DAA2C;AAC3C,mDAAgC;AAChC,mDAAgC;AAChC,4DAAyC;AACzC,sDAAmC;AACnC,+DAA4C;AAC5C,2DAAwC;AACxC,uDAAoC;AACpC,sDAAmC;AACnC,4DAAyC;AACzC,mDAAgC;AAChC,uDAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/encoders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,gDAA6B;AAC7B,oDAAiC;AACjC,oDAAiC;AACjC,8DAA2C;AAC3C,gDAA6B;AAC7B,sDAAmC;AACnC,sDAAmC;AACnC,0DAAuC;AACvC,qDAAkC;AAClC,kDAA+B;AAC/B,oDAAiC;AACjC,8DAA2C;AAC3C,mDAAgC;AAChC,mDAAgC;AAChC,4DAAyC;AACzC,sDAAmC;AACnC,+DAA4C;AAC5C,2DAAwC;AACxC,uDAAoC;AACpC,sDAAmC;AACnC,4DAAyC;AACzC,mDAAgC;AAChC,uDAAoC;AACpC,sDAAmC;AACnC,uDAAoC"}
|