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.
@@ -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,EA+yiB7C,CAAC"}
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"}
@@ -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({