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/CHANGELOG.md +31 -0
- package/converters/toZigbee.d.ts +24 -0
- package/converters/toZigbee.d.ts.map +1 -1
- package/converters/toZigbee.js +36 -0
- package/converters/toZigbee.js.map +1 -1
- package/devices/giex.js +1 -1
- package/devices/giex.js.map +1 -1
- package/devices/ledvance.d.ts.map +1 -1
- package/devices/ledvance.js +14 -0
- package/devices/ledvance.js.map +1 -1
- package/devices/neo.js +1 -1
- package/devices/neo.js.map +1 -1
- package/devices/shenzhen_homa.js +2 -2
- package/devices/shenzhen_homa.js.map +1 -1
- package/devices/shinasystem.d.ts.map +1 -1
- package/devices/shinasystem.js +24 -0
- package/devices/shinasystem.js.map +1 -1
- package/devices/somfy.d.ts.map +1 -1
- package/devices/somfy.js +15 -0
- package/devices/somfy.js.map +1 -1
- package/devices/tuya.d.ts.map +1 -1
- package/devices/tuya.js +266 -144
- package/devices/tuya.js.map +1 -1
- package/lib/modernExtend.d.ts +1 -0
- package/lib/modernExtend.d.ts.map +1 -1
- package/lib/modernExtend.js +43 -1
- package/lib/modernExtend.js.map +1 -1
- package/lib/tuya.d.ts +24 -1
- package/lib/tuya.d.ts.map +1 -1
- package/lib/tuya.js +139 -1
- package/lib/tuya.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
3600
|
-
|
|
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
|
|
3603
|
-
|
|
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
|
-
|
|
3617
|
-
|
|
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: '
|
|
3620
|
-
extend: [tuya.modernExtend.tuyaOnOff({
|
|
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
|
-
|
|
3633
|
-
model: '
|
|
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: '
|
|
3636
|
-
extend: [
|
|
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
|
|
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('
|
|
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
|
-
|
|
3666
|
-
|
|
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;
|