zigbee-herdsman-converters 20.8.5 → 20.10.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
@@ -1872,11 +1872,12 @@ const definitions = [
1872
1872
  fromZigbee: [tuya.fz.datapoints, fromZigbee_1.default.battery, fromZigbee_1.default.ias_water_leak_alarm_1],
1873
1873
  toZigbee: [],
1874
1874
  exposes: [
1875
+ e.water_leak().withDescription('Droplet detection (raining)'),
1875
1876
  e.illuminance().withUnit('lx'),
1876
1877
  e.numeric('illuminance_average_20min', ea.STATE).withUnit('lx').withDescription('Illuminance average for the last 20 minutes'),
1877
1878
  e.numeric('illuminance_maximum_today', ea.STATE).withUnit('lx').withDescription('Illuminance maximum for the last 24 hours'),
1878
1879
  e.binary('cleaning_reminder', ea.STATE, 'ON', 'OFF').withDescription('Cleaning reminder'),
1879
- e.numeric('rain_intensity', ea.STATE).withDescription('Rainfall intensity'),
1880
+ e.numeric('rain_intensity', ea.STATE).withUnit('mV').withDescription('Rainfall intensity'),
1880
1881
  e.battery(),
1881
1882
  ],
1882
1883
  meta: {
@@ -3595,12 +3596,36 @@ const definitions = [
3595
3596
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3596
3597
  },
3597
3598
  },
3599
+ ////////////////////////
3600
+ // TS0002 DEFINITIONS //
3601
+ ////////////////////////
3598
3602
  {
3599
- fingerprint: tuya.fingerprint('TS0002', ['_TZ3000_54hjn4vs', '_TZ3000_aa5t61rh']),
3600
- model: 'TS0002_switch_module_3',
3603
+ // TS0002 model with only on/off capability
3604
+ fingerprint: tuya.fingerprint('TS0002', [
3605
+ '_TZ3000_01gpyda5',
3606
+ '_TZ3000_bvrlqyj7',
3607
+ '_TZ3000_7ed9cqgi',
3608
+ '_TZ3000_zmy4lslw',
3609
+ '_TZ3000_ruxexjfz',
3610
+ '_TZ3000_4xfqlgqo',
3611
+ '_TZ3000_eei0ubpy',
3612
+ '_TZ3000_qaa59zqd',
3613
+ '_TZ3000_lmlsduws',
3614
+ '_TZ3000_lugaswf8',
3615
+ '_TZ3000_fbjdkph9',
3616
+ ]),
3617
+ model: 'TS0002_basic',
3601
3618
  vendor: 'Tuya',
3602
- description: '2 gang switch with backlight',
3603
- extend: [tuya.modernExtend.tuyaOnOff({ powerOnBehavior2: true, indicatorMode: true, endpoints: ['l1', 'l2'] })],
3619
+ description: '2 gang switch module',
3620
+ whiteLabel: [
3621
+ { vendor: 'OXT', model: 'SWTZ22' },
3622
+ { vendor: 'Moes', model: 'ZM-104B-M' },
3623
+ tuya.whitelabel('pcblab.io', 'RR620ZB', '2 gang Zigbee switch module', ['_TZ3000_4xfqlgqo']),
3624
+ tuya.whitelabel('Nous', 'L13Z', '2 gang switch', ['_TZ3000_ruxexjfz']),
3625
+ tuya.whitelabel('Tuya', 'ZG-2002-RF', 'Three mode Zigbee Switch', ['_TZ3000_lugaswf8']),
3626
+ tuya.whitelabel('Mercator Ikuü', 'SSW02', '2 gang switch', ['_TZ3000_fbjdkph9']),
3627
+ ],
3628
+ extend: [tuya.modernExtend.tuyaOnOff({ switchType: true, endpoints: ['l1', 'l2'] })],
3604
3629
  endpoint: (device) => {
3605
3630
  return { l1: 1, l2: 2 };
3606
3631
  },
@@ -3610,69 +3635,99 @@ const definitions = [
3610
3635
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3611
3636
  await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
3612
3637
  },
3613
- whiteLabel: [tuya.whitelabel('Lonsonho', 'X702A', '2 gang switch with backlight', ['_TZ3000_54hjn4vs', '_TZ3000_aa5t61rh'])],
3614
3638
  },
3615
3639
  {
3616
- fingerprint: tuya.fingerprint('TS0002', ['_TZ3000_mufwv0ry']),
3617
- model: 'TS0002_switch_module_1',
3640
+ // TS0002 model with limited functionality available
3641
+ fingerprint: tuya.fingerprint('TS0002', [
3642
+ '_TZ3000_fisb3ajo',
3643
+ '_TZ3000_5gey1ohx',
3644
+ '_TZ3000_mtnpt6ws',
3645
+ '_TZ3000_mufwv0ry',
3646
+ '_TZ3000_54hjn4vs',
3647
+ '_TZ3000_aa5t61rh',
3648
+ '_TZ3000_in5qxhtt',
3649
+ '_TZ3000_ogpla3lh',
3650
+ '_TZ3000_i9w5mehz',
3651
+ ]),
3652
+ model: 'TS0002_limited',
3618
3653
  vendor: 'Tuya',
3619
- description: '1 gang switch module',
3620
- extend: [tuya.modernExtend.tuyaOnOff({ endpoints: ['l1', 'l2'], indicatorMode: true, backlightModeOffOn: true })],
3654
+ description: '2 gang switch module',
3655
+ extend: [tuya.modernExtend.tuyaOnOff({ switchType: true, indicatorMode: true, backlightModeOffOn: true, endpoints: ['l1', 'l2'] })],
3621
3656
  endpoint: (device) => {
3622
3657
  return { l1: 1, l2: 2 };
3623
3658
  },
3624
3659
  meta: { multiEndpoint: true },
3625
- whiteLabel: [tuya.whitelabel('PSMART', 'T442', '2 gang switch module', ['_TZ3000_mufwv0ry'])],
3626
3660
  configure: async (device, coordinatorEndpoint) => {
3627
3661
  await tuya.configureMagicPacket(device, coordinatorEndpoint);
3628
3662
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3663
+ await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
3629
3664
  },
3665
+ whiteLabel: [
3666
+ tuya.whitelabel('AVATTO', 'ZWSM16-2-Zigbee', '2 gang switch module', ['_TZ3000_mtnpt6ws']),
3667
+ tuya.whitelabel('PSMART', 'T442', '2 gang switch module', ['_TZ3000_mufwv0ry']),
3668
+ tuya.whitelabel('Lonsonho', 'X702A', '2 gang switch with backlight', ['_TZ3000_54hjn4vs', '_TZ3000_aa5t61rh']),
3669
+ tuya.whitelabel('Homeetec', '37022463', '2 Gang switch with backlight', ['_TZ3000_in5qxhtt']),
3670
+ tuya.whitelabel('RoomsAI', '37022463', '2 Gang switch with backlight', ['_TZ3000_ogpla3lh']),
3671
+ ],
3630
3672
  },
3631
3673
  {
3632
- fingerprint: tuya.fingerprint('TS0003', ['_TZ3000_rhkfbfcv', '_TZ3000_empogkya', '_TZ3000_lubfc1t5', '_TZ3000_lsunm46z', '_TZ3000_v4l4b0lp']),
3633
- model: 'TS0003_switch_3_gang_with_backlight',
3674
+ // TS0002 2 gang switch module with all available features. This is the default for TS0002 devices.
3675
+ model: 'TS0002',
3676
+ zigbeeModel: ['TS0002'],
3634
3677
  vendor: 'Tuya',
3635
- description: '3-Gang switch with backlight',
3636
- extend: [tuya.modernExtend.tuyaOnOff({ powerOnBehavior2: true, indicatorMode: true, backlightModeOffOn: true, endpoints: ['l1', 'l2', 'l3'] })],
3678
+ description: '2-Gang switch with backlight, countdown and inching',
3679
+ extend: [
3680
+ tuya.modernExtend.tuyaOnOff({
3681
+ switchType: true,
3682
+ powerOnBehavior2: true,
3683
+ backlightModeOffOn: true,
3684
+ indicatorMode: true,
3685
+ onOffCountdown: true,
3686
+ inchingSwitch: true,
3687
+ endpoints: ['l1', 'l2'],
3688
+ }),
3689
+ tuya.clusters.addTuyaCommonPrivateCluster(),
3690
+ ],
3637
3691
  endpoint: (device) => {
3638
- return { l1: 1, l2: 2, l3: 3 };
3692
+ return { l1: 1, l2: 2 };
3639
3693
  },
3640
3694
  meta: { multiEndpoint: true },
3641
3695
  configure: async (device, coordinatorEndpoint) => {
3642
3696
  await tuya.configureMagicPacket(device, coordinatorEndpoint);
3643
3697
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3644
3698
  await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
3645
- await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
3646
3699
  },
3647
3700
  whiteLabel: [
3648
- tuya.whitelabel('Lonsonho', 'X703A', '3 Gang switch with backlight', ['_TZ3000_rhkfbfcv']),
3649
- tuya.whitelabel('Zemismart', 'ZM-L03E-Z', '3 gang switch with neutral', ['_TZ3000_empogkya', '_TZ3000_lsunm46z']),
3650
- tuya.whitelabel('Tuya', 'M10Z', '2 gang switch with 20A power socket', ['_TZ3000_lubfc1t5']),
3651
- ],
3652
- },
3653
- {
3654
- zigbeeModel: ['TS0002'],
3655
- model: 'TS0002',
3656
- vendor: 'Tuya',
3657
- description: '2 gang switch',
3658
- whiteLabel: [
3701
+ tuya.whitelabel('Zemismart', 'TB26-2', '2 Gang switch with backlight, countdown, inching', ['_TZ3000_ywubfuvt']),
3659
3702
  { vendor: 'Zemismart', model: 'ZM-CSW002-D_switch' },
3660
3703
  { vendor: 'Lonsonho', model: 'X702' },
3661
3704
  { vendor: 'AVATTO', model: 'ZTS02' },
3662
- tuya.whitelabel('Tuya', 'ZG-2002-RF', 'Three mode Zigbee Switch', ['_TZ3000_lugaswf8']),
3663
- tuya.whitelabel('Mercator Ikuü', 'SSW02', '2 gang switch', ['_TZ3000_fbjdkph9']),
3664
3705
  ],
3665
- extend: [tuya.modernExtend.tuyaOnOff()],
3666
- exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2')],
3706
+ },
3707
+ ////////////////////////
3708
+ // TS0003 DEFINITIONS //
3709
+ ////////////////////////
3710
+ {
3711
+ fingerprint: tuya.fingerprint('TS0003', ['_TZ3000_rhkfbfcv', '_TZ3000_empogkya', '_TZ3000_lubfc1t5', '_TZ3000_lsunm46z', '_TZ3000_v4l4b0lp']),
3712
+ model: 'TS0003_switch_3_gang_with_backlight',
3713
+ vendor: 'Tuya',
3714
+ description: '3-Gang switch with backlight',
3715
+ extend: [tuya.modernExtend.tuyaOnOff({ powerOnBehavior2: true, indicatorMode: true, backlightModeOffOn: true, endpoints: ['l1', 'l2', 'l3'] })],
3667
3716
  endpoint: (device) => {
3668
- return { l1: 1, l2: 2 };
3717
+ return { l1: 1, l2: 2, l3: 3 };
3669
3718
  },
3670
3719
  meta: { multiEndpoint: true },
3671
3720
  configure: async (device, coordinatorEndpoint) => {
3672
3721
  await tuya.configureMagicPacket(device, coordinatorEndpoint);
3673
3722
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3674
3723
  await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
3724
+ await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
3675
3725
  },
3726
+ whiteLabel: [
3727
+ tuya.whitelabel('Lonsonho', 'X703A', '3 Gang switch with backlight', ['_TZ3000_rhkfbfcv']),
3728
+ tuya.whitelabel('Zemismart', 'ZM-L03E-Z', '3 gang switch with neutral', ['_TZ3000_empogkya', '_TZ3000_lsunm46z']),
3729
+ tuya.whitelabel('Tuya', 'M10Z', '2 gang switch with 20A power socket', ['_TZ3000_lubfc1t5']),
3730
+ ],
3676
3731
  },
3677
3732
  {
3678
3733
  zigbeeModel: ['TS0003'],
@@ -3693,78 +3748,6 @@ const definitions = [
3693
3748
  await tuya.configureMagicPacket(device, coordinatorEndpoint);
3694
3749
  },
3695
3750
  },
3696
- {
3697
- fingerprint: tuya.fingerprint('TS0001', [
3698
- '_TZ3000_tqlv4ug4',
3699
- '_TZ3000_gjrubzje',
3700
- '_TZ3000_tygpxwqa',
3701
- '_TZ3000_4rbqgcuv',
3702
- '_TZ3000_veu2v775',
3703
- '_TZ3000_prits6g4',
3704
- ]),
3705
- model: 'TS0001_switch_module',
3706
- vendor: 'Tuya',
3707
- description: '1 gang switch module',
3708
- whiteLabel: [
3709
- { vendor: 'OXT', model: 'SWTZ21' },
3710
- { vendor: 'Moes', model: 'ZM-104-M' },
3711
- tuya.whitelabel('AVATTO', 'ZWSM16-1-Zigbee', '1 gang switch module', ['_TZ3000_4rbqgcuv']),
3712
- ],
3713
- extend: [tuya.modernExtend.tuyaOnOff({ switchType: true, onOffCountdown: true })],
3714
- configure: async (device, coordinatorEndpoint) => {
3715
- await tuya.configureMagicPacket(device, coordinatorEndpoint);
3716
- await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3717
- },
3718
- },
3719
- {
3720
- fingerprint: tuya.fingerprint('TS0002', [
3721
- '_TZ3000_01gpyda5',
3722
- '_TZ3000_bvrlqyj7',
3723
- '_TZ3000_7ed9cqgi',
3724
- '_TZ3000_zmy4lslw',
3725
- '_TZ3000_ruxexjfz',
3726
- '_TZ3000_4xfqlgqo',
3727
- '_TZ3000_eei0ubpy',
3728
- '_TZ3000_qaa59zqd',
3729
- '_TZ3000_lmlsduws',
3730
- ]),
3731
- model: 'TS0002_switch_module',
3732
- vendor: 'Tuya',
3733
- description: '2 gang switch module',
3734
- whiteLabel: [
3735
- { vendor: 'OXT', model: 'SWTZ22' },
3736
- { vendor: 'Moes', model: 'ZM-104B-M' },
3737
- tuya.whitelabel('pcblab.io', 'RR620ZB', '2 gang Zigbee switch module', ['_TZ3000_4xfqlgqo']),
3738
- tuya.whitelabel('Nous', 'L13Z', '2 gang switch', ['_TZ3000_ruxexjfz']),
3739
- ],
3740
- extend: [tuya.modernExtend.tuyaOnOff({ switchType: true, endpoints: ['l1', 'l2'] })],
3741
- endpoint: (device) => {
3742
- return { l1: 1, l2: 2 };
3743
- },
3744
- meta: { multiEndpoint: true },
3745
- configure: async (device, coordinatorEndpoint) => {
3746
- await tuya.configureMagicPacket(device, coordinatorEndpoint);
3747
- await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3748
- await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
3749
- },
3750
- },
3751
- {
3752
- fingerprint: tuya.fingerprint('TS0002', ['_TZ3000_fisb3ajo', '_TZ3000_5gey1ohx', '_TZ3000_mtnpt6ws']),
3753
- model: 'TS0002_switch_module_2',
3754
- vendor: 'Tuya',
3755
- description: '2 gang switch module',
3756
- extend: [tuya.modernExtend.tuyaOnOff({ switchType: true, indicatorMode: true, endpoints: ['l1', 'l2'] })],
3757
- endpoint: (device) => {
3758
- return { l1: 1, l2: 2 };
3759
- },
3760
- meta: { multiEndpoint: true },
3761
- configure: async (device, coordinatorEndpoint) => {
3762
- await tuya.configureMagicPacket(device, coordinatorEndpoint);
3763
- await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3764
- await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
3765
- },
3766
- whiteLabel: [tuya.whitelabel('AVATTO', 'ZWSM16-2-Zigbee', '2 gang switch module', ['_TZ3000_mtnpt6ws'])],
3767
- },
3768
3751
  {
3769
3752
  fingerprint: tuya.fingerprint('TS0003', ['_TZ3000_4o16jdca', '_TZ3000_odzoiovu', '_TZ3000_hbic3ka3', '_TZ3000_lvhy15ix']),
3770
3753
  model: 'TS0003_switch_module_2',
@@ -3801,6 +3784,29 @@ const definitions = [
3801
3784
  await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['genOnOff']);
3802
3785
  },
3803
3786
  },
