Skip to content

Commit

Permalink
feat(add): NAS-AB06B2 (#6164)
Browse files Browse the repository at this point in the history
* add: Neo Solar Alarm

* Update neo.ts

* Update neo.ts

* Update legacy.ts

* Update legacy.ts

* Update legacy.ts

* Update neo.ts

* Update neo.ts

* Update legacy.ts

* Update neo.ts

* Update legacy.ts

* Update neo.ts

* Update neo.ts

* Update neo.ts

* Update legacy.ts

* Update tuya.ts

* Update tuya.ts

* Update neo.ts

---------

Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
  • Loading branch information
Burki24 and Koenkk committed Sep 17, 2023
1 parent beddf3b commit 794f63d
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 4 deletions.
37 changes: 35 additions & 2 deletions src/devices/neo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const definitions: Definition[] = [
},
},
{
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_t1blo2bj', '_TZE204_t1blo2bj', '_TZE200_nlrfgpny']),
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_t1blo2bj', '_TZE204_t1blo2bj']),
zigbeeModel: ['1blo2bj', 'lrfgpny'],
model: 'NAS-AB02B2',
vendor: 'Neo',
Expand All @@ -51,7 +51,6 @@ const definitions: Definition[] = [
e.enum('volume', ea.STATE_SET, ['low', 'medium', 'high']),
e.numeric('battpercentage', ea.STATE).withUnit('%'),
],
whiteLabel: [tuya.whitelabel('Neo', 'NAS-AB06B2', 'Outdoor solar alarm', ['_TZE200_nlrfgpny'])],
onEvent: tuya.onEventSetLocalTime,
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(1);
Expand Down Expand Up @@ -85,6 +84,40 @@ const definitions: Definition[] = [
await endpoint.command('manuSpecificTuya', 'mcuVersionRequest', {'seq': 0x0002});
},
},
{
fingerprint: tuya.fingerprint('TS0601', ['_TZE200_nlrfgpny']),
model: 'NAS-AB06B2',
vendor: 'Neo',
description: 'Outdoor solar alarm',
fromZigbee: [tuya.fz.datapoints],
toZigbee: [tuya.tz.datapoints],
configure: tuya.configureMagicPacket,
exposes: [
e.enum('alarm_state', ea.STATE, ['alarm_sound', 'alarm_light', 'alarm_sound_light', 'normal']).withDescription('Alarm status'),
e.binary('alarm_switch', ea.STATE_SET, 'ON', 'OFF').withDescription('Enable alarm'),
e.binary('tamper_alarm_switch', ea.STATE_SET, 'ON', 'OFF').withDescription('Enable tamper alarm'),
e.binary('tamper_alarm', ea.STATE, 'ON', 'OFF').withDescription('Indicates whether the device is tampered'),
e.enum('alarm_melody', ea.STATE_SET, ['melody_1', 'melody_2', 'melody_3']).withDescription('Alarm sound effect'),
e.enum('alarm_mode', ea.STATE_SET, ['alarm_sound', 'alarm_light', 'alarm_sound_light']).withDescription('Alarm mode'),
e.numeric('alarm_time', ea.STATE_SET).withValueMin(1).withValueMax(60).withValueStep(1).withUnit('min')
.withDescription('Alarm duration in minutes'),
e.binary('charging', ea.STATE, true, false).withDescription('Charging status'),
e.battery(),
],
meta: {
tuyaDatapoints: [
[1, 'alarm_state', tuya.valueConverterBasic.lookup({'alarm_sound': 0, 'alarm_light': 1, 'alarm_sound_light': 2, 'normal': 3})],
[13, 'alarm_switch', tuya.valueConverter.onOff],
[101, 'tamper_alarm_switch', tuya.valueConverter.onOff],
[20, 'tamper_alarm', tuya.valueConverter.onOff],
[21, 'alarm_melody', tuya.valueConverterBasic.lookup({'melody_1': 0, 'melody_2': 1, 'melody_3': 2})],
[102, 'alarm_mode', tuya.valueConverterBasic.lookup({'alarm_sound': 0, 'alarm_light': 1, 'alarm_sound_light': 2})],
[7, 'alarm_time', tuya.valueConverter.raw],
[6, 'charging', tuya.valueConverter.raw],
[15, 'battery', tuya.valueConverter.raw],
],
},
},
];

module.exports = definitions;
4 changes: 2 additions & 2 deletions src/lib/tuya.ts
Original file line number Diff line number Diff line change
Expand Up @@ -836,8 +836,8 @@ const tuyaTz = {
} as Tz.Converter,
datapoints: {
key: [
'temperature_unit', 'temperature_calibration', 'humidity_calibration', 'alarm_switch',
'state', 'brightness', 'min_brightness', 'max_brightness', 'power_on_behavior', 'position',
'temperature_unit', 'temperature_calibration', 'humidity_calibration', 'alarm_switch', 'tamper_alarm_switch',
'state', 'brightness', 'min_brightness', 'max_brightness', 'power_on_behavior', 'position', 'alarm_melody', 'alarm_mode',
'countdown', 'light_type', 'silence', 'self_test', 'child_lock', 'open_window', 'open_window_temperature', 'frost_protection',
'system_mode', 'heating_stop', 'current_heating_setpoint', 'local_temperature_calibration', 'preset', 'boost_timeset_countdown',
'holiday_start_stop', 'holiday_temperature', 'comfort_temperature', 'eco_temperature', 'working_day',
Expand Down

0 comments on commit 794f63d

Please sign in to comment.