zigbee-herdsman-converters 21.16.0 → 21.18.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.
Files changed (144) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/converters/fromZigbee.d.ts +0 -7
  3. package/converters/fromZigbee.d.ts.map +1 -1
  4. package/converters/fromZigbee.js +0 -9
  5. package/converters/fromZigbee.js.map +1 -1
  6. package/converters/toZigbee.d.ts +0 -4
  7. package/converters/toZigbee.d.ts.map +1 -1
  8. package/converters/toZigbee.js +0 -6
  9. package/converters/toZigbee.js.map +1 -1
  10. package/devices/aurora_lighting.d.ts.map +1 -1
  11. package/devices/aurora_lighting.js +4 -8
  12. package/devices/aurora_lighting.js.map +1 -1
  13. package/devices/avatto.js +1 -1
  14. package/devices/bitron.d.ts.map +1 -1
  15. package/devices/bitron.js +0 -1
  16. package/devices/bitron.js.map +1 -1
  17. package/devices/bosch.d.ts.map +1 -1
  18. package/devices/bosch.js +6 -6
  19. package/devices/bosch.js.map +1 -1
  20. package/devices/busch_jaeger.d.ts.map +1 -1
  21. package/devices/busch_jaeger.js +0 -1
  22. package/devices/busch_jaeger.js.map +1 -1
  23. package/devices/ctm.d.ts.map +1 -1
  24. package/devices/ctm.js +8 -28
  25. package/devices/ctm.js.map +1 -1
  26. package/devices/custom_devices_diy.d.ts.map +1 -1
  27. package/devices/custom_devices_diy.js +9 -20
  28. package/devices/custom_devices_diy.js.map +1 -1
  29. package/devices/danfoss.d.ts.map +1 -1
  30. package/devices/danfoss.js +0 -1
  31. package/devices/danfoss.js.map +1 -1
  32. package/devices/databyte.d.ts.map +1 -1
  33. package/devices/databyte.js +0 -1
  34. package/devices/databyte.js.map +1 -1
  35. package/devices/datek.d.ts.map +1 -1
  36. package/devices/datek.js +3 -4
  37. package/devices/datek.js.map +1 -1
  38. package/devices/develco.d.ts.map +1 -1
  39. package/devices/develco.js +0 -2
  40. package/devices/develco.js.map +1 -1
  41. package/devices/diyruz.d.ts.map +1 -1
  42. package/devices/diyruz.js +3 -4
  43. package/devices/diyruz.js.map +1 -1
  44. package/devices/fantem.d.ts.map +1 -1
  45. package/devices/fantem.js +3 -2
  46. package/devices/fantem.js.map +1 -1
  47. package/devices/gmmts.d.ts.map +1 -1
  48. package/devices/gmmts.js +0 -1
  49. package/devices/gmmts.js.map +1 -1
  50. package/devices/heiman.d.ts.map +1 -1
  51. package/devices/heiman.js +4 -5
  52. package/devices/heiman.js.map +1 -1
  53. package/devices/hzc_electric.d.ts.map +1 -1
  54. package/devices/hzc_electric.js +4 -2
  55. package/devices/hzc_electric.js.map +1 -1
  56. package/devices/imhotepcreation.d.ts.map +1 -1
  57. package/devices/imhotepcreation.js +0 -1
  58. package/devices/imhotepcreation.js.map +1 -1
  59. package/devices/immax.d.ts.map +1 -1
  60. package/devices/immax.js +7 -6
  61. package/devices/immax.js.map +1 -1
  62. package/devices/kmpcil.d.ts.map +1 -1
  63. package/devices/kmpcil.js +5 -8
  64. package/devices/kmpcil.js.map +1 -1
  65. package/devices/konke.d.ts.map +1 -1
  66. package/devices/konke.js +4 -2
  67. package/devices/konke.js.map +1 -1
  68. package/devices/leedarson.d.ts.map +1 -1
  69. package/devices/leedarson.js +7 -4
  70. package/devices/leedarson.js.map +1 -1
  71. package/devices/legrand.d.ts.map +1 -1
  72. package/devices/legrand.js +0 -2
  73. package/devices/legrand.js.map +1 -1
  74. package/devices/lixee.d.ts.map +1 -1
  75. package/devices/lixee.js +0 -1
  76. package/devices/lixee.js.map +1 -1
  77. package/devices/ls.d.ts.map +1 -1
  78. package/devices/ls.js +1 -2
  79. package/devices/ls.js.map +1 -1
  80. package/devices/lumi.d.ts.map +1 -1
  81. package/devices/lumi.js +6 -14
  82. package/devices/lumi.js.map +1 -1
  83. package/devices/mazda.d.ts.map +1 -1
  84. package/devices/mazda.js +0 -1
  85. package/devices/mazda.js.map +1 -1
  86. package/devices/moes.d.ts.map +1 -1
  87. package/devices/moes.js +5 -4
  88. package/devices/moes.js.map +1 -1
  89. package/devices/namron.d.ts.map +1 -1
  90. package/devices/namron.js +4 -4
  91. package/devices/namron.js.map +1 -1
  92. package/devices/owon.d.ts.map +1 -1
  93. package/devices/owon.js +4 -4
  94. package/devices/owon.js.map +1 -1
  95. package/devices/philips.d.ts.map +1 -1
  96. package/devices/philips.js +27 -48
  97. package/devices/philips.js.map +1 -1
  98. package/devices/profalux.js +2 -2
  99. package/devices/profalux.js.map +1 -1
  100. package/devices/schneider_electric.d.ts.map +1 -1
  101. package/devices/schneider_electric.js +5 -4
  102. package/devices/schneider_electric.js.map +1 -1
  103. package/devices/sercomm.d.ts.map +1 -1
  104. package/devices/sercomm.js +5 -4
  105. package/devices/sercomm.js.map +1 -1
  106. package/devices/shinasystem.d.ts.map +1 -1
  107. package/devices/shinasystem.js +5 -4
  108. package/devices/shinasystem.js.map +1 -1
  109. package/devices/siglis.d.ts.map +1 -1
  110. package/devices/siglis.js +0 -2
  111. package/devices/siglis.js.map +1 -1
  112. package/devices/terncy.d.ts.map +1 -1
  113. package/devices/terncy.js +4 -2
  114. package/devices/terncy.js.map +1 -1
  115. package/devices/third_reality.d.ts.map +1 -1
  116. package/devices/third_reality.js +4 -2
  117. package/devices/third_reality.js.map +1 -1
  118. package/devices/tplink.d.ts.map +1 -1
  119. package/devices/tplink.js +4 -5
  120. package/devices/tplink.js.map +1 -1
  121. package/devices/tuya.d.ts.map +1 -1
  122. package/devices/tuya.js +42 -34
  123. package/devices/tuya.js.map +1 -1
  124. package/devices/ubisys.d.ts.map +1 -1
  125. package/devices/ubisys.js +103 -1
  126. package/devices/ubisys.js.map +1 -1
  127. package/devices/visonic.js +1 -1
  128. package/devices/visonic.js.map +1 -1
  129. package/devices/wirenboard.d.ts.map +1 -1
  130. package/devices/wirenboard.js +2 -4
  131. package/devices/wirenboard.js.map +1 -1
  132. package/index.d.ts +2 -2
  133. package/index.d.ts.map +1 -1
  134. package/index.js +15 -5
  135. package/index.js.map +1 -1
  136. package/lib/exposes.d.ts +2 -1
  137. package/lib/exposes.d.ts.map +1 -1
  138. package/lib/exposes.js +2 -6
  139. package/lib/exposes.js.map +1 -1
  140. package/lib/modernExtend.d.ts +1 -1
  141. package/lib/modernExtend.d.ts.map +1 -1
  142. package/lib/modernExtend.js +21 -2
  143. package/lib/modernExtend.js.map +1 -1
  144. package/package.json +6 -6