3787
+ {
3788
+ fingerprint: tuya.fingerprint('TS0001', [
3789
+ '_TZ3000_tqlv4ug4',
3790
+ '_TZ3000_gjrubzje',
3791
+ '_TZ3000_tygpxwqa',
3792
+ '_TZ3000_4rbqgcuv',
3793
+ '_TZ3000_veu2v775',
3794
+ '_TZ3000_prits6g4',
3795
+ ]),
3796
+ model: 'TS0001_switch_module',
3797
+ vendor: 'Tuya',
3798
+ description: '1 gang switch module',
3799
+ whiteLabel: [
3800
+ { vendor: 'OXT', model: 'SWTZ21' },
3801
+ { vendor: 'Moes', model: 'ZM-104-M' },
3802
+ tuya.whitelabel('AVATTO', 'ZWSM16-1-Zigbee', '1 gang switch module', ['_TZ3000_4rbqgcuv']),
3803
+ ],
3804
+ extend: [tuya.modernExtend.tuyaOnOff({ switchType: true, onOffCountdown: true })],
3805
+ configure: async (device, coordinatorEndpoint) => {
3806
+ await tuya.configureMagicPacket(device, coordinatorEndpoint);
3807
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
3808
+ },
3809
+ },
3804
3810
  {
3805
3811
  fingerprint: tuya.fingerprint('TS0004', ['_TZ3000_ltt60asa', '_TZ3000_mmkbptmx']),
3806
3812
  model: 'TS0004_switch_module',
@@ -8349,45 +8355,6 @@ const definitions = [
8349
8355
  tuya.whitelabel('RoomsAI', 'RoomsAI_37022454', '1 Gang switch with backlight', ['_TZ3000_w1tcofu8']),
8350
8356
  ],
8351
8357
  },
