zigbee-herdsman-converters 21.15.0 → 21.17.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/devices/tuya.js CHANGED
@@ -1073,6 +1073,7 @@ const definitions = [
1073
1073
  '_TZE200_cirvgep4',
1074
1074
  '_TZE200_upagmta9',
1075
1075
  '_TZE204_yjjdcqsq',
1076
+ '_TZE204_jygvp6fk',
1076
1077
  '_TZE204_cirvgep4',
1077
1078
  ]),
1078
1079
  model: 'TS0601_temperature_humidity_sensor_2',
@@ -2409,7 +2410,7 @@ const definitions = [
2409
2410
  },
2410
2411
  ],
2411
2412
  model: 'ZDMS16-1',
2412
- vendor: 'Avatto',
2413
+ vendor: 'AVATTO',
2413
2414
  description: 'Zigbee 1 channel Dimmer',
2414
2415
  fromZigbee: [tuya.fz.datapoints],
2415
2416
  toZigbee: [tuya.tz.datapoints],
@@ -2444,7 +2445,7 @@ const definitions = [
2444
2445
  },
2445
2446
  ],
2446
2447
  model: 'ZDMS16-2',
2447
- vendor: 'Avatto',
2448
+ vendor: 'AVATTO',
2448
2449
  description: 'Zigbee 2 channels Dimmer',
2449
2450
  fromZigbee: [tuya.fz.datapoints],
2450
2451
  toZigbee: [tuya.tz.datapoints],
@@ -3090,6 +3091,7 @@ const definitions = [
3090
3091
  { vendor: 'BlitzWolf', model: 'BW-IS4' },
3091
3092
  tuya.whitelabel('Tuya', 'TS0201_1', 'Zigbee 3.0 temperature humidity sensor with display', ['_TZ3210_alxkwn0h']),
3092
3093
  tuya.whitelabel('Tuya', 'ZTH01/ZTH02', 'Temperature and humidity sensor', ['_TZ3000_0s1izerx']),
3094
+ tuya.whitelabel('Tuya', 'ZY-ZTH02', 'Temperature and humidity sensor', ['_TZ3000_v1w2k9dd']),
3093
3095
  tuya.whitelabel('SEDEA', 'eTH730', 'Temperature and humidity sensor', ['_TZ3000_lqmvrwa2']),
3094
3096
  tuya.whitelabel('Danfoss', '014G2480', 'Temperature and humidity sensor', ['_TZ3000_mxzo5rhf']),
3095
3097
  ],
@@ -4054,6 +4056,8 @@ const definitions = [
4054
4056
  { modelID: 'TS0601', manufacturerName: '_TZE200_2odrmqwq' },
4055
4057
  { modelID: 'TS0601', manufacturerName: '_TZE204_lh3arisb' },
4056
4058
  { modelID: 'TS0601', manufacturerName: '_TZE284_udank5zs' },
4059
+ { modelID: 'TS0601', manufacturerName: '_TZE200_7shyddj3' },
4060
+ { modelID: 'TS0601', manufacturerName: '_TZE204_a2jcoyuk' },
4057
4061
  ],
4058
4062
  model: 'TS0601_cover_1',
4059
4063
  vendor: 'Tuya',
