Skip to content

Commit

Permalink
fix: Improve TuYa ZY-M100-24G support (#6959)
Browse files Browse the repository at this point in the history
* Update tuya.ts

modify per 
Koenkk/zigbee2mqtt#18237

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts

* Update tuya.ts
  • Loading branch information
juan11perez committed Jan 28, 2024
1 parent 1eb6b9c commit f1ee1b9
Showing 1 changed file with 32 additions and 16 deletions.
48 changes: 32 additions & 16 deletions src/devices/tuya.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6806,29 +6806,45 @@ const definitions: Definition[] = [
model: 'ZY-M100-24G',
vendor: 'TuYa',
description: '24G MmWave radar human presence motion sensor',
configure: tuya.configureMagicPacket,
fromZigbee: [tuya.fz.datapoints],
toZigbee: [tuya.tz.datapoints],
configure: tuya.configureMagicPacket,
exposes: [
e.illuminance_lux(), e.presence(),
e.enum('presence_state', ea.STATE, ['none', 'present', 'moving']).withDescription('Presence state'),
e.numeric('target_distance', ea.STATE).withDescription('Min detection distance').withUnit('m'),
e.numeric('motion_sensitivity', ea.STATE_SET).withValueMin(1).withValueMax(10).withValueStep(1).withDescription('Motion sensitivity'),
e.numeric('detection_distance_max', ea.STATE_SET).withValueMin(1.5).withValueMax(5.5).withValueStep(1)
.withDescription('Max detection distance').withUnit('m'),
e.numeric('fading_time', ea.STATE_SET).withValueMin(1).withValueMax(1500).withValueStep(1).withDescription('Delay time').withUnit('s'),
e.numeric('presence_sensitivity', ea.STATE_SET).withValueMin(1).withValueMax(10).withValueStep(1).withDescription('Presence sensitivity'),
e.enum('state', ea.STATE, ['none', 'presence', 'move'])
.withDescription('Presence state sensor'),
e.presence().withDescription('Ocuppancy'),
e.numeric('distance', ea.STATE).withDescription('Target distance'),
e.illuminance_lux().withDescription('Illuminance sensor'),
e.numeric('move_sensitivity', ea.STATE_SET).withValueMin(1)
.withValueMax(10)
.withValueStep(1)
.withDescription('Motion sensitivity'),
e.numeric('presence_sensitivity', ea.STATE_SET).withValueMin(1)
.withValueMax(10)
.withValueStep(1)
.withDescription('Presence sensitivity'),
e.numeric('radar_range', ea.STATE_SET).withValueMin(1.5)
.withValueMax(5.5)
.withValueStep(1)
.withUnit('m').withDescription('Maximum range'),
e.numeric('presence_timeout', ea.STATE_SET).withValueMin(1)
.withValueMax(1500)
.withValueStep(1)
.withUnit('s').withDescription('Fade time'),
],
meta: {
multiEndpoint: true,
tuyaDatapoints: [
[104, 'illuminance_lux', tuya.valueConverter.raw],
[105, 'presence_state', tuya.valueConverterBasic.lookup({'none': tuya.enum(0), 'present': tuya.enum(1), 'moving': tuya.enum(2)})],
[106, 'motion_sensitivity', tuya.valueConverter.divideBy10],
[107, 'detection_distance_max', tuya.valueConverter.divideBy100],
[109, 'target_distance', tuya.valueConverter.divideBy100],
[110, 'fading_time', tuya.valueConverter.raw],
[111, 'presence_sensitivity', tuya.valueConverter.divideBy10],
[112, 'presence', tuya.valueConverter.trueFalse1],
[106, 'move_sensitivity', tuya.valueConverter.divideBy10],
[111, 'presence_sensitivity', tuya.valueConverter.divideBy10],
[107, 'radar_range', tuya.valueConverter.divideBy100],
[109, 'distance', tuya.valueConverter.divideBy100],
[110, 'presence_timeout', tuya.valueConverter.raw],
[104, 'illuminance_lux', tuya.valueConverter.raw],
[102, 'illuminance_treshold_max', tuya.valueConverter.raw],
[103, 'illuminance_treshold_min', tuya.valueConverter.raw],
[105, 'state', tuya.valueConverterBasic.lookup({'none': 0, 'presence': 1, 'move': 2})],
],
},
},
Expand Down

0 comments on commit f1ee1b9

Please sign in to comment.