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 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 piHeatingDemand from 0-255 -> 0-100, see fromZigbee.thermostat (default: false)
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":"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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"}
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"}
@@ -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
- result[postfixWithEndpointName('local_temperature', msg, model, meta)] = precisionRound(msg.data['localTemp'], 2) / 100;
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
- result[postfixWithEndpointName('outdoor_temperature', msg, model, meta)] = precisionRound(msg.data['outdoorTemp'], 2) / 100;
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
- let value = precisionRound(msg.data['occupiedHeatingSetpoint'], 2) / 100;
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
- value = value < -250 ? 0 : value;
53
- result[postfixWithEndpointName('occupied_heating_setpoint', msg, model, meta)] = value;
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
- let value = precisionRound(msg.data['minHeatSetpointLimit'], 2) / 100;
120
- value = value < -250 ? 0 : value;
121
- result[postfixWithEndpointName('min_heat_setpoint_limit', msg, model, meta)] = value;
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
- let value = precisionRound(msg.data['maxHeatSetpointLimit'], 2) / 100;
125
- value = value < -250 ? 0 : value;
126
- result[postfixWithEndpointName('max_heat_setpoint_limit', msg, model, meta)] = value;
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
- let value = precisionRound(msg.data['absMinHeatSetpointLimit'], 2) / 100;
130
- value = value < -250 ? 0 : value;
131
- result[postfixWithEndpointName('abs_min_heat_setpoint_limit', msg, model, meta)] = value;
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
- let value = precisionRound(msg.data['absMaxHeatSetpointLimit'], 2) / 100;
135
- value = value < -250 ? 0 : value;
136
- result[postfixWithEndpointName('abs_max_heat_setpoint_limit', msg, model, meta)] = value;
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)] =