zigbee-herdsman-converters 24.12.0 → 24.13.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 +17 -0
- 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/moes.d.ts.map +1 -1
- package/dist/devices/moes.js +384 -7
- package/dist/devices/moes.js.map +1 -1
- package/dist/devices/philips.d.ts.map +1 -1
- package/dist/devices/philips.js +16 -2
- package/dist/devices/philips.js.map +1 -1
- package/dist/devices/simpla_home.d.ts +7 -0
- package/dist/devices/simpla_home.d.ts.map +1 -0
- package/dist/devices/simpla_home.js +114 -0
- package/dist/devices/simpla_home.js.map +1 -0
- package/dist/devices/tuya.d.ts.map +1 -1
- package/dist/devices/tuya.js +21 -1
- package/dist/devices/tuya.js.map +1 -1
- package/dist/models-index.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as m from "../lib/modernExtend";
|
|
2
|
+
import type { DefinitionWithExtend, ModernExtend } from "../lib/types";
|
|
3
|
+
export declare const simplaHomeModernExtend: {
|
|
4
|
+
measurementInterval: (args?: Partial<m.NumericArgs>) => ModernExtend;
|
|
5
|
+
};
|
|
6
|
+
export declare const definitions: DefinitionWithExtend[];
|
|
7
|
+
//# sourceMappingURL=simpla_home.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpla_home.d.ts","sourceRoot":"","sources":["../../src/devices/simpla_home.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,qBAAqB,CAAC;AACzC,OAAO,KAAK,EAAC,oBAAoB,EAAU,YAAY,EAAC,MAAM,cAAc,CAAC;AAM7E,eAAO,MAAM,sBAAsB;iCACF,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;CA8BtD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,EA6C7C,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.definitions = exports.simplaHomeModernExtend = void 0;
|
|
37
|
+
const m = __importStar(require("../lib/modernExtend"));
|
|
38
|
+
const utils = __importStar(require("../lib/utils"));
|
|
39
|
+
const measurementIntervalMin = 5;
|
|
40
|
+
const measurementIntervalMax = 4 * 60 * 60;
|
|
41
|
+
exports.simplaHomeModernExtend = {
|
|
42
|
+
measurementInterval: (args) => {
|
|
43
|
+
const resultName = "measurement_interval";
|
|
44
|
+
const resultUnit = "s";
|
|
45
|
+
const resultDescription = "Defines how often the device performs measurements";
|
|
46
|
+
const result = m.numeric({
|
|
47
|
+
name: resultName,
|
|
48
|
+
access: "ALL",
|
|
49
|
+
unit: resultUnit,
|
|
50
|
+
cluster: "genAnalogOutput",
|
|
51
|
+
attribute: "presentValue",
|
|
52
|
+
scale: 1,
|
|
53
|
+
valueMin: measurementIntervalMin,
|
|
54
|
+
valueMax: measurementIntervalMax,
|
|
55
|
+
description: resultDescription,
|
|
56
|
+
...args,
|
|
57
|
+
});
|
|
58
|
+
// exposes is dynamic based on fw version
|
|
59
|
+
result.exposes = [
|
|
60
|
+
(device) => {
|
|
61
|
+
if (!utils.isDummyDevice(device) && device.softwareBuildID && Number(`0x${device?.softwareBuildID}`) > 0x01010101) {
|
|
62
|
+
return result.exposes;
|
|
63
|
+
}
|
|
64
|
+
return [];
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
return result;
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
exports.definitions = [
|
|
71
|
+
{
|
|
72
|
+
zigbeeModel: ["Soil Pro"],
|
|
73
|
+
model: "Soil Pro",
|
|
74
|
+
vendor: "Simpla Home",
|
|
75
|
+
description: "Soil Pro",
|
|
76
|
+
extend: [
|
|
77
|
+
m.deviceEndpoints({ endpoints: { "1": 1, z1_top: 2, z2_bottom: 3 } }),
|
|
78
|
+
m.identify(),
|
|
79
|
+
m.temperature({
|
|
80
|
+
// the device allows to set the internal measurement interval in the specified range
|
|
81
|
+
// the Min/Max reporting interval needs to be aligned in order to synchronize the
|
|
82
|
+
// value reporting interval to the measurements
|
|
83
|
+
reporting: { min: measurementIntervalMin, max: measurementIntervalMax, change: 10 },
|
|
84
|
+
}),
|
|
85
|
+
m.soilMoisture({
|
|
86
|
+
description: "Soil Moisture of Zone 1 (Top Zone)",
|
|
87
|
+
endpointNames: ["z1_top"],
|
|
88
|
+
reporting: { min: measurementIntervalMin, max: measurementIntervalMax, change: 100 },
|
|
89
|
+
}),
|
|
90
|
+
m.soilMoisture({
|
|
91
|
+
description: "Soil Moisture of Zone 2 (Bottom Zone)",
|
|
92
|
+
endpointNames: ["z2_bottom"],
|
|
93
|
+
reporting: { min: measurementIntervalMin, max: measurementIntervalMax, change: 100 },
|
|
94
|
+
}),
|
|
95
|
+
m.battery(),
|
|
96
|
+
exports.simplaHomeModernExtend.measurementInterval(),
|
|
97
|
+
m.illuminance({
|
|
98
|
+
reporting: { min: measurementIntervalMin, max: measurementIntervalMax, change: 5 },
|
|
99
|
+
}),
|
|
100
|
+
],
|
|
101
|
+
configure: async (device, coordinatorEndpoint, logger) => {
|
|
102
|
+
const endpointId = device.getEndpoint(1);
|
|
103
|
+
await endpointId.read("genBasic", ["swBuildId"]);
|
|
104
|
+
if (Number(`0x${device?.softwareBuildID}`) > 0x01010101) {
|
|
105
|
+
const endpointAnalogOutput = device.getEndpoint(2);
|
|
106
|
+
await endpointAnalogOutput.bind("genAnalogOutput", coordinatorEndpoint);
|
|
107
|
+
await endpointAnalogOutput.read("genAnalogOutput", ["presentValue"]);
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
meta: { multiEndpoint: true },
|
|
111
|
+
ota: true,
|
|
112
|
+
},
|
|
113
|
+
];
|
|
114
|
+
//# sourceMappingURL=simpla_home.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simpla_home.js","sourceRoot":"","sources":["../../src/devices/simpla_home.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuya.d.ts","sourceRoot":"","sources":["../../src/devices/tuya.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAC,oBAAoB,EAA4D,MAAM,cAAc,CAAC;AA+3BlH,eAAO,MAAM,WAAW,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"tuya.d.ts","sourceRoot":"","sources":["../../src/devices/tuya.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAC,oBAAoB,EAA4D,MAAM,cAAc,CAAC;AA+3BlH,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAy0iB7C,CAAC"}
|
package/dist/devices/tuya.js
CHANGED
|
@@ -1260,6 +1260,7 @@ exports.definitions = [
|
|
|
1260
1260
|
"_TZE284_d7lpruvi",
|
|
1261
1261
|
"_TZE284_upagmta9",
|
|
1262
1262
|
"_TZE204_1wnh8bqp",
|
|
1263
|
+
"_TZE284_1wnh8bqp",
|
|
1263
1264
|
]),
|
|
1264
1265
|
model: "TS0601_temperature_humidity_sensor_2",
|
|
1265
1266
|
vendor: "Tuya",
|
|
@@ -4675,6 +4676,7 @@ exports.definitions = [
|
|
|
4675
4676
|
"_TZE200_7shyddj3",
|
|
4676
4677
|
"_TZE204_a2jcoyuk",
|
|
4677
4678
|
"_TZE204_zuq5xxib",
|
|
4679
|
+
"_TZE200_ba69l9ol",
|
|
4678
4680
|
]),
|
|
4679
4681
|
...tuya.fingerprint("zo2pocs\u0000", ["_TYST11_fzo2pocs"]),
|
|
4680
4682
|
...tuya.fingerprint("dank5zs\u0000", ["_TYST11_udank5zs"]),
|
|
@@ -14255,7 +14257,7 @@ exports.definitions = [
|
|
|
14255
14257
|
],
|
|
14256
14258
|
},
|
|
14257
14259
|
{
|
|
14258
|
-
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_kobbcyum", "_TZE284_kobbcyum", "_TZE284_hecsejsb"]),
|
|
14260
|
+
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_kobbcyum", "_TZE284_kobbcyum", "_TZE284_hecsejsb", "_TZE284_432zhuwe"]),
|
|
14259
14261
|
model: "TOWSMR1",
|
|
14260
14262
|
vendor: "Tongou",
|
|
14261
14263
|
description: "Single-phase multifunction RCBO (DIN Module)",
|
|
@@ -14266,6 +14268,7 @@ exports.definitions = [
|
|
|
14266
14268
|
// Required to get the device to start reporting
|
|
14267
14269
|
await device.getEndpoint(1).command("manuSpecificTuya", "dataQuery", {});
|
|
14268
14270
|
},
|
|
14271
|
+
whiteLabel: [tuya.whitelabel("Tongou", "TOSA1", "Single-phase multifunction RCBO (DIN Module)", ["_TZE284_432zhuwe"])],
|
|
14269
14272
|
exposes: [
|
|
14270
14273
|
tuya.exposes.switch(),
|
|
14271
14274
|
e.temperature(),
|
|
@@ -14348,6 +14351,18 @@ exports.definitions = [
|
|
|
14348
14351
|
.withLabel("Auto reclosing")
|
|
14349
14352
|
.withDescription("When the circuit breaker trips due to voltage protection, it will automatically close when the circuit voltage returns to normal"),
|
|
14350
14353
|
e.binary("restore_default", ea.STATE_SET, "ON", "OFF").withDescription("Turn ON to restore default settings"),
|
|
14354
|
+
e
|
|
14355
|
+
.binary("overcurrent_recloser", ea.STATE_SET, "ON", "OFF")
|
|
14356
|
+
.withLabel("Overcurrent Recloser")
|
|
14357
|
+
.withDescription("When the circuit breaker trips due to overcurrent protection, it will automatically close when the circuit voltage returns to normal"),
|
|
14358
|
+
e
|
|
14359
|
+
.binary("leakage_recloser", ea.STATE_SET, "ON", "OFF")
|
|
14360
|
+
.withLabel("Leakage Recloser")
|
|
14361
|
+
.withDescription("When the circuit breaker trips due to leakage protection, it will automatically close when the circuit voltage returns to normal"),
|
|
14362
|
+
e
|
|
14363
|
+
.binary("overpower_recloser", ea.STATE_SET, "ON", "OFF")
|
|
14364
|
+
.withLabel("Overpower Recloser")
|
|
14365
|
+
.withDescription("When the circuit breaker trips due to overpower protection, it will automatically close when the circuit voltage returns to normal"),
|
|
14351
14366
|
],
|
|
14352
14367
|
meta: {
|
|
14353
14368
|
tuyaDatapoints: [
|
|
@@ -14447,6 +14462,11 @@ exports.definitions = [
|
|
|
14447
14462
|
[118, "temperature_threshold", tuya.valueConverter.divideBy10],
|
|
14448
14463
|
[119, "over_power_threshold", tuya.valueConverter.raw],
|
|
14449
14464
|
[131, "temperature", tuya.valueConverter.divideBy10],
|
|
14465
|
+
// The ones below might only work for _TZE284_432zhuwe
|
|
14466
|
+
// https://github.com/Koenkk/zigbee-herdsman-converters/pull/9747
|
|
14467
|
+
[143, "overcurrent_recloser", tuya.valueConverter.onOff],
|
|
14468
|
+
[144, "leakage_recloser", tuya.valueConverter.onOff],
|
|
14469
|
+
[145, "overpower_recloser", tuya.valueConverter.onOff],
|
|
14450
14470
|
],
|
|
14451
14471
|
},
|
|
14452
14472
|
onEvent: tuya.onEvent({
|