zigbee-herdsman-converters 21.34.0 → 21.36.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
@@ -4218,6 +4218,28 @@ const definitions = [
4218
4218
  ],
4219
4219
  },
4220
4220
  },
4221
+ {
4222
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_2rvvqjoa']),
4223
+ model: 'BX82-TYZ1',
4224
+ vendor: 'Manhot',
4225
+ description: 'Cover motor',
4226
+ onEvent: tuya.onEvent(),
4227
+ configure: tuya.configureMagicPacket,
4228
+ fromZigbee: [tuya.fz.datapoints],
4229
+ toZigbee: [tuya.tz.datapoints],
4230
+ exposes: [
4231
+ e.cover_position().setAccess('position', ea.STATE_SET),
4232
+ e.enum('motor_direction', ea.STATE_SET, ['normal', 'reversed']).withDescription('Set the motor direction'),
4233
+ ],
4234
+ meta: {
4235
+ tuyaDatapoints: [
4236
+ [1, 'state', tuya.valueConverterBasic.lookup({ OPEN: tuya.enum(2), STOP: tuya.enum(1), CLOSE: tuya.enum(0) })],
4237
+ [2, 'position', tuya.valueConverter.coverPosition],
4238
+ [3, 'position', tuya.valueConverter.raw],
4239
+ [5, 'motor_direction', tuya.valueConverterBasic.lookup({ normal: tuya.enum(0), reversed: tuya.enum(1) })],
4240
+ ],
4241
+ },
4242
+ },
4221
4243
  {
4222
4244
  zigbeeModel: ['kud7u2l'],
4223
4245
  fingerprint: tuya.fingerprint('TS0601', [
@@ -4325,50 +4347,52 @@ const definitions = [
4325
4347
  toZigbee: [tuya.tz.datapoints],
4326
4348
  onEvent: tuya.onEventSetTime,
4327
4349
  configure: tuya.configureMagicPacket,
4350
+ ota: true,
4328
4351
  exposes: [
4329
4352
  e.battery(),
4330
4353
  e.child_lock(),
4331
- e.max_temperature().withValueMin(15).withValueMax(45),
4332
- e.min_temperature().withValueMin(5).withValueMax(15),
4354
+ e
4355
+ .numeric('max_temperature_limit', ea.STATE_SET)
4356
+ .withUnit('°C')
4357
+ .withDescription('Max temperature limit')
4358
+ .withValueMin(15)
4359
+ .withValueMax(45)
4360
+ .withValueStep(0.5),
4361
+ e
4362
+ .numeric('min_temperature_limit', ea.STATE_SET)
4363
+ .withUnit('°C')
4364
+ .withDescription('Min temperature limit')
4365
+ .withValueMin(5)
4366
+ .withValueMax(15)
4367
+ .withValueStep(0.5),
4333
4368
  e.window_detection(),
4334
- e.open_window_temperature().withValueMin(5).withValueMax(25),
4369
+ e.open_window_temperature().withValueMin(5).withValueMax(30).withValueStep(0.5),
4335
4370
  e.comfort_temperature().withValueMin(5).withValueMax(35),
4336
- e.eco_temperature().withValueMin(5).withValueMax(35),
4337
- e.holiday_temperature().withValueMin(5).withValueMax(35),
4371
+ e.eco_temperature().withValueMin(5).withValueMax(35).withValueStep(0.5),
4372
+ e.holiday_temperature().withValueMin(5).withValueMax(35).withValueStep(0.5),
4338
4373
  e
4339
4374
  .climate()
4340
4375
  .withPreset(['auto', 'manual', 'holiday', 'comfort'])
4341
- .withLocalTemperatureCalibration(-9, 9, 0.1, ea.STATE_SET)
4376
+ .withLocalTemperatureCalibration(-9, 9, 0.5, ea.STATE_SET)
4342
4377
  .withLocalTemperature(ea.STATE)
4343
- .withSetpoint('current_heating_setpoint', 5, 30, 0.5, ea.STATE_SET)
4378
+ .withSetpoint('current_heating_setpoint', 5, 45, 0.5, ea.STATE_SET)
4344
4379
  .withSystemMode(['off', 'heat'], ea.STATE_SET, 'Only for Homeassistant')
4345
4380
  .withRunningState(['idle', 'heat'], ea.STATE_SET),
4346
4381
  tuya.exposes.frostProtection('When Anti-Freezing function is activated, the temperature in the house is kept ' +
4347
4382
  'at 8 °C, the device display "AF".press the pair button to cancel.'),
4348
4383
  e
4349
- .numeric('boost_timeset_countdown', ea.STATE_SET)
4350
- .withUnit('s')
4351
- .withDescription('Setting ' +
4352
- 'minimum 0 - maximum 465 seconds boost time. The boost function is activated. The remaining ' +
4353
- 'time for the function will be counted down in seconds ( 465 to 0 ).')
4384
+ .numeric('boost_time', ea.STATE_SET)
4385
+ .withUnit('min')
4386
+ .withDescription('Boost running time. Minimum 0 - maximum 24 hours')
4354
4387
  .withValueMin(0)
4355
- .withValueMax(465),
4356
- e
4357
- .composite('schedule', 'schedule', ea.STATE_SET)
4358
- .withFeature(e.enum('week_day', ea.SET, ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']))
4359
- .withFeature(e.text('schedule', ea.SET))
4360
- .withDescription('Schedule will work with "auto" preset. In this mode, the device executes ' +
4361
- 'a preset week programming temperature time and temperature. Before using these properties, check `working_day` ' +
4362
- 'property. Each day can contain up to 10 segments. At least 1 segment should be defined. Different count of segments ' +
4363
- 'can be defined for each day, e.g., 3 segments for Monday, 5 segments for Thursday, etc. It should be defined in the ' +
4364
- 'following format: `hours:minutes/temperature`. Minutes can be only tens, i.e., 00, 10, 20, 30, 40, 50. Segments should ' +
4365
- 'be divided by space symbol. Each day should end with the last segment of 24:00. Examples: `04:00/20 08:30/22 10:10/18 ' +
4366
- '18:40/24 22:50/19.5`; `06:00/21.5 17:20/26 24:00/18`. The temperature will be set from the beginning/start of one ' +
4367
- 'period and until the next period, e.g., `04:00/20 24:00/22` means that from 00:00 to 04:00 temperature will be 20 ' +
4368
- 'degrees and from 04:00 to 00:00 temperature will be 22 degrees.'),
4369
- ...tuya.exposes.scheduleAllDays(ea.STATE, 'HH:MM/C'),
4388
+ .withValueMax(1440)
4389
+ .withValueStep(15)
4390
+ .withCategory('config'),
4391
+ e.numeric('boost_timeset_countdown', ea.STATE).withUnit('min').withDescription('Boost time remaining'),
4392
+ ...tuya.exposes.scheduleAllDays(ea.STATE_SET, '06:00/21.5 17:20/26 20:00/21 24:00/18').map((text) => text.withCategory('config')),
4370
4393
  e.binary('valve', ea.STATE, 'CLOSED', 'OPEN'),
4371
- e.enum('factory_reset', ea.STATE_SET, ['SET']).withDescription('Remove limits'),
4394
+ // e.enum('factory_reset', ea.STATE_SET, ['factory reset']).withLabel('Factory reset').withDescription('Reset all settings to factory ones'),
4395
+ e.binary('factory_reset', ea.STATE_SET, 'ON', 'OFF').withDescription('Back to factory settings, USE WITH CAUTION'),
4372
4396
  tuya.exposes.errorStatus(),
4373
4397
  ],
4374
4398
  meta: {
@@ -4389,26 +4413,27 @@ const definitions = [
4389
4413
  [14, 'window_detection', tuya.valueConverter.onOff],
4390
4414
  [16, 'open_window_temperature', tuya.valueConverter.divideBy10],
4391
4415
  [17, 'open_window_time', tuya.valueConverter.raw],
4392
- [18, 'backlight', tuya.valueConverter.raw],
4393
- [19, 'factory_reset', tuya.valueConverter.setLimit],
4416
+ // [18, 'backlight', tuya.valueConverter.raw],
4417
+ [19, 'factory_reset', tuya.valueConverter.onOff],
4394
4418
  [21, 'holiday_temperature', tuya.valueConverter.raw],
4395
4419
  [24, 'comfort_temperature', tuya.valueConverter.divideBy10],
4396
4420
  [25, 'eco_temperature', tuya.valueConverter.divideBy10],
4397
- [28, 'schedule_monday', tuya.valueConverter.thermostatScheduleDayMultiDP],
4398
- [29, 'schedule_tuesday', tuya.valueConverter.thermostatScheduleDayMultiDP],
4399
- [30, 'schedule_wednesday', tuya.valueConverter.thermostatScheduleDayMultiDP],
4400
- [31, 'schedule_thursday', tuya.valueConverter.thermostatScheduleDayMultiDP],
4401
- [32, 'schedule_friday', tuya.valueConverter.thermostatScheduleDayMultiDP],
4402
- [33, 'schedule_saturday', tuya.valueConverter.thermostatScheduleDayMultiDP],
4403
- [34, 'schedule_sunday', tuya.valueConverter.thermostatScheduleDayMultiDP],
4404
- [35, 'error_status', tuya.valueConverter.raw],
4421
+ [17, 'schedule_monday', tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(1)],
4422
+ [18, 'schedule_tuesday', tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(2)],
4423
+ [19, 'schedule_wednesday', tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(3)],
4424
+ [20, 'schedule_thursday', tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(4)],
4425
+ [21, 'schedule_friday', tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(5)],
4426
+ [22, 'schedule_saturday', tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(6)],
4427
+ [23, 'schedule_sunday', tuya.valueConverter.thermostatScheduleDayMultiDPWithDayNumber(7)],
4428
+ // [35, 'error_status', tuya.valueConverter.raw],
4405
4429
  [36, 'frost_protection', tuya.valueConverter.onOff],
4406
- [37, 'boost_heating', tuya.valueConverter.onOff],
4407
- [38, 'boost_time', tuya.valueConverter.countdown],
4408
- [39, 'Switch Scale', tuya.valueConverter.raw],
4409
- [47, 'local_temperature_calibration', tuya.valueConverter.localTempCalibration1],
4410
- [48, 'valve_testing', tuya.valueConverter.raw],
4411
- [49, 'valve', tuya.valueConverterBasic.lookup({ OPEN: 1, CLOSE: 0 })],
4430
+ // [37, 'boost_time', tuya.valueConverter.raw],
4431
+ // [38, 'boost_timeset_countdown', tuya.valueConverter.countdown],
4432
+ // [39, 'Switch Scale', tuya.valueConverter.raw],
4433
+ // Did not work properly from Smart life also
4434
+ // [47, 'local_temperature_calibration', tuya.valueConverter.localTempCalibration1],
4435
+ // [48, 'valve_testing', tuya.valueConverter.raw],
4436
+ [49, 'valve', tuya.valueConverter.trueFalseEnum0],
4412
4437
  ],
4413
4438
  },
4414
4439
  },
@@ -9915,6 +9940,13 @@ const definitions = [
9915
9940
  tuya.exposes.powerFactorWithPhase('a'),
9916
9941
  tuya.exposes.powerFactorWithPhase('b'),
9917
9942
  tuya.exposes.powerFactorWithPhase('c'),
9943
+ e
9944
+ .numeric('update_frequency', ea.STATE_SET)
9945
+ .withUnit('s')
9946
+ .withDescription('Update frequency')
9947
+ .withValueMin(5)
9948
+ .withValueMax(3600)
9949
+ .withPreset('default', 10, 'Default value'),
9918
9950
  ],
9919
9951
  meta: {
9920
9952
  tuyaDatapoints: [
@@ -9923,6 +9955,7 @@ const definitions = [
9923
9955
  [29, 'power', tuya.valueConverter.raw],
9924
9956
  [32, 'ac_frequency', tuya.valueConverter.divideBy100],
9925
9957
  [50, 'power_factor', tuya.valueConverter.raw],
9958
+ [102, 'update_frequency', tuya.valueConverterBasic.divideBy(1)],
9926
9959
  [103, 'voltage_a', tuya.valueConverter.divideBy10],
9927
9960
  [104, 'current_a', tuya.valueConverter.divideBy1000],
9928
9961
  [105, 'power_a', tuya.valueConverter.raw],