zigbee-herdsman-converters 15.25.0 → 15.27.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 +33 -0
- package/README.md +1 -1
- package/converters/fromZigbee.d.ts.map +1 -1
- package/converters/fromZigbee.js +51 -17
- package/converters/fromZigbee.js.map +1 -1
- package/devices/alecto.js +4 -2
- package/devices/alecto.js.map +1 -1
- package/devices/custom_devices_diy.js +14 -12
- package/devices/custom_devices_diy.js.map +1 -1
- package/devices/legrand.d.ts +106 -0
- package/devices/legrand.js +2 -0
- package/devices/legrand.js.map +1 -1
- package/devices/namron.js +21 -0
- package/devices/namron.js.map +1 -1
- package/devices/rtx.js +1 -1
- package/devices/terncy.js +8 -0
- package/devices/terncy.js.map +1 -1
- package/devices/tuya.js +70 -6
- package/devices/tuya.js.map +1 -1
- package/lib/legacy.js +4 -4
- package/lib/legacy.js.map +1 -1
- package/lib/ota/zigbeeOTA.js +2 -2
- package/lib/ota/zigbeeOTA.js.map +1 -1
- package/lib/tuya.d.ts.map +1 -1
- package/lib/tuya.js +3 -2
- package/lib/tuya.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [15.27.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v15.26.0...v15.27.0) (2023-06-20)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* Support OTA for Legrand 067771 and 067772 ([#5899](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5899)) ([bcd4a14](https://github.com/Koenkk/zigbee-herdsman-converters/commit/bcd4a1482b5555bf75ea58feccc857d0ce99afbc))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **detect:** Detect `_TZE200_qtbrwrfv` as Alecto SMART-SMOKE10. https://github.com/Koenkk/zigbee-herdsman-converters/issues/5900 ([79cf184](https://github.com/Koenkk/zigbee-herdsman-converters/commit/79cf184a463a9656952cf27aea4b264d1834eba0))
|
|
14
|
+
* Fix invalid thermostat value handling ([#5892](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5892)) ([13d7016](https://github.com/Koenkk/zigbee-herdsman-converters/commit/13d7016fc05d297ec4bd03c9a80524a0c266c53e))
|
|
15
|
+
* **ignore:** Fix TuYa clock sync not working. https://github.com/Koenkk/zigbee2mqtt/issues/18002 ([05defde](https://github.com/Koenkk/zigbee-herdsman-converters/commit/05defded905f4e644380c0a8558136c107032e6d))
|
|
16
|
+
|
|
17
|
+
## [15.26.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v15.25.0...v15.26.0) (2023-06-19)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **add:** 4512749-N ([#5895](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5895)) ([27357cd](https://github.com/Koenkk/zigbee-herdsman-converters/commit/27357cd8b114e0414ad30d4d42038b8ed1d7c5a1))
|
|
23
|
+
* **add:** CL001 ([#5893](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5893)) ([c077311](https://github.com/Koenkk/zigbee-herdsman-converters/commit/c07731147cda18f2675386603c36a8af6137db8a))
|
|
24
|
+
* **add:** TS0001_fingerbot ([#5883](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5883)) ([f9be764](https://github.com/Koenkk/zigbee-herdsman-converters/commit/f9be7640d9b676cc0c87565b9bc756b34d4f71be))
|
|
25
|
+
* **add:** TS0002_switch_module_3 ([#5889](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5889)) ([eea6d94](https://github.com/Koenkk/zigbee-herdsman-converters/commit/eea6d94047a3f6d87e3061374ba5b558b4361192))
|
|
26
|
+
* **detect:** Detect `_TZE200_44af8vyi` as TuYa TS0601_temperature_humidity_sensor_1. https://github.com/Koenkk/zigbee2mqtt/issues/18057 ([87b1217](https://github.com/Koenkk/zigbee-herdsman-converters/commit/87b12172e769cfe605a3259eb4e31b4cfeb5233c))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* Fix `ptvo.switch` not working ([#5894](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5894)) ([bd16a15](https://github.com/Koenkk/zigbee-herdsman-converters/commit/bd16a15ee725de76693f795637dbb1624fb055fe))
|
|
32
|
+
* **ignore:** Fix zigbee OTA. https://github.com/Koenkk/zigbee2mqtt/issues/18060 ([cd321fb](https://github.com/Koenkk/zigbee-herdsman-converters/commit/cd321fb6d27e195cfabd2f437e036faadb194a1c))
|
|
33
|
+
* Rename ZY-M100-S to ZY-M100-L and TS0601_smart_human_presence_sensor_2 to ZY-M100-S ([#5891](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5891)) ([d575cdf](https://github.com/Koenkk/zigbee-herdsman-converters/commit/d575cdf8de0f3a3c4cdf45216cfa2192781ee02a))
|
|
34
|
+
* RTX ZVG1 water_consumed unit (l -> L) ([#5897](https://github.com/Koenkk/zigbee-herdsman-converters/issues/5897)) ([d2dba53](https://github.com/Koenkk/zigbee-herdsman-converters/commit/d2dba53c1d264e9edc201efacd75da28ccb2aa7f))
|
|
35
|
+
|
|
3
36
|
## [15.25.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v15.24.0...v15.25.0) (2023-06-18)
|
|
4
37
|
|
|
5
38
|
|
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ If any of those commands finish with an error your PR won't pass the tests and w
|
|
|
38
38
|
- `disableActionGroup`: Prevents some converters adding the action_group to the payload (default: false)
|
|
39
39
|
- `tuyaThermostatSystemMode`/`tuyaThermostatPreset`: TuYa specific thermostat options
|
|
40
40
|
- `thermostat`: see e.g. HT-08 definition
|
|
41
|
-
- `{dontMapPIHeatingDemand: true}`: do not map
|
|
41
|
+
- `{dontMapPIHeatingDemand: true}`: do not map `pIHeatingDemand`/`pICoolingDemand` from 0-255 -> 0-100, see fromZigbee.thermostat (default: false)
|
|
42
42
|
- `battery`:
|
|
43
43
|
- `{dontDividePercentage: true}`: prevents batteryPercentageRemainig from being divided (ZCL 200=100%, but some report 100=100%) (default: false)
|
|
44
44
|
- `{voltageToPercentage: '3V_2100'}`: convert voltage to percentage using specified option. See utils.batteryVoltageToPercentage() (default: null, no voltage to percentage conversion)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromZigbee.d.ts","sourceRoot":"","sources":["../src/converters/fromZigbee.js"],"names":[],"mappings":";;;;IA8BiB;;;MAKR;;;;;;;IAKQ,
|
|
1
|
+
{"version":3,"file":"fromZigbee.d.ts","sourceRoot":"","sources":["../src/converters/fromZigbee.js"],"names":[],"mappings":"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MASR;;;;;;;;;;IAMQ;;MAQR;;;;;;;;IAQQ,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C;;;;;;;;IAK5C,8FAA4C"}
|
package/converters/fromZigbee.js
CHANGED
|
@@ -34,23 +34,30 @@ const converters = {
|
|
|
34
34
|
const result = {};
|
|
35
35
|
const dontMapPIHeatingDemand = model.meta && model.meta.thermostat && model.meta.thermostat.dontMapPIHeatingDemand;
|
|
36
36
|
if (msg.data.hasOwnProperty('localTemp')) {
|
|
37
|
-
|
|
37
|
+
const value = precisionRound(msg.data['localTemp'], 2) / 100;
|
|
38
|
+
if (value >= -273.15) {
|
|
39
|
+
result[postfixWithEndpointName('local_temperature', msg, model, meta)] = value;
|
|
40
|
+
}
|
|
38
41
|
}
|
|
39
42
|
if (msg.data.hasOwnProperty('localTemperatureCalibration')) {
|
|
40
43
|
result[postfixWithEndpointName('local_temperature_calibration', msg, model, meta)] =
|
|
41
44
|
precisionRound(msg.data['localTemperatureCalibration'], 2) / 10;
|
|
42
45
|
}
|
|
43
46
|
if (msg.data.hasOwnProperty('outdoorTemp')) {
|
|
44
|
-
|
|
47
|
+
const value = precisionRound(msg.data['outdoorTemp'], 2) / 100;
|
|
48
|
+
if (value >= -273.15) {
|
|
49
|
+
result[postfixWithEndpointName('outdoor_temperature', msg, model, meta)] = value;
|
|
50
|
+
}
|
|
45
51
|
}
|
|
46
52
|
if (msg.data.hasOwnProperty('occupancy')) {
|
|
47
53
|
result[postfixWithEndpointName('occupancy', msg, model, meta)] = (msg.data.occupancy % 2) > 0;
|
|
48
54
|
}
|
|
49
55
|
if (msg.data.hasOwnProperty('occupiedHeatingSetpoint')) {
|
|
50
|
-
|
|
56
|
+
const value = precisionRound(msg.data['occupiedHeatingSetpoint'], 2) / 100;
|
|
51
57
|
// Stelpro will return -325.65 when set to off, value is not realistic anyway
|
|
52
|
-
|
|
53
|
-
|
|
58
|
+
if (value >= -273.15) {
|
|
59
|
+
result[postfixWithEndpointName('occupied_heating_setpoint', msg, model, meta)] = value;
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
if (msg.data.hasOwnProperty('unoccupiedHeatingSetpoint')) {
|
|
56
63
|
result[postfixWithEndpointName('unoccupied_heating_setpoint', msg, model, meta)] =
|
|
@@ -108,6 +115,11 @@ const converters = {
|
|
|
108
115
|
result[postfixWithEndpointName('pi_heating_demand', msg, model, meta)] =
|
|
109
116
|
mapNumberRange(msg.data['pIHeatingDemand'], 0, (dontMapPIHeatingDemand ? 100 : 255), 0, 100);
|
|
110
117
|
}
|
|
118
|
+
if (msg.data.hasOwnProperty('pICoolingDemand')) {
|
|
119
|
+
// we assume the behavior is consistent for pIHeatingDemand + pICoolingDemand for the same vendor
|
|
120
|
+
result[postfixWithEndpointName('pi_cooling_demand', msg, model, meta)] =
|
|
121
|
+
mapNumberRange(msg.data['pICoolingDemand'], 0, (dontMapPIHeatingDemand ? 100 : 255), 0, 100);
|
|
122
|
+
}
|
|
111
123
|
if (msg.data.hasOwnProperty('tempSetpointHold')) {
|
|
112
124
|
result[postfixWithEndpointName('temperature_setpoint_hold', msg, model, meta)] = msg.data['tempSetpointHold'] == 1;
|
|
113
125
|
}
|
|
@@ -116,24 +128,46 @@ const converters = {
|
|
|
116
128
|
msg.data['tempSetpointHoldDuration'];
|
|
117
129
|
}
|
|
118
130
|
if (msg.data.hasOwnProperty('minHeatSetpointLimit')) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
131
|
+
const value = precisionRound(msg.data['minHeatSetpointLimit'], 2) / 100;
|
|
132
|
+
if (value >= -273.15) {
|
|
133
|
+
result[postfixWithEndpointName('min_heat_setpoint_limit', msg, model, meta)] = value;
|
|
134
|
+
}
|
|
122
135
|
}
|
|
123
136
|
if (msg.data.hasOwnProperty('maxHeatSetpointLimit')) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
137
|
+
const value = precisionRound(msg.data['maxHeatSetpointLimit'], 2) / 100;
|
|
138
|
+
if (value >= -273.15) {
|
|
139
|
+
result[postfixWithEndpointName('max_heat_setpoint_limit', msg, model, meta)] = value;
|
|
140
|
+
}
|
|
127
141
|
}
|
|
128
142
|
if (msg.data.hasOwnProperty('absMinHeatSetpointLimit')) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
143
|
+
const value = precisionRound(msg.data['absMinHeatSetpointLimit'], 2) / 100;
|
|
144
|
+
if (value >= -273.15) {
|
|
145
|
+
result[postfixWithEndpointName('abs_min_heat_setpoint_limit', msg, model, meta)] = value;
|
|
146
|
+
}
|
|
132
147
|
}
|
|
133
148
|
if (msg.data.hasOwnProperty('absMaxHeatSetpointLimit')) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
149
|
+
const value = precisionRound(msg.data['absMaxHeatSetpointLimit'], 2) / 100;
|
|
150
|
+
if (value >= -273.15) {
|
|
151
|
+
result[postfixWithEndpointName('abs_max_heat_setpoint_limit', msg, model, meta)] = value;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (msg.data.hasOwnProperty('absMinCoolSetpointLimit')) {
|
|
155
|
+
const value = precisionRound(msg.data['absMinCoolSetpointLimit'], 2) / 100;
|
|
156
|
+
if (value >= -273.15) {
|
|
157
|
+
result[postfixWithEndpointName('abs_min_cool_setpoint_limit', msg, model, meta)] = value;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (msg.data.hasOwnProperty('absMaxCoolSetpointLimit')) {
|
|
161
|
+
const value = precisionRound(msg.data['absMaxCoolSetpointLimit'], 2) / 100;
|
|
162
|
+
if (value >= -273.15) {
|
|
163
|
+
result[postfixWithEndpointName('abs_max_cool_setpoint_limit', msg, model, meta)] = value;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (msg.data.hasOwnProperty('minSetpointDeadBand')) {
|
|
167
|
+
const value = precisionRound(msg.data['minSetpointDeadBand'], 2) / 100;
|
|
168
|
+
if (value >= -273.15) {
|
|
169
|
+
result[postfixWithEndpointName('min_setpoint_dead_band', msg, model, meta)] = value;
|
|
170
|
+
}
|
|
137
171
|
}
|
|
138
172
|
if (msg.data.hasOwnProperty('acLouverPosition')) {
|
|
139
173
|
result[postfixWithEndpointName('ac_louver_position', msg, model, meta)] =
|