package/devices/tuya.js CHANGED
@@ -44,6 +44,7 @@ const exposes = __importStar(require("../lib/exposes"));
44
44
  const legacy = __importStar(require("../lib/legacy"));
45
45
  const logger_1 = require("../lib/logger");
46
46
  const modernExtend_1 = require("../lib/modernExtend");
47
+ const m = __importStar(require("../lib/modernExtend"));
47
48
  const reporting = __importStar(require("../lib/reporting"));
48
49
  const globalStore = __importStar(require("../lib/store"));
49
50
  const tuya = __importStar(require("../lib/tuya"));
@@ -878,7 +879,6 @@ const definitions = [
878
879
  if (!device || !noBatteryLowModels.includes(device.manufacturerName)) {
879
880
  exps.push(e.battery_low());
880
881
  }
881
- exps.push(e.linkquality());
882
882
  return exps;
883
883
  },
884
884
  meta: {
@@ -982,7 +982,6 @@ const definitions = [
982
982
  exps.push(e.battery_low());
983
983
  exps.push(e.enum('battery_level', ea.STATE, ['low', 'middle', 'high']).withDescription('Battery level state'));
984
984
  }
985
- exps.push(e.linkquality());
986
985
  return exps;
987
986
  },
988
987
  },
@@ -1073,6 +1072,7 @@ const definitions = [
1073
1072
  '_TZE200_cirvgep4',
1074
1073
  '_TZE200_upagmta9',
1075
1074
  '_TZE204_yjjdcqsq',
1075
+ '_TZE204_jygvp6fk',
1076
1076
  '_TZE204_cirvgep4',
1077
1077
  ]),