8352
- {
8353
- fingerprint: [
8354
- { modelID: 'TS0002', manufacturerName: '_TZ3000_in5qxhtt' },
8355
- { modelID: 'TS0002', manufacturerName: '_TZ3000_ogpla3lh' },
8356
- ],
8357
- model: 'TS0002_switch_2_gang',
8358
- vendor: 'Tuya',
8359
- description: '2-Gang switch with backlight',
8360
- extend: [tuya.modernExtend.tuyaOnOff({ powerOnBehavior2: true, backlightModeOffOn: true, endpoints: ['l1', 'l2'] })],
8361
- endpoint: (device) => {
8362
- return { l1: 1, l2: 2 };
8363
- },
8364
- meta: { multiEndpoint: true },
8365
- configure: async (device, coordinatorEndpoint) => {
8366
- await tuya.configureMagicPacket(device, coordinatorEndpoint);
8367
- await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
8368
- await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
8369
- },
8370
- whiteLabel: [
8371
- tuya.whitelabel('Homeetec', '37022463', '2 Gang switch with backlight', ['_TZ3000_in5qxhtt']),
8372
- tuya.whitelabel('RoomsAI', '37022463', '2 Gang switch with backlight', ['_TZ3000_ogpla3lh']),
8373
- ],
8374
- },
8375
- {
8376
- fingerprint: [{ modelID: 'TS0002', manufacturerName: '_TZ3000_i9w5mehz' }],
8377
- model: 'TS0002_switch_module_4',
8378
- vendor: 'Tuya',
8379
- description: '2 gang switch with backlight',
8380
- extend: [tuya.modernExtend.tuyaOnOff({ powerOnBehavior2: true, backlightModeOffOn: true, indicatorMode: true, endpoints: ['l1', 'l2'] })],
8381
- endpoint: (device) => {
8382
- return { l1: 1, l2: 2 };
8383
- },
8384
- meta: { multiEndpoint: true },
8385
- configure: async (device, coordinatorEndpoint) => {
8386
- await tuya.configureMagicPacket(device, coordinatorEndpoint);
8387
- await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genOnOff']);
8388
- await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ['genOnOff']);
8389
- },
8390
- },
8391
8358
  {
8392
8359
  fingerprint: [
8393
8360
  { modelID: 'TS0003', manufacturerName: '_TZ3000_pv4puuxi' },
@@ -11337,6 +11304,161 @@ const definitions = [
11337
11304
  ],
11338
11305
  },
11339
11306
  },
