zigbee-herdsman-converters 24.13.0 → 25.0.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 +54 -0
- package/README.md +6 -0
- package/dist/converters/fromZigbee.d.ts +1 -0
- package/dist/converters/fromZigbee.d.ts.map +1 -1
- package/dist/converters/fromZigbee.js +19 -7
- package/dist/converters/fromZigbee.js.map +1 -1
- package/dist/converters/toZigbee.js +2 -2
- package/dist/converters/toZigbee.js.map +1 -1
- package/dist/devices/adeo.d.ts.map +1 -1
- package/dist/devices/adeo.js +1 -7
- package/dist/devices/adeo.js.map +1 -1
- package/dist/devices/adurosmart.d.ts.map +1 -1
- package/dist/devices/adurosmart.js +7 -0
- package/dist/devices/adurosmart.js.map +1 -1
- package/dist/devices/amina.d.ts.map +1 -1
- package/dist/devices/amina.js +22 -12
- package/dist/devices/amina.js.map +1 -1
- package/dist/devices/aurora_lighting.js +3 -3
- package/dist/devices/aurora_lighting.js.map +1 -1
- package/dist/devices/avatto.d.ts.map +1 -1
- package/dist/devices/avatto.js +2 -12
- package/dist/devices/avatto.js.map +1 -1
- package/dist/devices/busch_jaeger.d.ts.map +1 -1
- package/dist/devices/busch_jaeger.js +20 -20
- package/dist/devices/busch_jaeger.js.map +1 -1
- package/dist/devices/centralite.d.ts.map +1 -1
- package/dist/devices/centralite.js +1 -15
- package/dist/devices/centralite.js.map +1 -1
- package/dist/devices/danfoss.d.ts.map +1 -1
- package/dist/devices/danfoss.js +14 -21
- package/dist/devices/danfoss.js.map +1 -1
- package/dist/devices/datek.d.ts.map +1 -1
- package/dist/devices/datek.js +10 -11
- package/dist/devices/datek.js.map +1 -1
- package/dist/devices/develco.d.ts.map +1 -1
- package/dist/devices/develco.js +13 -23
- package/dist/devices/develco.js.map +1 -1
- package/dist/devices/engo.d.ts.map +1 -1
- package/dist/devices/engo.js +2 -8
- package/dist/devices/engo.js.map +1 -1
- package/dist/devices/evanell.d.ts.map +1 -1
- package/dist/devices/evanell.js +1 -6
- package/dist/devices/evanell.js.map +1 -1
- package/dist/devices/ewelink.js +3 -3
- package/dist/devices/ewelink.js.map +1 -1
- package/dist/devices/fantem.d.ts.map +1 -1
- package/dist/devices/fantem.js +1 -7
- package/dist/devices/fantem.js.map +1 -1
- package/dist/devices/feibit.d.ts.map +1 -1
- package/dist/devices/feibit.js +1 -6
- package/dist/devices/feibit.js.map +1 -1
- package/dist/devices/futurehome.d.ts +1 -1
- package/dist/devices/futurehome.d.ts.map +1 -1
- package/dist/devices/futurehome.js +1 -4
- package/dist/devices/futurehome.js.map +1 -1
- package/dist/devices/giex.js +1 -1
- package/dist/devices/giex.js.map +1 -1
- package/dist/devices/gledopto.d.ts.map +1 -1
- package/dist/devices/gledopto.js +9 -17
- package/dist/devices/gledopto.js.map +1 -1
- package/dist/devices/gmmts.d.ts.map +1 -1
- package/dist/devices/gmmts.js +45 -74
- package/dist/devices/gmmts.js.map +1 -1
- package/dist/devices/heiman.d.ts.map +1 -1
- package/dist/devices/heiman.js +2 -9
- package/dist/devices/heiman.js.map +1 -1
- package/dist/devices/hive.d.ts.map +1 -1
- package/dist/devices/hive.js +9 -29
- package/dist/devices/hive.js.map +1 -1
- package/dist/devices/immax.js +1 -1
- package/dist/devices/immax.js.map +1 -1
- package/dist/devices/inovelli.d.ts.map +1 -1
- package/dist/devices/inovelli.js +2 -1
- package/dist/devices/inovelli.js.map +1 -1
- package/dist/devices/legrand.d.ts.map +1 -1
- package/dist/devices/legrand.js +10 -22
- package/dist/devices/legrand.js.map +1 -1
- package/dist/devices/lellki.d.ts.map +1 -1
- package/dist/devices/lellki.js +9 -8
- package/dist/devices/lellki.js.map +1 -1
- package/dist/devices/lidl.d.ts.map +1 -1
- package/dist/devices/lidl.js +14 -15
- package/dist/devices/lidl.js.map +1 -1
- package/dist/devices/lifecontrol.d.ts.map +1 -1
- package/dist/devices/lifecontrol.js +9 -21
- package/dist/devices/lifecontrol.js.map +1 -1
- package/dist/devices/lincukoo.d.ts.map +1 -1
- package/dist/devices/lincukoo.js +6 -24
- package/dist/devices/lincukoo.js.map +1 -1
- package/dist/devices/linkind.d.ts.map +1 -1
- package/dist/devices/linkind.js +2 -22
- package/dist/devices/linkind.js.map +1 -1
- package/dist/devices/linptech.js +5 -5
- package/dist/devices/linptech.js.map +1 -1
- package/dist/devices/livolo.d.ts.map +1 -1
- package/dist/devices/livolo.js +94 -249
- package/dist/devices/livolo.js.map +1 -1
- package/dist/devices/lixee.d.ts.map +1 -1
- package/dist/devices/lixee.js +38 -51
- package/dist/devices/lixee.js.map +1 -1
- package/dist/devices/lumi.d.ts.map +1 -1
- package/dist/devices/lumi.js +21 -62
- package/dist/devices/lumi.js.map +1 -1
- package/dist/devices/mazda.d.ts.map +1 -1
- package/dist/devices/mazda.js +1 -4
- package/dist/devices/mazda.js.map +1 -1
- package/dist/devices/mindy.d.ts.map +1 -1
- package/dist/devices/mindy.js +13 -18
- package/dist/devices/mindy.js.map +1 -1
- package/dist/devices/moes.d.ts.map +1 -1
- package/dist/devices/moes.js +24 -60
- package/dist/devices/moes.js.map +1 -1
- package/dist/devices/namron.d.ts.map +1 -1
- package/dist/devices/namron.js +17 -59
- package/dist/devices/namron.js.map +1 -1
- package/dist/devices/neo.d.ts.map +1 -1
- package/dist/devices/neo.js +7 -34
- package/dist/devices/neo.js.map +1 -1
- package/dist/devices/nous.d.ts.map +1 -1
- package/dist/devices/nous.js +2 -6
- package/dist/devices/nous.js.map +1 -1
- package/dist/devices/onesti.d.ts +1 -1
- package/dist/devices/onesti.d.ts.map +1 -1
- package/dist/devices/onesti.js.map +1 -1
- package/dist/devices/orvibo.d.ts.map +1 -1
- package/dist/devices/orvibo.js +5 -4
- package/dist/devices/orvibo.js.map +1 -1
- package/dist/devices/orztech.d.ts.map +1 -1
- package/dist/devices/orztech.js +5 -20
- package/dist/devices/orztech.js.map +1 -1
- package/dist/devices/osram.d.ts.map +1 -1
- package/dist/devices/osram.js +6 -4
- package/dist/devices/osram.js.map +1 -1
- package/dist/devices/philips.d.ts.map +1 -1
- package/dist/devices/philips.js +7 -0
- package/dist/devices/philips.js.map +1 -1
- package/dist/devices/profalux.d.ts.map +1 -1
- package/dist/devices/profalux.js +20 -16
- package/dist/devices/profalux.js.map +1 -1
- package/dist/devices/rtx.js +1 -1
- package/dist/devices/rtx.js.map +1 -1
- package/dist/devices/saswell.d.ts.map +1 -1
- package/dist/devices/saswell.js +1 -6
- package/dist/devices/saswell.js.map +1 -1
- package/dist/devices/schneider_electric.d.ts.map +1 -1
- package/dist/devices/schneider_electric.js +15 -12
- package/dist/devices/schneider_electric.js.map +1 -1
- package/dist/devices/senoro.d.ts.map +1 -1
- package/dist/devices/senoro.js +1 -4
- package/dist/devices/senoro.js.map +1 -1
- package/dist/devices/shinasystem.d.ts.map +1 -1
- package/dist/devices/shinasystem.js +83 -21
- package/dist/devices/shinasystem.js.map +1 -1
- package/dist/devices/sinope.d.ts.map +1 -1
- package/dist/devices/sinope.js +14 -4
- package/dist/devices/sinope.js.map +1 -1
- package/dist/devices/smart9.d.ts.map +1 -1
- package/dist/devices/smart9.js +2 -7
- package/dist/devices/smart9.js.map +1 -1
- package/dist/devices/sonoff.d.ts.map +1 -1
- package/dist/devices/sonoff.js +1 -0
- package/dist/devices/sonoff.js.map +1 -1
- package/dist/devices/sunricher.d.ts.map +1 -1
- package/dist/devices/sunricher.js +4 -27
- package/dist/devices/sunricher.js.map +1 -1
- package/dist/devices/tech.d.ts.map +1 -1
- package/dist/devices/tech.js +2 -8
- package/dist/devices/tech.js.map +1 -1
- package/dist/devices/technicolor.d.ts.map +1 -1
- package/dist/devices/technicolor.js +2 -15
- package/dist/devices/technicolor.js.map +1 -1
- package/dist/devices/tuya.d.ts.map +1 -1
- package/dist/devices/tuya.js +193 -409
- package/dist/devices/tuya.js.map +1 -1
- package/dist/devices/ubisys.d.ts.map +1 -1
- package/dist/devices/ubisys.js +31 -52
- package/dist/devices/ubisys.js.map +1 -1
- package/dist/devices/universal_electronics_inc.d.ts.map +1 -1
- package/dist/devices/universal_electronics_inc.js +3 -29
- package/dist/devices/universal_electronics_inc.js.map +1 -1
- package/dist/devices/vesternet.d.ts.map +1 -1
- package/dist/devices/vesternet.js +4 -1
- package/dist/devices/vesternet.js.map +1 -1
- package/dist/devices/weiser.d.ts.map +1 -1
- package/dist/devices/weiser.js +3 -48
- package/dist/devices/weiser.js.map +1 -1
- package/dist/devices/woox.d.ts.map +1 -1
- package/dist/devices/woox.js +2 -3
- package/dist/devices/woox.js.map +1 -1
- package/dist/devices/yale.d.ts +1 -1
- package/dist/devices/yale.d.ts.map +1 -1
- package/dist/devices/yale.js.map +1 -1
- package/dist/devices/yandex.d.ts.map +1 -1
- package/dist/devices/yandex.js +4 -4
- package/dist/devices/yandex.js.map +1 -1
- package/dist/devices/zemismart.d.ts.map +1 -1
- package/dist/devices/zemismart.js +8 -23
- package/dist/devices/zemismart.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -7
- package/dist/index.js.map +1 -1
- package/dist/lib/develco.d.ts.map +1 -1
- package/dist/lib/develco.js +0 -2
- package/dist/lib/develco.js.map +1 -1
- package/dist/lib/ikea.d.ts.map +1 -1
- package/dist/lib/ikea.js +3 -2
- package/dist/lib/ikea.js.map +1 -1
- package/dist/lib/ledvance.js +1 -1
- package/dist/lib/ledvance.js.map +1 -1
- package/dist/lib/legrand.d.ts +6 -1
- package/dist/lib/legrand.d.ts.map +1 -1
- package/dist/lib/legrand.js +14 -3
- package/dist/lib/legrand.js.map +1 -1
- package/dist/lib/lumi.d.ts +1 -0
- package/dist/lib/lumi.d.ts.map +1 -1
- package/dist/lib/lumi.js +72 -18
- package/dist/lib/lumi.js.map +1 -1
- package/dist/lib/modernExtend.d.ts +14 -1
- package/dist/lib/modernExtend.d.ts.map +1 -1
- package/dist/lib/modernExtend.js +108 -14
- package/dist/lib/modernExtend.js.map +1 -1
- package/dist/lib/store.d.ts +4 -4
- package/dist/lib/store.d.ts.map +1 -1
- package/dist/lib/store.js +3 -0
- package/dist/lib/store.js.map +1 -1
- package/dist/lib/tuya.d.ts +18 -18
- package/dist/lib/tuya.d.ts.map +1 -1
- package/dist/lib/tuya.js +142 -155
- package/dist/lib/tuya.js.map +1 -1
- package/dist/lib/types.d.ts +31 -15
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/ubisys.d.ts +2 -1
- package/dist/lib/ubisys.d.ts.map +1 -1
- package/dist/lib/ubisys.js +46 -0
- package/dist/lib/ubisys.js.map +1 -1
- package/dist/lib/utils.d.ts +1 -2
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +0 -30
- package/dist/lib/utils.js.map +1 -1
- package/dist/models-index.json +1 -1
- package/package.json +3 -3
package/dist/lib/lumi.js
CHANGED
|
@@ -1809,16 +1809,13 @@ exports.lumiModernExtend = {
|
|
|
1809
1809
|
...args,
|
|
1810
1810
|
}),
|
|
1811
1811
|
lumiPreventReset: () => {
|
|
1812
|
-
const
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
data.type !== "attributeReport" ||
|
|
1818
|
-
data.cluster !== "genBasic" ||
|
|
1819
|
-
!data.data[0xfff0] ||
|
|
1812
|
+
const converter = {
|
|
1813
|
+
cluster: "genBasic",
|
|
1814
|
+
type: ["attributeReport"],
|
|
1815
|
+
convert: (model, msg, publish, options, meta) => {
|
|
1816
|
+
if (!msg.data[0xfff0] ||
|
|
1820
1817
|
// eg: [0xaa, 0x10, 0x05, 0x41, 0x87, 0x01, 0x01, 0x10, 0x00]
|
|
1821
|
-
!
|
|
1818
|
+
!msg.data[0xfff0].slice(0, 5).equals(node_buffer_1.Buffer.from([0xaa, 0x10, 0x05, 0x41, 0x87]))) {
|
|
1822
1819
|
return;
|
|
1823
1820
|
}
|
|
1824
1821
|
const payload = {
|
|
@@ -1827,10 +1824,13 @@ exports.lumiModernExtend = {
|
|
|
1827
1824
|
type: 0x41,
|
|
1828
1825
|
},
|
|
1829
1826
|
};
|
|
1830
|
-
|
|
1827
|
+
msg.device
|
|
1828
|
+
.getEndpoint(1)
|
|
1829
|
+
.write("genBasic", payload, { manufacturerCode: exports.manufacturerCode })
|
|
1830
|
+
.catch((error) => logger_1.logger.error(`Failed to prevent reset of '${msg.device.ieeeAddr}' (${error})`, NS));
|
|
1831
1831
|
},
|
|
1832
|
-
|
|
1833
|
-
return {
|
|
1832
|
+
};
|
|
1833
|
+
return { fromZigbee: [converter], isModernExtend: true };
|
|
1834
1834
|
},
|
|
1835
1835
|
lumiClickMode: (args) => modernExtend.enumLookup({
|
|
1836
1836
|
name: "click_mode",
|
|
@@ -2189,20 +2189,25 @@ exports.lumiModernExtend = {
|
|
|
2189
2189
|
...args,
|
|
2190
2190
|
}),
|
|
2191
2191
|
lumiPreventLeave: () => {
|
|
2192
|
-
const
|
|
2193
|
-
|
|
2194
|
-
|
|
2192
|
+
const converter = {
|
|
2193
|
+
cluster: "manuSpecificLumi",
|
|
2194
|
+
type: ["attributeReport"],
|
|
2195
|
+
convert: (model, msg, publish, options, meta) => {
|
|
2196
|
+
if (msg.cluster === "manuSpecificLumi" && msg.data[0x00fc] === false) {
|
|
2195
2197
|
const payload = {
|
|
2196
2198
|
[0x00fc]: {
|
|
2197
2199
|
value: true,
|
|
2198
2200
|
type: 0x10,
|
|
2199
2201
|
},
|
|
2200
2202
|
};
|
|
2201
|
-
|
|
2203
|
+
msg.device
|
|
2204
|
+
.getEndpoint(1)
|
|
2205
|
+
.write("manuSpecificLumi", payload, { manufacturerCode: exports.manufacturerCode })
|
|
2206
|
+
.catch((error) => logger_1.logger.error(`Failed to prevent leave of '${msg.device.ieeeAddr}' (${error})`, NS));
|
|
2202
2207
|
}
|
|
2203
2208
|
},
|
|
2204
|
-
|
|
2205
|
-
return {
|
|
2209
|
+
};
|
|
2210
|
+
return { fromZigbee: [converter], isModernExtend: true };
|
|
2206
2211
|
},
|
|
2207
2212
|
lumiExternalSensor: () => {
|
|
2208
2213
|
return {
|
|
@@ -2412,6 +2417,55 @@ exports.lumiModernExtend = {
|
|
|
2412
2417
|
],
|
|
2413
2418
|
};
|
|
2414
2419
|
},
|
|
2420
|
+
lumiReadPositionOnReport: (type) => {
|
|
2421
|
+
let converter;
|
|
2422
|
+
if (type === "genAnalogOutput") {
|
|
2423
|
+
converter = {
|
|
2424
|
+
cluster: "genAnalogOutput",
|
|
2425
|
+
type: ["attributeReport"],
|
|
2426
|
+
convert: (model, msg, publish, options, meta) => {
|
|
2427
|
+
// The position (genAnalogOutput.presentValue) reported via an attribute contains an invalid value
|
|
2428
|
+
// however when reading it will provide the correct value.
|
|
2429
|
+
msg.device.endpoints[0]
|
|
2430
|
+
.read("genAnalogOutput", ["presentValue"])
|
|
2431
|
+
.catch((error) => logger_1.logger.error(`Failed to read position '${msg.device.ieeeAddr}' (${error})`, NS));
|
|
2432
|
+
},
|
|
2433
|
+
};
|
|
2434
|
+
}
|
|
2435
|
+
else if (type === "genMultistateOutput") {
|
|
2436
|
+
converter = {
|
|
2437
|
+
cluster: "genMultistateOutput",
|
|
2438
|
+
type: ["attributeReport"],
|
|
2439
|
+
convert: (model, msg, publish, options, meta) => {
|
|
2440
|
+
if (msg.data.presentValue !== undefined && msg.data.presentValue > 1) {
|
|
2441
|
+
// Try to read the position after the motor stops, the device occasionally report wrong data right after stopping
|
|
2442
|
+
// Might need to add delay, seems to be working without one but needs more tests.
|
|
2443
|
+
msg.device
|
|
2444
|
+
.getEndpoint(1)
|
|
2445
|
+
.read("genAnalogOutput", ["presentValue"])
|
|
2446
|
+
.catch((error) => logger_1.logger.error(`Failed to read position '${msg.device.ieeeAddr}' (${error})`, NS));
|
|
2447
|
+
}
|
|
2448
|
+
},
|
|
2449
|
+
};
|
|
2450
|
+
}
|
|
2451
|
+
else if (type === "genBasic") {
|
|
2452
|
+
converter = {
|
|
2453
|
+
cluster: "genBasic",
|
|
2454
|
+
type: ["attributeReport"],
|
|
2455
|
+
convert: (model, msg, publish, options, meta) => {
|
|
2456
|
+
if (msg.data["1028"] === 0) {
|
|
2457
|
+
// Try to read the position after the motor stops, the device occasionally report wrong data right after stopping
|
|
2458
|
+
// Might need to add delay, seems to be working without one but needs more tests.
|
|
2459
|
+
msg.device
|
|
2460
|
+
.getEndpoint(1)
|
|
2461
|
+
.read("genAnalogOutput", ["presentValue"])
|
|
2462
|
+
.catch((error) => logger_1.logger.error(`Failed to read position '${msg.device.ieeeAddr}' (${error})`, NS));
|
|
2463
|
+
}
|
|
2464
|
+
},
|
|
2465
|
+
};
|
|
2466
|
+
}
|
|
2467
|
+
return { fromZigbee: [converter], isModernExtend: true };
|
|
2468
|
+
},
|
|
2415
2469
|
};
|
|
2416
2470
|
exports.modernExtend = exports.lumiModernExtend;
|
|
2417
2471
|
const feederDaysLookup = {
|