@@ -4942,7 +4946,7 @@ const definitions = [
4942
4946
  description: 'Thermostatic radiator valve',
4943
4947
  whiteLabel: [
4944
4948
  tuya.whitelabel('id3', 'GTZ06', 'Thermostatic radiator valve', ['_TZE200_z1tyspqw']),
4945
- tuya.whitelabel('Avatto', 'TRV07', 'Thermostatic radiator valve', ['_TZE200_bvrlmajk']),
4949
+ tuya.whitelabel('AVATTO', 'TRV07', 'Thermostatic radiator valve', ['_TZE200_bvrlmajk']),
4946
4950
  ],
4947
4951
  onEvent: tuya.onEventSetLocalTime,
4948
4952
  fromZigbee: [tuya.fz.datapoints],
@@ -6590,7 +6594,7 @@ const definitions = [
6590
6594
  whiteLabel: [
6591
6595
  tuya.whitelabel('Tuya', 'DS-111', 'Smart light switch - 4 gang with neutral wire', ['_TZ3000_mdj7kra9']),
6592
6596
  tuya.whitelabel('MHCOZY', 'TYWB 4ch-RF', '4 channel relay', ['_TZ3000_u3oupgdy', '_TZ3000_imaccztn']),
6593
- tuya.whitelabel('Avatto', 'TS0004_1', 'Smart light switch - 4 gang with neutral wire', ['_TZ3000_nivavasg', '_TZ3000_gexniqbq']),
6597
+ tuya.whitelabel('AVATTO', 'TS0004_1', 'Smart light switch - 4 gang with neutral wire', ['_TZ3000_nivavasg', '_TZ3000_gexniqbq']),
6594
6598
  ],
6595
6599
  meta: { multiEndpoint: true },
6596
6600
  configure: async (device, coordinatorEndpoint) => {
@@ -6944,7 +6948,7 @@ const definitions = [
6944
6948
  fingerprint: tuya.fingerprint('TS0601', ['_TZE200_viy9ihs7', '_TZE204_lzriup1j', '_TZE204_xnbkhhdr']),
6945
6949
  model: 'ZWT198/ZWT100-BH',
6946
6950
  vendor: 'Tuya',
6947
- description: 'Avatto wall thermostat',
6951
+ description: 'Wall thermostat',
6948
6952
  onEvent: tuya.onEvent({ timeStart: '1970', respondToMcuVersionResponse: false }),
6949
6953
  fromZigbee: [tuya.fz.datapoints],
6950
6954
  toZigbee: [tuya.tz.datapoints],
@@ -7164,6 +7168,7 @@ const definitions = [
7164
7168
  fingerprint: [
7165
7169
  { modelID: 'TS0222', manufacturerName: '_TYZB01_4mdqxxnn' },
7166
7170
  { modelID: 'TS0222', manufacturerName: '_TYZB01_m6ec2pgj' },
7171
+ { modelID: 'TS0222', manufacturerName: '_TZ3000_do6txrcw' },
7167
7172
  ],
7168
7173
  model: 'TS0222',
7169
7174
  vendor: 'Tuya',
@@ -8057,7 +8062,7 @@ const definitions = [
8057
8062
  whiteLabel: [tuya.whitelabel('iHseno', 'TY_24G_Sensor_V2', 'Human presence sensor 24G', ['_TZE204_ztqnh5cg'])],
8058
8063
  },
8059
8064
  {
8060
- fingerprint: tuya.fingerprint('TS0601', ['_TZE204_laokfqwu']),
8065
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_laokfqwu', '_TZE200_clrdrnya']),
8061
8066
  model: 'WZ-M100',
8062
8067
  vendor: 'Wenzhi',
8063
8068
  description: 'Human presence sensor',
@@ -8633,7 +8638,7 @@ const definitions = [
8633
8638
  .withValueStep(0.01)
8634
8639
  .withUnit('m')
8635
8640
  .withDescription('Motion detection distance'),
8636
- e.enum('motion_state', ea.STATE, ['none', 'small', 'medium', 'large']).withDescription('State of the motion'),
8641
+ e.enum('motion_state', ea.STATE, ['none', 'small', 'medium', 'large', 'mini', 'micro']).withDescription('State of the motion'),
8637
8642
  e
8638
8643
  .numeric('fading_time', ea.STATE_SET)
8639
8644
  .withValueMin(0)
@@ -8679,7 +8684,14 @@ const definitions = [
8679
8684
  [
8680
8685
  101,
8681
8686
  'motion_state',
8682
- tuya.valueConverterBasic.lookup({ none: tuya.enum(0), large: tuya.enum(1), medium: tuya.enum(2), small: tuya.enum(3) }),
8687
+ tuya.valueConverterBasic.lookup({
8688
+ none: tuya.enum(0),
8689
+ large: tuya.enum(1),
8690
+ medium: tuya.enum(2),
8691
+ small: tuya.enum(3),
8692
+ mini: tuya.enum(4),
8693
+ micro: tuya.enum(5),
8694
+ }),
8683
8695
  ],
8684
8696
  [102, 'fading_time', tuya.valueConverter.raw],
8685
8697
  [104, 'medium_motion_detection_distance', tuya.valueConverter.divideBy100],
@@ -9573,6 +9585,99 @@ const definitions = [
9573
9585
  ],
9574
9586
  },
9575
9587
  },
9588
+ {
9589
+ fingerprint: [{ modelID: 'TS0601', manufacturerName: '_TZE204_dhotiauw' }],
9590
+ model: '2CT',
9591
+ vendor: 'Tuya',
9592
+ description: 'Bidirectional energy meter with 80A current clamp',
9593
+ extend: [tuyaBase({ dp: true })],
9594
+ exposes: [
9595
+ e.ac_frequency(),
9596
+ e.voltage(),
9597
+ tuya.exposes.powerWithPhase('a'),
9598
+ tuya.exposes.powerWithPhase('b'),
9599
+ tuya.exposes.currentWithPhase('a'),
9600
+ tuya.exposes.currentWithPhase('b'),
9601
+ tuya.exposes.powerFactorWithPhase('a'),
9602
+ tuya.exposes.powerFactorWithPhase('b'),
9603
+ tuya.exposes.energyWithPhase('a'),
9604
+ tuya.exposes.energyWithPhase('b'),
9605
+ e
9606
+ .numeric('update_frequency', ea.STATE_SET)
9607
+ .withUnit('s')
9608
+ .withDescription('Update frequency')
9609
+ .withValueMin(3)
9610
+ .withValueMax(60)
9611
+ .withPreset('default', 10, 'Default value'),
9612
+ e.numeric('timestamp_a', ea.STATE).withDescription('Timestamp at power measure (phase a)'),
9613
+ e.numeric('timestamp_b', ea.STATE).withDescription('Timestamp at power measure (phase b)'),
9614
+ e
9615
+ .numeric('calibration_ac_frequency', ea.STATE_SET)
9616
+ .withDescription('Calibration AC frequency')
9617
+ .withValueMin(0.5)
9618
+ .withValueMax(1.5)
9619
+ .withValueStep(0.01)
9620
+ .withPreset('default', 1.0, 'Default value'),
9621
+ e
9622
+ .numeric('calibration_voltage', ea.STATE_SET)
9623
+ .withDescription('Calibration voltage')
9624
+ .withValueMin(0.5)
9625
+ .withValueMax(1.5)
9626
+ .withValueStep(0.01)
9627
+ .withPreset('default', 1.0, 'Default value'),
9628
+ e
9629
+ .numeric('calibration_power_a', ea.STATE_SET)
9630
+ .withDescription('Calibration power A')
9631
+ .withValueMin(0.5)
9632
+ .withValueMax(1.5)
9633
+ .withValueStep(0.01)
9634
+ .withPreset('default', 1.0, 'Default value'),
9635
+ e
9636
+ .numeric('calibration_current_a', ea.STATE_SET)
9637
+ .withDescription('Calibration current A')
9638
+ .withValueMin(0.5)
9639
+ .withValueMax(1.5)
9640
+ .withValueStep(0.01)
9641
+ .withPreset('default', 1.0, 'Default value'),
9642
+ e
9643
+ .numeric('calibration_power_b', ea.STATE_SET)
9644
+ .withDescription('Calibration power B')
9645
+ .withValueMin(0.5)
9646
+ .withValueMax(1.5)
9647
+ .withValueStep(0.01)
9648
+ .withPreset('default', 1.0, 'Default value'),
9649
+ e
9650
+ .numeric('calibration_current_b', ea.STATE_SET)
9651
+ .withDescription('Calibration current B')
9652
+ .withValueMin(0.5)
9653
+ .withValueMax(1.5)
9654
+ .withValueStep(0.01)
9655
+ .withPreset('default', 1.0, 'Default value'),
9656
+ ],
9657
+ meta: {
9658
+ multiEndpointSkip: ['power_factor', 'power_factor_phase_a', 'power_factor_phase_b', 'energy'],
9659
+ tuyaDatapoints: [
9660
+ [105, 'ac_frequency', tuya.valueConverter.divideBy100],
9661
+ [103, 'power_a', tuya.valueConverter.divideBy10],
9662
+ [104, 'power_b', tuya.valueConverter.divideBy10],
9663
+ [19, 'power', tuya.valueConverter.divideBy10],
9664
+ [20, 'voltage', tuya.valueConverter.divideBy10],
9665
+ [101, 'current_a', tuya.valueConverter.divideBy1000],
9666
+ [102, 'current_b', tuya.valueConverter.divideBy1000],
9667
+ [120, 'power_factor_a', tuya.valueConverter.raw],
9668
+ [121, 'power_factor_b', tuya.valueConverter.raw],
9669
+ [115, 'energy_a', tuya.valueConverter.divideBy100],
9670
+ [117, 'energy_b', tuya.valueConverter.divideBy100],
9671
+ [122, 'update_frequency', tuya.valueConverter.raw],
9672
+ [123, 'calibration_voltage', tuya.valueConverter.divideBy1000],
9673
+ [125, 'calibration_current_a', tuya.valueConverter.divideBy1000],
9674
+ [126, 'calibration_power_a', tuya.valueConverter.divideBy1000],
9675
+ [130, 'calibration_current_b', tuya.valueConverter.divideBy1000],
9676
+ [131, 'calibration_power_b', tuya.valueConverter.divideBy1000],
9677
+ [124, 'calibration_ac_frequency', tuya.valueConverter.divideBy1000],
9678
+ ],
9679
+ },
9680
+ },
9576
9681
  {
9577
9682
  fingerprint: [
9578
9683
  { modelID: 'TS0601', manufacturerName: '_TZE200_iwn0gpzz' },
@@ -11979,7 +12084,6 @@ const definitions = [
11979
12084
  .withValueStep(1)
11980
12085
  .withUnit('°C')
11981
12086
  .withDescription('Max temperature in ECO mode. Default: 20'),
11982
- e.binary('valve_state', ea.STATE, false, true).withLabel('Heating in process'),
11983
12087
  e
11984
12088
  .climate()
11985
12089
  .withSystemMode(['off', 'heat'], ea.STATE_SET)
@@ -11987,7 +12091,8 @@ const definitions = [
11987
12091
  .withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
11988
12092
  .withLocalTemperature(ea.STATE)
11989
12093
  .withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET)
11990
- .withDescription('Default: -3'),
12094
+ .withDescription('Default: -3')
12095
+ .withRunningState(['idle', 'heat'], ea.STATE),
11991
12096
  e
11992
12097
  .numeric('deadzone_temperature', ea.STATE_SET)
11993
12098
  .withValueMin(1)
@@ -12079,7 +12184,7 @@ const definitions = [
12079
12184
  [26, 'min_temperature', tuya.valueConverter.divideBy10],
12080
12185
  [27, 'local_temperature_calibration', tuya.valueConverter.raw],
12081
12186
  [28, 'factory_reset', tuya.valueConverterBasic.lookup({ factory_reset: true })],
12082
- [36, 'valve_state', tuya.valueConverter.trueFalseInvert],
12187
+ [36, 'running_state', tuya.valueConverterBasic.lookup({ idle: tuya.enum(1), heat: tuya.enum(0) })],
12083
12188
  [39, 'child_lock', tuya.valueConverterBasic.lookup({ ON: true, OFF: false })],
12084
12189
  [40, 'eco_mode', tuya.valueConverterBasic.lookup({ ON: true, OFF: false })],
12085
12190
  [43, 'sensor', tuya.valueConverterBasic.lookup({ IN: tuya.enum(0), OU: tuya.enum(2), AL: tuya.enum(1) })],