11307
+ {
11308
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_fhvdgeuh']),
11309
+ model: 'TS0601_din_4',
11310
+ vendor: 'Tuya',
11311
+ description: 'Din rail switch with power monitoring and threshold settings',
11312
+ fromZigbee: [tuya.fz.datapoints],
11313
+ toZigbee: [tuya.tz.datapoints],
11314
+ configure: async (device, coordinatorEndpoint) => {
11315
+ await tuya.configureMagicPacket(device, coordinatorEndpoint);
11316
+ // Required to get the device to start reporting
11317
+ await device.getEndpoint(1).command('manuSpecificTuya', 'dataQuery', {});
11318
+ },
11319
+ exposes: [
11320
+ e.switch().setAccess('state', ea.STATE_SET),
11321
+ e.power(),
11322
+ e.current(),
11323
+ e.voltage(),
11324
+ e.energy(),
11325
+ e.numeric('temperature', ea.STATE).withUnit('°C').withDescription('Current temperature'),
11326
+ e.numeric('leakage', ea.STATE).withUnit('mA').withDescription('Current leakage'),
11327
+ ],
11328
+ meta: {
11329
+ tuyaDatapoints: [
11330
+ [16, 'state', tuya.valueConverter.onOff],
11331
+ [1, 'energy', tuya.valueConverter.divideBy100], // Total forward energy
11332
+ [6, null, tuya.valueConverter.phaseVariant2], // Phase A voltage and current
11333
+ // [9, 'fault', tuya.valueConverter.raw], // no expose
11334
+ // [11, 'switch_prepayment', tuya.valueConverter.raw], // no expose
11335
+ // [12, 'clear_energy', tuya.valueConverter.raw], // no expose
11336
+ // [14, 'charge_energy', tuya.valueConverter.raw], // no expose
11337
+ [15, 'leakage', tuya.valueConverter.raw],
11338
+ // [102, 'reclosing_allowed_times', tuya.valueConverter.raw], // no expose
11339
+ [103, 'temperature', tuya.valueConverter.raw],
11340
+ // [104, 'reclosing_enable', tuya.valueConverter.raw], // no expose
11341
+ // [105, 'timer', tuya.valueConverter.raw], // no expose
11342
+ // [106, 'cycle_schedule', tuya.valueConverter.raw], // no expose
11343
+ // [107, 'reclose_recover_seconds', tuya.valueConverter.raw], // no expose
11344
+ // [108, 'random_timing', tuya.valueConverter.raw], // no expose
11345
+ // [109, 'switch_inching', tuya.valueConverter.raw], // no expose
11346
+ // [119, 'power_on_delay_power_on_time', tuya.valueConverter.raw], // no expose
11347
+ // [124, 'overcurrent_event_threshold_time', tuya.valueConverter.raw], // no expose
11348
+ // [125, 'time_threshold_of_lost_flow_event', tuya.valueConverter.raw], // no expose
11349
+ // [127, 'status', tuya.valueConverter.raw], // no expose
11350
+ // [134, 'relay_status_for_power_on', tuya.valueConverter.raw], // no expose
11351
+ ],
11352
+ },
11353
+ },
11354
+ {
11355
+ fingerprint: [{ modelID: 'TS0601', manufacturerName: '_TZE204_hcxvyxa5' }],
11356
+ model: 'ZA03',
11357
+ vendor: 'Tuya',
11358
+ description: 'Siren alarm',
11359
+ fromZigbee: [tuya.fz.datapoints],
11360
+ toZigbee: [tuya.tz.datapoints],
11361
+ configure: tuya.configureMagicPacket,
11362
+ exposes: [
11363
+ e.binary('alarm', ea.STATE_SET, 'ON', 'OFF').withDescription('Sound the alarm'),
11364
+ e.enum('volume', ea.STATE_SET, ['low', 'medium', 'high', 'mute']),
11365
+ e.enum('ringtone', ea.STATE_SET, [
11366
+ 'ringtone 1',
11367
+ 'ringtone 2',
11368
+ 'ringtone 3',
11369
+ 'ringtone 4',
11370
+ 'ringtone 5',
11371
+ 'ringtone 6',
11372
+ 'ringtone 7',
11373
+ 'ringtone 8',
11374
+ 'ringtone 9',
11375
+ 'ringtone 10',
11376
+ 'ringtone 11',
11377
+ 'ringtone 12',
11378
+ 'ringtone 13',
11379
+ 'ringtone 14',
11380
+ 'ringtone 15',
11381
+ 'ringtone 16',
11382
+ 'ringtone 17',
11383
+ 'ringtone 18',
11384
+ 'ringtone 19',
11385
+ 'ringtone 20',
11386
+ 'ringtone 21',
11387
+ 'ringtone 22',
11388
+ 'ringtone 23',
11389
+ 'ringtone 24',
11390
+ 'ringtone 25',
11391
+ 'ringtone 26',
11392
+ 'ringtone 27',
11393
+ 'ringtone 28',
11394
+ 'ringtone 29',
11395
+ 'ringtone 30',
11396
+ 'ringtone 31',
11397
+ 'ringtone 32',
11398
+ ]),
11399
+ e
11400
+ .numeric('duration', ea.STATE_SET)
11401
+ .withValueMin(1)
11402
+ .withValueMax(380)
11403
+ .withValueStep(1)
11404
+ .withUnit('s')
11405
+ .withDescription('How long the alarm sounds for when triggered'),
11406
+ ],
11407
+ meta: {
11408
+ tuyaDatapoints: [
11409
+ [
11410
+ 5,
11411
+ 'volume',
11412
+ tuya.valueConverterBasic.lookup({
11413
+ low: tuya.enum(0),
11414
+ medium: tuya.enum(1),
11415
+ high: tuya.enum(2),
11416
+ mute: tuya.enum(3),
11417
+ }),
11418
+ ],
11419
+ [7, 'duration', tuya.valueConverter.raw],
11420
+ [13, 'alarm', tuya.valueConverter.onOff],
11421
+ [
11422
+ 21,
11423
+ 'ringtone',
11424
+ tuya.valueConverterBasic.lookup({
11425
+ 'ringtone 1': tuya.enum(0),
11426
+ 'ringtone 2': tuya.enum(1),
11427
+ 'ringtone 3': tuya.enum(2),
11428
+ 'ringtone 4': tuya.enum(3),
11429
+ 'ringtone 5': tuya.enum(4),
11430
+ 'ringtone 6': tuya.enum(5),
11431
+ 'ringtone 7': tuya.enum(6),
11432
+ 'ringtone 8': tuya.enum(7),
11433
+ 'ringtone 9': tuya.enum(8),
11434
+ 'ringtone 10': tuya.enum(9),
11435
+ 'ringtone 11': tuya.enum(10),
11436
+ 'ringtone 12': tuya.enum(11),
11437
+ 'ringtone 13': tuya.enum(12),
11438
+ 'ringtone 14': tuya.enum(13),
11439
+ 'ringtone 15': tuya.enum(14),
11440
+ 'ringtone 16': tuya.enum(15),
11441
+ 'ringtone 17': tuya.enum(16),
11442
+ 'ringtone 18': tuya.enum(17),
11443
+ 'ringtone 19': tuya.enum(18),
11444
+ 'ringtone 20': tuya.enum(19),
11445
+ 'ringtone 21': tuya.enum(20),
11446
+ 'ringtone 22': tuya.enum(21),
11447
+ 'ringtone 23': tuya.enum(22),
11448
+ 'ringtone 24': tuya.enum(23),
11449
+ 'ringtone 25': tuya.enum(24),
11450
+ 'ringtone 26': tuya.enum(25),
11451
+ 'ringtone 27': tuya.enum(26),
11452
+ 'ringtone 28': tuya.enum(27),
11453
+ 'ringtone 29': tuya.enum(28),
11454
+ 'ringtone 30': tuya.enum(29),
11455
+ 'ringtone 31': tuya.enum(30),
11456
+ 'ringtone 32': tuya.enum(31),
11457
+ }),
11458
+ ],
11459
+ ],
11460
+ },
11461
+ },
11340
11462
  ];
11341
11463
  exports.default = definitions;
11342
11464
  module.exports = definitions;