zigbee-herdsman-converters 21.2.1 → 21.3.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 +40 -0
- package/converters/toZigbee.d.ts +0 -9
- package/converters/toZigbee.d.ts.map +1 -1
- package/converters/toZigbee.js +0 -16
- package/converters/toZigbee.js.map +1 -1
- package/devices/amina.js +8 -8
- package/devices/amina.js.map +1 -1
- package/devices/custom_devices_diy.d.ts.map +1 -1
- package/devices/custom_devices_diy.js +30 -19
- package/devices/custom_devices_diy.js.map +1 -1
- package/devices/danfoss.d.ts.map +1 -1
- package/devices/danfoss.js +1 -0
- package/devices/danfoss.js.map +1 -1
- package/devices/elko.d.ts.map +1 -1
- package/devices/elko.js +14 -8
- package/devices/elko.js.map +1 -1
- package/devices/heiman.d.ts.map +1 -1
- package/devices/heiman.js +1 -0
- package/devices/heiman.js.map +1 -1
- package/devices/index.d.ts.map +1 -1
- package/devices/index.js +2 -0
- package/devices/index.js.map +1 -1
- package/devices/innr.d.ts.map +1 -1
- package/devices/innr.js +7 -0
- package/devices/innr.js.map +1 -1
- package/devices/mazda.d.ts +4 -0
- package/devices/mazda.d.ts.map +1 -0
- package/devices/mazda.js +142 -0
- package/devices/mazda.js.map +1 -0
- package/devices/rademacher.d.ts.map +1 -1
- package/devices/rademacher.js +7 -0
- package/devices/rademacher.js.map +1 -1
- package/devices/saswell.d.ts.map +1 -1
- package/devices/saswell.js +2 -0
- package/devices/saswell.js.map +1 -1
- package/devices/schneider_electric.d.ts.map +1 -1
- package/devices/schneider_electric.js +89 -0
- package/devices/schneider_electric.js.map +1 -1
- package/devices/smlight.d.ts.map +1 -1
- package/devices/smlight.js +9 -10
- package/devices/smlight.js.map +1 -1
- package/devices/third_reality.js +1 -1
- package/devices/third_reality.js.map +1 -1
- package/devices/tuya.d.ts.map +1 -1
- package/devices/tuya.js +212 -19
- package/devices/tuya.js.map +1 -1
- package/lib/modernExtend.d.ts +18 -0
- package/lib/modernExtend.d.ts.map +1 -1
- package/lib/modernExtend.js +42 -0
- package/lib/modernExtend.js.map +1 -1
- package/lib/ota.js +1 -1
- package/lib/ota.js.map +1 -1
- package/lib/tuya.js +1 -1
- package/lib/tuya.js.map +1 -1
- package/package.json +5 -5
package/devices/tuya.js
CHANGED
|
@@ -51,7 +51,7 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
51
51
|
const utils_1 = require("../lib/utils");
|
|
52
52
|
const zosung = __importStar(require("../lib/zosung"));
|
|
53
53
|
const NS = 'zhc:tuya';
|
|
54
|
-
const { tuyaLight, tuyaBase } = tuya.modernExtend;
|
|
54
|
+
const { tuyaLight, tuyaBase, tuyaMagicPacket, dpBinary, dpNumeric, dpEnumLookup } = tuya.modernExtend;
|
|
55
55
|
const e = exposes.presets;
|
|
56
56
|
const ea = exposes.access;
|
|
57
57
|
const fzZosung = zosung.fzZosung;
|
|
@@ -1540,6 +1540,13 @@ const definitions = [
|
|
|
1540
1540
|
},
|
|
1541
1541
|
whiteLabel: [tuya.whitelabel('Zemismart', 'ZM-H7', 'Hand wave wall smart switch', ['_TZ3000_jcqs2mrv'])],
|
|
1542
1542
|
},
|
|
1543
|
+
{
|
|
1544
|
+
zigbeeModel: ['TS0505'],
|
|
1545
|
+
model: 'TS0505',
|
|
1546
|
+
vendor: 'Tuya',
|
|
1547
|
+
description: ' GU10 zbeacon Zigbee LED bulb',
|
|
1548
|
+
extend: [(0, modernExtend_1.light)({ colorTemp: { range: [153, 500] }, color: { modes: ['xy', 'hs'] } })],
|
|
1549
|
+
},
|
|
1543
1550
|
{
|
|
1544
1551
|
zigbeeModel: ['TS0505B'],
|
|
1545
1552
|
model: 'TS0505B_1',
|
|
@@ -1587,6 +1594,7 @@ const definitions = [
|
|
|
1587
1594
|
tuya.whitelabel('Moes', 'ZB-LZD10-RCW', '10W RGB+CCT Smart Downlight', ['_TZ3210_s9lumfhn', '_TZ3210_jjqdqxfq']),
|
|
1588
1595
|
tuya.whitelabel('Moes', 'ZB-TDC6-RCW-E14', 'RGB+CCT 5W E14 LED bulb', ['_TZ3210_ifga63rg']),
|
|
1589
1596
|
tuya.whitelabel('MiBoxer', 'FUT106ZR', 'GU10 bulb', ['_TZB210_rwy5hexp', '_TZB210_lnnkh3f9']),
|
|
1597
|
+
tuya.whitelabel('MiBoxer', 'E3-ZR', '3 in 1 LED Controller', ['_TZB210_wy1pyu1q']),
|
|
1590
1598
|
tuya.whitelabel('Tuya', 'TS0505B_1_1', 'Zigbee 3.0 18W led light bulb E27 RGBCW', [
|
|
1591
1599
|
'_TZ3210_jd3z4yig',
|
|
1592
1600
|
'_TZ3210_r5afgmkl',
|
|
@@ -2080,7 +2088,7 @@ const definitions = [
|
|
|
2080
2088
|
},
|
|
2081
2089
|
},
|
|
2082
2090
|
{
|
|
2083
|
-
fingerprint: tuya.fingerprint('TS0601', ['_TZE284_aao3yzhs']),
|
|
2091
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE284_aao3yzhs', '_TZE284_nhgdf6qr', '_TZE284_ap9owrsa']),
|
|
2084
2092
|
model: 'TS0601_soil_3',
|
|
2085
2093
|
vendor: 'Tuya',
|
|
2086
2094
|
description: 'Soil sensor',
|
|
@@ -2094,9 +2102,10 @@ const definitions = [
|
|
|
2094
2102
|
[5, 'temperature', tuya.valueConverter.divideBy10],
|
|
2095
2103
|
[9, 'temperature_unit', tuya.valueConverter.temperatureUnit],
|
|
2096
2104
|
[14, 'battery_state', tuya.valueConverter.batteryState],
|
|
2097
|
-
[15, 'battery', tuya.
|
|
2105
|
+
[15, 'battery', tuya.valueConverterBasic.scale(6, 60, 0, 100)], //device reports back false scaling
|
|
2098
2106
|
],
|
|
2099
2107
|
},
|
|
2108
|
+
whiteLabel: [tuya.whitelabel('GIEX', 'GX04', 'Soil Moisture Sensor', ['_TZE284_nhgdf6qr'])],
|
|
2100
2109
|
},
|
|
2101
2110
|
{
|
|
2102
2111
|
fingerprint: tuya.fingerprint('TS0601', [
|
|
@@ -2382,6 +2391,10 @@ const definitions = [
|
|
|
2382
2391
|
modelID: 'TS0601',
|
|
2383
2392
|
manufacturerName: '_TZE204_5cuocqty',
|
|
2384
2393
|
},
|
|
2394
|
+
{
|
|
2395
|
+
modelID: 'TS0601',
|
|
2396
|
+
manufacturerName: '_TZE204_nqqylykc',
|
|
2397
|
+
},
|
|
2385
2398
|
],
|
|
2386
2399
|
model: 'ZDMS16-1',
|
|
2387
2400
|
vendor: 'Avatto',
|
|
@@ -2980,7 +2993,7 @@ const definitions = [
|
|
|
2980
2993
|
description: 'Light controller',
|
|
2981
2994
|
extend: [tuya.modernExtend.tuyaLight({ colorTemp: { range: [153, 500] } })],
|
|
2982
2995
|
whiteLabel: [
|
|
2983
|
-
tuya.whitelabel('Lidl', 'HG06492B', 'Livarno
|
|
2996
|
+
tuya.whitelabel('Lidl', 'HG06492B/HG08130B', 'Livarno Home E14 candle CCT', ['_TZ3000_oborybow']),
|
|
2984
2997
|
tuya.whitelabel('Lidl', 'HG06492A/HG08130A', 'Livarno Lux GU10 spot CCT', ['_TZ3000_el5kt5im']),
|
|
2985
2998
|
tuya.whitelabel('Lidl', 'HG06492C/HG08130C/HG09154C', 'Livarno Lux E27 bulb CCT', ['_TZ3000_49qchf10']),
|
|
2986
2999
|
tuya.whitelabel('Lidl', '14147206L', 'Livarno Lux ceiling light', ['_TZ3000_rylaozuc', '_TZ3000_5fkufhn1']),
|
|
@@ -3044,7 +3057,7 @@ const definitions = [
|
|
|
3044
3057
|
tuya.whitelabel('Lidl', '14148906L', 'Livarno Lux mood light RGB+CCT', ['_TZ3000_9cpuaca6']),
|
|
3045
3058
|
tuya.whitelabel('Lidl', '14149505L/14149506L_1', 'Livarno Lux light bar RGB+CCT (black/white)', ['_TZ3000_gek6snaj']),
|
|
3046
3059
|
tuya.whitelabel('Mycket', 'MS-SP-LE27WRGB', 'E27 RGBW bulb', ['_TZ3000_evag0pvn']),
|
|
3047
|
-
tuya.whitelabel('Lidl', 'HG06104A', 'Livarno
|
|
3060
|
+
tuya.whitelabel('Lidl', 'HG06104A', 'Livarno Home RGB+CCT LED light strip 2m', ['_TZ3000_riwp3k79', '_TZ3000_riwp3k79']),
|
|
3048
3061
|
],
|
|
3049
3062
|
configure: async (device, coordinatorEndpoint) => {
|
|
3050
3063
|
device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', { colorCapabilities: 29 });
|
|
@@ -3066,6 +3079,7 @@ const definitions = [
|
|
|
3066
3079
|
tuya.whitelabel('Tuya', 'TS0201_1', 'Zigbee 3.0 temperature humidity sensor with display', ['_TZ3210_alxkwn0h']),
|
|
3067
3080
|
tuya.whitelabel('Tuya', 'ZTH01/ZTH02', 'Temperature and humidity sensor', ['_TZ3000_0s1izerx']),
|
|
3068
3081
|
tuya.whitelabel('SEDEA', 'eTH730', 'Temperature and humidity sensor', ['_TZ3000_lqmvrwa2']),
|
|
3082
|
+
tuya.whitelabel('Danfoss', '014G2480', 'Temperature and humidity sensor', ['_TZ3000_mxzo5rhf']),
|
|
3069
3083
|
],
|
|
3070
3084
|
},
|
|
3071
3085
|
{
|
|
@@ -5035,11 +5049,11 @@ const definitions = [
|
|
|
5035
5049
|
},
|
|
5036
5050
|
},
|
|
5037
5051
|
{
|
|
5038
|
-
fingerprint: tuya.fingerprint('TS0601', ['_TZE204_9mjy74mp', '_TZE200_rtrmfadk']),
|
|
5052
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE204_9mjy74mp', '_TZE200_rtrmfadk', '_TZE200_9mjy74mp']),
|
|
5039
5053
|
model: 'TRV602',
|
|
5040
5054
|
vendor: 'Tuya',
|
|
5041
5055
|
description: 'Thermostatic radiator valve.',
|
|
5042
|
-
whiteLabel: [tuya.whitelabel('Moes', 'TRV801', 'Thermostatic radiator valve', ['_TZE204_9mjy74mp'])],
|
|
5056
|
+
whiteLabel: [tuya.whitelabel('Moes', 'TRV801', 'Thermostatic radiator valve', ['_TZE204_9mjy74mp', '_TZE200_9mjy74mp'])],
|
|
5043
5057
|
onEvent: tuya.onEventSetLocalTime,
|
|
5044
5058
|
fromZigbee: [tuya.fz.datapoints],
|
|
5045
5059
|
toZigbee: [tuya.tz.datapoints],
|
|
@@ -5113,10 +5127,11 @@ const definitions = [
|
|
|
5113
5127
|
},
|
|
5114
5128
|
},
|
|
5115
5129
|
{
|
|
5116
|
-
fingerprint:
|
|
5130
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE204_qyr2m29i', '_TZE204_ltwbm23f']),
|
|
5117
5131
|
model: 'TRV602Z',
|
|
5118
5132
|
vendor: 'Tuya',
|
|
5119
5133
|
description: 'Thermostatic radiator valve.',
|
|
5134
|
+
whiteLabel: [tuya.whitelabel('Moes', 'TRV801Z', 'Thermostatic radiator valve', ['_TZE204_qyr2m29i'])],
|
|
5120
5135
|
extend: [tuyaBase({ dp: true })],
|
|
5121
5136
|
exposes: [
|
|
5122
5137
|
e.battery(),
|
|
@@ -5236,6 +5251,100 @@ const definitions = [
|
|
|
5236
5251
|
],
|
|
5237
5252
|
},
|
|
5238
5253
|
},
|
|
5254
|
+
{
|
|
5255
|
+
fingerprint: [{ modelID: 'TS0601', manufacturerName: '_TZE284_ymldrmzx' }],
|
|
5256
|
+
model: 'TRV603-WZ',
|
|
5257
|
+
vendor: 'Tuya',
|
|
5258
|
+
description: 'Thermostatic radiator valve.',
|
|
5259
|
+
fromZigbee: [tuya.fz.datapoints],
|
|
5260
|
+
toZigbee: [tuya.tz.datapoints],
|
|
5261
|
+
onEvent: tuya.onEventSetLocalTime,
|
|
5262
|
+
configure: tuya.configureMagicPacket,
|
|
5263
|
+
exposes: [
|
|
5264
|
+
e.battery(),
|
|
5265
|
+
e.child_lock(),
|
|
5266
|
+
e.window_detection(),
|
|
5267
|
+
e.binary('window', ea.STATE, 'OPEN', 'CLOSE').withDescription('Window status closed or open '),
|
|
5268
|
+
e.enum('mode', ea.STATE_SET, ['auto', 'manual']).withDescription('Mode'),
|
|
5269
|
+
e.binary('holiday_mode', ea.STATE_SET, 'ON', 'OFF'),
|
|
5270
|
+
e.binary('heating_stop', ea.STATE_SET, 'ON', 'OFF'),
|
|
5271
|
+
e
|
|
5272
|
+
.climate()
|
|
5273
|
+
.withLocalTemperature(ea.STATE)
|
|
5274
|
+
.withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
|
|
5275
|
+
.withLocalTemperatureCalibration(-30, 30, 0.1, ea.STATE_SET),
|
|
5276
|
+
e.comfort_temperature().withValueMin(5).withValueMax(30).withDescription('Comfort mode temperature'),
|
|
5277
|
+
e.eco_temperature().withValueMin(5).withValueMax(30).withDescription('Eco mode temperature'),
|
|
5278
|
+
e.enum('screen_orientation', ea.STATE_SET, ['up', 'right', 'down', 'left']).withDescription('Screen orientation'),
|
|
5279
|
+
tuya.exposes.frostProtection(),
|
|
5280
|
+
e.binary('boost_heating', ea.STATE_SET, 'ON', 'OFF'),
|
|
5281
|
+
e.numeric('boost_time', ea.STATE_SET).withUnit('min').withDescription('Countdown in minutes').withValueMin(0).withValueMax(1000),
|
|
5282
|
+
e.numeric('fault_code', ea.STATE).withDescription('Raw fault code'),
|
|
5283
|
+
],
|
|
5284
|
+
meta: {
|
|
5285
|
+
tuyaDatapoints: [
|
|
5286
|
+
[
|
|
5287
|
+
2,
|
|
5288
|
+
'mode',
|
|
5289
|
+
tuya.valueConverterBasic.lookup({
|
|
5290
|
+
auto: tuya.enum(0),
|
|
5291
|
+
manual: tuya.enum(1),
|
|
5292
|
+
}),
|
|
5293
|
+
],
|
|
5294
|
+
[4, 'current_heating_setpoint', tuya.valueConverter.divideBy10],
|
|
5295
|
+
[5, 'local_temperature', tuya.valueConverter.divideBy10],
|
|
5296
|
+
[6, 'battery', tuya.valueConverter.raw],
|
|
5297
|
+
[
|
|
5298
|
+
7,
|
|
5299
|
+
'child_lock',
|
|
5300
|
+
tuya.valueConverterBasic.lookup({
|
|
5301
|
+
LOCK: true,
|
|
5302
|
+
UNLOCK: false,
|
|
5303
|
+
}),
|
|
5304
|
+
],
|
|
5305
|
+
[14, 'window_detection', tuya.valueConverter.onOff],
|
|
5306
|
+
[
|
|
5307
|
+
15,
|
|
5308
|
+
'window',
|
|
5309
|
+
tuya.valueConverterBasic.lookup({
|
|
5310
|
+
CLOSE: tuya.enum(0),
|
|
5311
|
+
OPEN: tuya.enum(1),
|
|
5312
|
+
}),
|
|
5313
|
+
],
|
|
5314
|
+
[21, 'holiday_temperature', tuya.valueConverter.divideBy10],
|
|
5315
|
+
[36, 'frost_protection', tuya.valueConverter.onOff],
|
|
5316
|
+
[39, 'switch_scale', tuya.valueConverter.raw],
|
|
5317
|
+
[47, 'local_temperature_calibration', tuya.valueConverter.localTempCalibration1],
|
|
5318
|
+
[101, 'boost_heating', tuya.valueConverter.onOff],
|
|
5319
|
+
[102, 'boost_time', tuya.valueConverter.countdown],
|
|
5320
|
+
[103, 'schedule_monday', tuya.valueConverter.thermostatScheduleDayMultiDP_TRV602Z_WithDayNumber(1)],
|
|
5321
|
+
[104, 'schedule_tuesday', tuya.valueConverter.thermostatScheduleDayMultiDP_TRV602Z_WithDayNumber(2)],
|
|
5322
|
+
[105, 'schedule_wednesday', tuya.valueConverter.thermostatScheduleDayMultiDP_TRV602Z_WithDayNumber(3)],
|
|
5323
|
+
[106, 'schedule_thursday', tuya.valueConverter.thermostatScheduleDayMultiDP_TRV602Z_WithDayNumber(4)],
|
|
5324
|
+
[107, 'schedule_friday', tuya.valueConverter.thermostatScheduleDayMultiDP_TRV602Z_WithDayNumber(5)],
|
|
5325
|
+
[108, 'schedule_saturday', tuya.valueConverter.thermostatScheduleDayMultiDP_TRV602Z_WithDayNumber(6)],
|
|
5326
|
+
[109, 'schedule_sunday', tuya.valueConverter.thermostatScheduleDayMultiDP_TRV602Z_WithDayNumber(7)],
|
|
5327
|
+
[110, 'holiday_mode', tuya.valueConverter.onOff],
|
|
5328
|
+
[
|
|
5329
|
+
111,
|
|
5330
|
+
'screen_orientation',
|
|
5331
|
+
tuya.valueConverterBasic.lookup({
|
|
5332
|
+
up: tuya.enum(0),
|
|
5333
|
+
right: tuya.enum(1),
|
|
5334
|
+
down: tuya.enum(2),
|
|
5335
|
+
left: tuya.enum(3),
|
|
5336
|
+
}),
|
|
5337
|
+
],
|
|
5338
|
+
[112, 'antifrost_temperature', tuya.valueConverter.divideBy10],
|
|
5339
|
+
[113, 'heating_stop', tuya.valueConverter.onOff],
|
|
5340
|
+
[114, 'local_temperature_calibration', tuya.valueConverter.localTempCalibration1],
|
|
5341
|
+
[115, 'programming_mode', tuya.valueConverter.raw],
|
|
5342
|
+
[116, 'eco_temperature', tuya.valueConverter.divideBy10],
|
|
5343
|
+
[117, 'comfort_temperature', tuya.valueConverter.divideBy10],
|
|
5344
|
+
[118, 'fault_code', tuya.valueConverter.raw],
|
|
5345
|
+
],
|
|
5346
|
+
},
|
|
5347
|
+
},
|
|
5239
5348
|
{
|
|
5240
5349
|
zigbeeModel: ['TS0121'],
|
|
5241
5350
|
model: 'TS0121_plug',
|
|
@@ -6836,7 +6945,7 @@ const definitions = [
|
|
|
6836
6945
|
return { auto: tuya.enum(0), manual: tuya.enum(1), temporary_manual: tuya.enum(2) };
|
|
6837
6946
|
}
|
|
6838
6947
|
else {
|
|
6839
|
-
return { auto: tuya.enum(
|
|
6948
|
+
return { auto: tuya.enum(1), manual: tuya.enum(0), temporary_manual: tuya.enum(2) };
|
|
6840
6949
|
}
|
|
6841
6950
|
}),
|
|
6842
6951
|
],
|
|
@@ -7148,17 +7257,61 @@ const definitions = [
|
|
|
7148
7257
|
model: 'PJ-ZGD01',
|
|
7149
7258
|
vendor: 'Tuya',
|
|
7150
7259
|
description: 'Garage door opener',
|
|
7151
|
-
fromZigbee: [legacy.fromZigbee.matsee_garage_door_opener, fromZigbee_1.default.ignore_basic_report],
|
|
7152
|
-
toZigbee: [legacy.toZigbee.matsee_garage_door_opener, legacy.toZigbee.tuya_data_point_test],
|
|
7153
7260
|
whiteLabel: [{ vendor: 'MatSee Plus', model: 'PJ-ZGD01' }],
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
|
|
7157
|
-
|
|
7158
|
-
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
|
|
7261
|
+
extend: [
|
|
7262
|
+
tuyaMagicPacket(),
|
|
7263
|
+
dpBinary({
|
|
7264
|
+
name: 'trigger',
|
|
7265
|
+
dp: 1,
|
|
7266
|
+
type: tuya.dataTypes.bool,
|
|
7267
|
+
valueOn: [true, true],
|
|
7268
|
+
valueOff: [false, false],
|
|
7269
|
+
description: 'Request door to close (= false) or open (= true), will not pulse output if contact shows door is already in requested state',
|
|
7270
|
+
}),
|
|
7271
|
+
dpNumeric({
|
|
7272
|
+
name: 'countdown',
|
|
7273
|
+
dp: 2,
|
|
7274
|
+
type: tuya.dataTypes.number,
|
|
7275
|
+
description: 'Countdown to trigger door movement after a certain time, will pulse output in all cases',
|
|
7276
|
+
unit: 's',
|
|
7277
|
+
valueMin: 0,
|
|
7278
|
+
valueMax: 43200,
|
|
7279
|
+
}),
|
|
7280
|
+
dpBinary({
|
|
7281
|
+
name: 'garage_door_contact',
|
|
7282
|
+
dp: 3,
|
|
7283
|
+
type: tuya.dataTypes.bool,
|
|
7284
|
+
valueOn: [true, false],
|
|
7285
|
+
valueOff: [false, true],
|
|
7286
|
+
description: 'Indicates if the garage door contact is closed (= true) or open (= false)',
|
|
7287
|
+
readOnly: true,
|
|
7288
|
+
}),
|
|
7289
|
+
dpNumeric({
|
|
7290
|
+
name: 'run_time',
|
|
7291
|
+
dp: 4,
|
|
7292
|
+
type: tuya.dataTypes.number,
|
|
7293
|
+
description: 'Configure the time to wait for the door contact status to change before triggering a run time alarm',
|
|
7294
|
+
unit: 's',
|
|
7295
|
+
valueMin: 0,
|
|
7296
|
+
valueMax: 120,
|
|
7297
|
+
}),
|
|
7298
|
+
dpNumeric({
|
|
7299
|
+
name: 'open_alarm_time',
|
|
7300
|
+
dp: 5,
|
|
7301
|
+
type: tuya.dataTypes.number,
|
|
7302
|
+
description: 'Configure the amount of time the door may be open before an open time alarm is triggered',
|
|
7303
|
+
unit: 's',
|
|
7304
|
+
valueMin: 0,
|
|
7305
|
+
valueMax: 86400,
|
|
7306
|
+
}),
|
|
7307
|
+
dpEnumLookup({
|
|
7308
|
+
name: 'status',
|
|
7309
|
+
dp: 12,
|
|
7310
|
+
type: tuya.dataTypes.enum,
|
|
7311
|
+
description: 'Indicates run time alarm, door open alarm or noraml status, will not retunr to normal until door is triggered again',
|
|
7312
|
+
lookup: { 'Open Time Alarm': 0, 'Run Time Alarm': 1, Normal: 2 },
|
|
7313
|
+
readOnly: true,
|
|
7314
|
+
}),
|
|
7162
7315
|
],
|
|
7163
7316
|
},
|
|
7164
7317
|
{
|
|
@@ -13011,6 +13164,46 @@ const definitions = [
|
|
|
13011
13164
|
],
|
|
13012
13165
|
},
|
|
13013
13166
|
},
|
|
13167
|
+
{
|
|
13168
|
+
fingerprint: tuya.fingerprint('TS0601', ['_TZE284_8zizsafo']),
|
|
13169
|
+
model: 'GX03',
|
|
13170
|
+
vendor: 'GIEX',
|
|
13171
|
+
description: 'GIEX 2 zone watering timer',
|
|
13172
|
+
fromZigbee: [tuya.fz.datapoints],
|
|
13173
|
+
toZigbee: [tuya.tz.datapoints],
|
|
13174
|
+
configure: tuya.configureMagicPacket,
|
|
13175
|
+
exposes: [
|
|
13176
|
+
e.binary('valve_1', ea.STATE_SET, 'ON', 'OFF').withDescription('Switch state'),
|
|
13177
|
+
e
|
|
13178
|
+
.numeric('countdown_1', ea.STATE_SET)
|
|
13179
|
+
.withValueMin(1)
|
|
13180
|
+
.withValueMax(1440)
|
|
13181
|
+
.withValueStep(1)
|
|
13182
|
+
.withUnit('min')
|
|
13183
|
+
.withDescription('Countdown timer for valve operation'),
|
|
13184
|
+
e.binary('valve_2', ea.STATE_SET, 'ON', 'OFF').withDescription('Switch state'),
|
|
13185
|
+
e
|
|
13186
|
+
.numeric('countdown_2', ea.STATE_SET)
|
|
13187
|
+
.withValueMin(1)
|
|
13188
|
+
.withValueMax(1440)
|
|
13189
|
+
.withValueStep(1)
|
|
13190
|
+
.withUnit('min')
|
|
13191
|
+
.withDescription('Countdown timer for valve operation'),
|
|
13192
|
+
e.battery(),
|
|
13193
|
+
],
|
|
13194
|
+
meta: {
|
|
13195
|
+
tuyaDatapoints: [
|
|
13196
|
+
[1, 'valve_1', tuya.valueConverter.onOff],
|
|
13197
|
+
[59, 'battery', tuya.valueConverter.raw],
|
|
13198
|
+
[104, 'valve_1', tuya.valueConverterBasic.lookup({ OFF: tuya.enum(2), ON: tuya.enum(0) })],
|
|
13199
|
+
[2, 'valve_2', tuya.valueConverter.onOff],
|
|
13200
|
+
[105, 'valve_1', tuya.valueConverterBasic.lookup({ OFF: tuya.enum(2), ON: tuya.enum(0) })],
|
|
13201
|
+
[13, 'countdown_1', tuya.valueConverter.raw],
|
|
13202
|
+
[14, 'countdown_2', tuya.valueConverter.raw],
|
|
13203
|
+
[15, 'battery', tuya.valueConverter.raw],
|
|
13204
|
+
],
|
|
13205
|
+
},
|
|
13206
|
+
},
|
|
13014
13207
|
];
|
|
13015
13208
|
exports.default = definitions;
|
|
13016
13209
|
module.exports = definitions;
|