1078
1078
  model: 'TS0601_temperature_humidity_sensor_2',
@@ -1710,11 +1710,12 @@ const definitions = [
1710
1710
  model: 'TS0202_3',
1711
1711
  vendor: 'Tuya',
1712
1712
  description: 'Motion detector with illuminance',
1713
- fromZigbee: [fromZigbee_1.default.ias_occupancy_alarm_1, fromZigbee_1.default.battery, fromZigbee_1.default.ignore_basic_report, fromZigbee_1.default.ias_occupancy_alarm_1_report, fromZigbee_1.default.illuminance],
1713
+ fromZigbee: [fromZigbee_1.default.ias_occupancy_alarm_1, fromZigbee_1.default.battery, fromZigbee_1.default.ignore_basic_report, fromZigbee_1.default.ias_occupancy_alarm_1_report],
1714
1714
  toZigbee: [],
1715
1715
  onEvent: tuya.onEventSetTime,
1716
1716
  configure: tuya.configureMagicPacket,
1717
- exposes: [e.occupancy(), e.battery_low(), e.battery(), e.tamper(), e.illuminance()],
1717
+ exposes: [e.occupancy(), e.battery_low(), e.battery(), e.tamper()],
1718
+ extend: [m.illuminance()],
1718
1719
  },
1719
1720
  {
1720
1721
  fingerprint: tuya.fingerprint('TS0202', ['_TZ3210_cwamkvua']),
@@ -1758,7 +1759,7 @@ const definitions = [
1758
1759
  // Requires alarm_1_with_timeout https://github.com/Koenkk/zigbee2mqtt/issues/2818#issuecomment-776119586
1759
1760
  fromZigbee: [fromZigbee_1.default.ias_occupancy_alarm_1_with_timeout, fromZigbee_1.default.battery, fromZigbee_1.default.ignore_basic_report],
1760
1761
  toZigbee: [],
1761
- exposes: [e.occupancy(), e.battery_low(), e.linkquality(), e.battery(), e.battery_voltage()],
1762
+ exposes: [e.occupancy(), e.battery_low(), e.battery(), e.battery_voltage()],
1762
1763
  configure: async (device, coordinatorEndpoint) => {
1763
1764
  const endpoint = device.getEndpoint(1);
1764
1765
  await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
@@ -1792,7 +1793,6 @@ const definitions = [
1792
1793
  if (!device || !['_TZ3000_bsvqrxru', '_TZ3000_nss8amz9'].includes(device.manufacturerName)) {
1793
1794
  exps.push(e.tamper());
1794
1795
  }
1795
- exps.push(e.linkquality());
1796
1796
  return exps;
1797
1797
  },
1798
1798
  configure: async (device, coordinatorEndpoint) => {
@@ -1934,7 +1934,6 @@ const definitions = [
1934
1934
  if (!device || !noTamperModels.includes(device.manufacturerName)) {
1935
1935
  exps.push(e.tamper());
1936
1936
  }
1937
- exps.push(e.linkquality());
1938
1937
  return exps;
1939
1938
  },
1940
1939
  },
@@ -2152,7 +2151,6 @@ const definitions = [
2152
2151
  if (!device || !['_TZE200_ykgar0ow'].includes(device.manufacturerName)) {
2153
2152
  exps.push(tuya.exposes.lightType(), tuya.exposes.backlightModeOffNormalInverted().withAccess(ea.STATE_SET));
2154
2153
  }
2155
- exps.push(e.linkquality());
2156
2154
  return exps;
2157
2155
  },
2158
2156
  meta: {
@@ -2409,7 +2407,7 @@ const definitions = [
2409
2407
  },
2410
2408
  ],
2411
2409
  model: 'ZDMS16-1',
2412
- vendor: 'Avatto',
2410
+ vendor: 'AVATTO',
2413
2411
  description: 'Zigbee 1 channel Dimmer',
2414
2412
  fromZigbee: [tuya.fz.datapoints],
2415
2413
  toZigbee: [tuya.tz.datapoints],
@@ -2444,7 +2442,7 @@ const definitions = [
2444
2442
  },
2445
2443
  ],
2446
2444
  model: 'ZDMS16-2',
2447
- vendor: 'Avatto',
2445
+ vendor: 'AVATTO',
2448
2446
  description: 'Zigbee 2 channels Dimmer',
2449
2447
  fromZigbee: [tuya.fz.datapoints],
2450
2448
  toZigbee: [tuya.tz.datapoints],
@@ -2579,7 +2577,7 @@ const definitions = [
2579
2577
  const endpoint = device.getEndpoint(1);
2580
2578
  await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
2581
2579
  },
2582
- exposes: [e.battery(), e.illuminance(), e.linkquality(), e.enum('brightness_level', ea.STATE, ['LOW', 'MEDIUM', 'HIGH'])],
2580
+ exposes: [e.battery(), e.illuminance(), e.enum('brightness_level', ea.STATE, ['LOW', 'MEDIUM', 'HIGH'])],
2583
2581
  },
2584
2582
  {
2585
2583
  zigbeeModel: ['TS130F'],
@@ -2619,7 +2617,6 @@ const definitions = [
2619
2617
  if (device?.manufacturerName !== '_TZ3210_xbpt8ewc' && device?.manufacturerName !== '_TZ3000_e3vhyirx') {
2620
2618
  exps.push(tuya.exposes.indicatorMode(), tuya.exposes.backlightModeOffOn());
2621
2619
  }
2622
- exps.push(e.linkquality());
2623
2620
  return exps;
2624
2621
  },
2625
2622
  },
@@ -3090,6 +3087,7 @@ const definitions = [
3090
3087
  { vendor: 'BlitzWolf', model: 'BW-IS4' },
3091
3088
  tuya.whitelabel('Tuya', 'TS0201_1', 'Zigbee 3.0 temperature humidity sensor with display', ['_TZ3210_alxkwn0h']),
3092
3089
  tuya.whitelabel('Tuya', 'ZTH01/ZTH02', 'Temperature and humidity sensor', ['_TZ3000_0s1izerx']),
3090
+ tuya.whitelabel('Tuya', 'ZY-ZTH02', 'Temperature and humidity sensor', ['_TZ3000_v1w2k9dd']),
3093
3091
  tuya.whitelabel('SEDEA', 'eTH730', 'Temperature and humidity sensor', ['_TZ3000_lqmvrwa2']),
3094
3092
  tuya.whitelabel('Danfoss', '014G2480', 'Temperature and humidity sensor', ['_TZ3000_mxzo5rhf']),
3095
3093
  ],
@@ -4464,7 +4462,7 @@ const definitions = [
4464
4462
  tuyaDatapoints: [
4465
4463
  [1, 'state', tuya.valueConverterBasic.lookup({ OPEN: tuya.enum(0), STOP: tuya.enum(1), CLOSE: tuya.enum(2) })],
4466
4464
  [2, 'position', tuya.valueConverter.coverPosition],
4467
- [3, 'position', tuya.valueConverter.raw],
4465
+ [3, 'position', tuya.valueConverter.coverPosition],
4468
4466
  [5, 'reverse_direction', tuya.valueConverterBasic.lookup({ forward: tuya.enum(0), back: tuya.enum(1) })],
4469
4467
  [12, 'motor_fault', tuya.valueConverter.trueFalse1],
4470
4468
  [13, 'battery', tuya.valueConverter.raw],
@@ -4944,7 +4942,7 @@ const definitions = [
4944
4942
  description: 'Thermostatic radiator valve',
4945
4943
  whiteLabel: [
4946
4944
  tuya.whitelabel('id3', 'GTZ06', 'Thermostatic radiator valve', ['_TZE200_z1tyspqw']),
4947
- tuya.whitelabel('Avatto', 'TRV07', 'Thermostatic radiator valve', ['_TZE200_bvrlmajk']),
4945
+ tuya.whitelabel('AVATTO', 'TRV07', 'Thermostatic radiator valve', ['_TZE200_bvrlmajk']),
4948
4946
  ],
4949
4947
  onEvent: tuya.onEventSetLocalTime,
4950
4948
  fromZigbee: [tuya.fz.datapoints],
@@ -6592,7 +6590,7 @@ const definitions = [
6592
6590
  whiteLabel: [
6593
6591
  tuya.whitelabel('Tuya', 'DS-111', 'Smart light switch - 4 gang with neutral wire', ['_TZ3000_mdj7kra9']),
6594
6592
  tuya.whitelabel('MHCOZY', 'TYWB 4ch-RF', '4 channel relay', ['_TZ3000_u3oupgdy', '_TZ3000_imaccztn']),
6595
- tuya.whitelabel('Avatto', 'TS0004_1', 'Smart light switch - 4 gang with neutral wire', ['_TZ3000_nivavasg', '_TZ3000_gexniqbq']),
6593
+ tuya.whitelabel('AVATTO', 'TS0004_1', 'Smart light switch - 4 gang with neutral wire', ['_TZ3000_nivavasg', '_TZ3000_gexniqbq']),
6596
6594
  ],
6597
6595
  meta: { multiEndpoint: true },
6598
6596
  configure: async (device, coordinatorEndpoint) => {
@@ -6946,7 +6944,7 @@ const definitions = [
6946
6944
  fingerprint: tuya.fingerprint('TS0601', ['_TZE200_viy9ihs7', '_TZE204_lzriup1j', '_TZE204_xnbkhhdr']),
6947
6945
  model: 'ZWT198/ZWT100-BH',
6948
6946
  vendor: 'Tuya',
6949
- description: 'Avatto wall thermostat',
6947
+ description: 'Wall thermostat',
6950
6948
  onEvent: tuya.onEvent({ timeStart: '1970', respondToMcuVersionResponse: false }),
6951
6949
  fromZigbee: [tuya.fz.datapoints],
6952
6950
  toZigbee: [tuya.tz.datapoints],
@@ -7135,32 +7133,35 @@ const definitions = [
7135
7133
  model: 'TS0222_temperature_humidity',
7136
7134
  vendor: 'Tuya',
7137
7135
  description: 'Temperature & humidity sensor',
7138
- fromZigbee: [fzLocal.TS0222_humidity, fromZigbee_1.default.battery, fromZigbee_1.default.temperature, fromZigbee_1.default.illuminance],
7136
+ fromZigbee: [fzLocal.TS0222_humidity, fromZigbee_1.default.battery, fromZigbee_1.default.temperature],
7139
7137
  toZigbee: [],
7140
7138
  configure: tuya.configureMagicPacket,
7141
- exposes: [e.battery(), e.temperature(), e.humidity(), e.illuminance()],
7139
+ exposes: [e.battery(), e.temperature(), e.humidity()],
7142
7140
  whiteLabel: [tuya.whitelabel('Tuya', 'QT-07S', 'Soil sensor', ['_TZE204_myd45weu'])],
7141
+ extend: [m.illuminance()],
7143
7142
  },
7144
7143
  {
7145
7144
  fingerprint: tuya.fingerprint('TS0222', ['_TZ3000_8uxxzz4b', '_TZ3000_hy6ncvmw', '_TZ3000_9kbbfeho', '_TZ3000_l6rsaipj']),
7146
7145
  model: 'TS0222_light',
7147
7146
  vendor: 'Tuya',
7148
7147
  description: 'Light sensor',
7149
- fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.illuminance],
7148
+ fromZigbee: [fromZigbee_1.default.battery],
7150
7149
  toZigbee: [],
7151
7150
  configure: tuya.configureMagicPacket,
7152
7151
  whiteLabel: [tuya.whitelabel('Moes', 'ZSS-QT-LS-C', 'Light sensor', ['_TZ3000_9kbbfeho'])],
7153
- exposes: [e.battery(), e.illuminance()],
7152
+ exposes: [e.battery()],
7153
+ extend: [m.illuminance()],
7154
7154
  },
7155
7155
  {
7156
7156
  fingerprint: tuya.fingerprint('TS0222', ['_TZ3000_t9qqxn70']),
7157
7157
  model: 'THE01860A',
7158
7158
  vendor: 'Tuya',
7159
7159
  description: 'Temp & humidity flower sensor with illuminance',
7160
- fromZigbee: [fromZigbee_1.default.humidity, fromZigbee_1.default.battery, fromZigbee_1.default.temperature, fromZigbee_1.default.illuminance],
7160
+ fromZigbee: [fromZigbee_1.default.humidity, fromZigbee_1.default.battery, fromZigbee_1.default.temperature],
7161
7161
  toZigbee: [],
7162
7162
  configure: tuya.configureMagicPacket,
7163
- exposes: [e.battery(), e.temperature(), e.humidity(), e.illuminance()],
7163
+ exposes: [e.battery(), e.temperature(), e.humidity()],
7164
+ extend: [m.illuminance()],
7164
7165
  },
7165
7166
  {
7166
7167
  fingerprint: [
@@ -7171,10 +7172,11 @@ const definitions = [
7171
7172
  model: 'TS0222',
7172
7173
  vendor: 'Tuya',
7173
7174
  description: 'Light intensity sensor',
7174
- fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.illuminance, legacy.fromZigbee.TS0222],
7175
+ fromZigbee: [fromZigbee_1.default.battery, legacy.fromZigbee.TS0222],
7175
7176
  toZigbee: [],
7176
- exposes: [e.battery(), e.illuminance()],
7177
+ exposes: [e.battery()],
7177
7178
  configure: tuya.configureMagicPacket,
7179
+ extend: [m.illuminance()],
7178
7180
  },
7179
7181
  {
7180
7182
  zigbeeModel: ['TS0210'],
@@ -7438,7 +7440,7 @@ const definitions = [
7438
7440
  model: 'LCZ030',
7439
7441
  vendor: 'Tuya',
7440
7442
  description: 'Temperature & humidity & illuminance sensor with display',
7441
- fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.illuminance, fromZigbee_1.default.temperature, fromZigbee_1.default.humidity, fromZigbee_1.default.ts0201_temperature_humidity_alarm],
7443
+ fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.temperature, fromZigbee_1.default.humidity, fromZigbee_1.default.ts0201_temperature_humidity_alarm],
7442
7444
  toZigbee: [toZigbee_1.default.ts0201_temperature_humidity_alarm],
7443
7445
  configure: async (device, coordinatorEndpoint) => {
7444
7446
  const endpoint = device.getEndpoint(1);
@@ -7448,7 +7450,6 @@ const definitions = [
7448
7450
  'genBasic',
7449
7451
  'genPowerCfg',
7450
7452
  'msTemperatureMeasurement',
7451
- 'msIlluminanceMeasurement',
7452
7453
  'msRelativeHumidity',
7453
7454
  'manuSpecificTuya_2',
7454
7455
  ]);
@@ -7457,7 +7458,6 @@ const definitions = [
7457
7458
  e.temperature(),
7458
7459
  e.humidity(),
7459
7460
  e.battery(),
7460
- e.illuminance(),
7461
7461
  e
7462
7462
  .numeric('alarm_temperature_max', ea.STATE_SET)
7463
7463
  .withUnit('°C')
@@ -7475,6 +7475,7 @@ const definitions = [
7475
7475
  e.enum('alarm_humidity', ea.STATE, ['below_min_humdity', 'over_humidity', 'off']).withDescription('Alarm humidity status'),
7476
7476
  e.enum('alarm_temperature', ea.STATE, ['below_min_temperature', 'over_temperature', 'off']).withDescription('Alarm temperature status'),
7477
7477
  ],
7478
+ extend: [m.illuminance()],
7478
7479
  },
7479
7480
  {
7480
7481
  fingerprint: [{ modelID: 'TS0601', manufacturerName: '_TZE200_auin8mzr' }],
@@ -8636,7 +8637,7 @@ const definitions = [
8636
8637
  .withValueStep(0.01)
8637
8638
  .withUnit('m')
8638
8639
  .withDescription('Motion detection distance'),
8639
- e.enum('motion_state', ea.STATE, ['none', 'small', 'medium', 'large']).withDescription('State of the motion'),
8640
+ e.enum('motion_state', ea.STATE, ['none', 'small', 'medium', 'large', 'mini', 'micro']).withDescription('State of the motion'),
8640
8641
  e
8641
8642
  .numeric('fading_time', ea.STATE_SET)
8642
8643
  .withValueMin(0)
@@ -8682,7 +8683,14 @@ const definitions = [
8682
8683
  [
8683
8684
  101,
8684
8685
  'motion_state',
8685
- tuya.valueConverterBasic.lookup({ none: tuya.enum(0), large: tuya.enum(1), medium: tuya.enum(2), small: tuya.enum(3) }),
8686
+ tuya.valueConverterBasic.lookup({
8687
+ none: tuya.enum(0),
8688
+ large: tuya.enum(1),
8689
+ medium: tuya.enum(2),
8690
+ small: tuya.enum(3),
8691
+ mini: tuya.enum(4),
8692
+ micro: tuya.enum(5),
8693
+ }),
8686
8694
  ],
8687
8695
  [102, 'fading_time', tuya.valueConverter.raw],
8688
8696
  [104, 'medium_motion_detection_distance', tuya.valueConverter.divideBy100],
@@ -9135,7 +9143,7 @@ const definitions = [
9135
9143
  fromZigbee: [fromZigbee_1.default.temperature, fzLocal.TS011F_threshold],
9136
9144
  toZigbee: [tzLocal.TS011F_threshold],
9137
9145
  exposes: (device, options) => {
9138
- const exposes = [e.linkquality()];
9146
+ const exposes = [];
9139
9147
  if (!['_TZ3000_303avxxt', '_TZ3000_zjchz7pd'].includes(device?.manufacturerName)) {
9140
9148
  exposes.push(e.temperature(), e
9141
9149
  .numeric('temperature_threshold', ea.STATE_SET)
@@ -10240,7 +10248,7 @@ const definitions = [
10240
10248
  description: 'Motion sensor',
10241
10249
  fromZigbee: [fromZigbee_1.default.ias_occupancy_alarm_1_with_timeout, fromZigbee_1.default.battery],
10242
10250
  toZigbee: [],
10243
- exposes: [e.occupancy(), e.battery_low(), e.linkquality(), e.battery(), e.battery_voltage()],
10251
+ exposes: [e.occupancy(), e.battery_low(), e.battery(), e.battery_voltage()],
10244
10252
  configure: async (device, coordinatorEndpoint) => {
10245
10253
  const endpoint = device.getEndpoint(1);
10246
10254
  await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg']);
@@ -12075,7 +12083,6 @@ const definitions = [
12075
12083
  .withValueStep(1)
12076
12084
  .withUnit('°C')
12077
12085
  .withDescription('Max temperature in ECO mode. Default: 20'),
12078
- e.binary('valve_state', ea.STATE, false, true).withLabel('Heating in process'),
12079
12086
  e
12080
12087
  .climate()
12081
12088
  .withSystemMode(['off', 'heat'], ea.STATE_SET)
@@ -12083,7 +12090,8 @@ const definitions = [
12083
12090
  .withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
12084
12091
  .withLocalTemperature(ea.STATE)
12085
12092
  .withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET)
12086
- .withDescription('Default: -3'),
12093
+ .withDescription('Default: -3')
12094
+ .withRunningState(['idle', 'heat'], ea.STATE),
12087
12095
  e
12088
12096
  .numeric('deadzone_temperature', ea.STATE_SET)
12089
12097
  .withValueMin(1)
@@ -12175,7 +12183,7 @@ const definitions = [
12175
12183
  [26, 'min_temperature', tuya.valueConverter.divideBy10],
12176
12184
  [27, 'local_temperature_calibration', tuya.valueConverter.raw],
12177
12185
  [28, 'factory_reset', tuya.valueConverterBasic.lookup({ factory_reset: true })],
12178
- [36, 'valve_state', tuya.valueConverter.trueFalseInvert],
12186
+ [36, 'running_state', tuya.valueConverterBasic.lookup({ idle: tuya.enum(1), heat: tuya.enum(0) })],
12179
12187
  [39, 'child_lock', tuya.valueConverterBasic.lookup({ ON: true, OFF: false })],
12180
12188
  [40, 'eco_mode', tuya.valueConverterBasic.lookup({ ON: true, OFF: false })],
12181
12189
  [43, 'sensor', tuya.valueConverterBasic.lookup({ IN: tuya.enum(0), OU: tuya.enum(2), AL: tuya.enum(1) })],