From bb9ede9d5833a10c3b26d8c27eed1419f0e33c73 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Wed, 24 Feb 2021 21:36:24 +0100 Subject: [PATCH] Support battery_low and power_type for Neo NAS-AB02B0. https://github.com/Koenkk/zigbee2mqtt/issues/6428 --- converters/fromZigbee.js | 7 +++++-- devices.js | 3 ++- lib/tuya.js | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/converters/fromZigbee.js b/converters/fromZigbee.js index f9b8172e5e7e4..9e1f88ca87206 100644 --- a/converters/fromZigbee.js +++ b/converters/fromZigbee.js @@ -1856,8 +1856,11 @@ const converters = { return {humidity_min: value}; case tuya.dataPoints.neoMaxHumidity: // 0x026E [0,0,0,80] max alarm humidity return {humidity_max: value}; - case tuya.dataPoints.neoUnknown1: // 0x0465 [4] - break; + case tuya.dataPoints.neoPowerType: // 0x0465 [4] + return { + power_type: {0: 'battery_full', 1: 'battery_high', 2: 'battery_medium', 3: 'battery_low', 4: 'usb'}[value], + battery_low: value === 3, + }; case tuya.dataPoints.neoMelody: // 0x0466 [5] Melody return {melody: value}; case tuya.dataPoints.neoUnknown3: // 0x0473 [0] diff --git a/devices.js b/devices.js index aa01c18fc3df2..a64cb5bd051ca 100755 --- a/devices.js +++ b/devices.js @@ -2108,7 +2108,7 @@ const devices = [ fromZigbee: [fz.neo_t_h_alarm, fz.ignore_basic_report], toZigbee: [tz.neo_t_h_alarm], exposes: [ - e.temperature(), e.humidity(), exposes.binary('humidity_alarm', ea.STATE_SET, true, false), + e.temperature(), e.humidity(), exposes.binary('humidity_alarm', ea.STATE_SET, true, false), e.battery_low(), exposes.binary('temperature_alarm', ea.STATE_SET, true, false), exposes.binary('alarm', ea.STATE_SET, true, false), exposes.enum('melody', ea.STATE_SET, Array.from(Array(18).keys()).map((x)=>(x+1).toString())), @@ -2118,6 +2118,7 @@ const devices = [ exposes.numeric('humidity_min', ea.STATE_SET).withUnit('%'), exposes.numeric('humidity_max', ea.STATE_SET).withUnit('%'), exposes.enum('volume', ea.STATE_SET, ['low', 'medium', 'high']), + exposes.enum('power_type', ea.STATE, ['battery_full', 'battery_high', 'battery_medium', 'battery_low', 'usb']), ], }, diff --git a/lib/tuya.js b/lib/tuya.js index 7233ea6a2d5ed..433e26204e9af 100644 --- a/lib/tuya.js +++ b/lib/tuya.js @@ -241,7 +241,7 @@ const dataPoints = { moesSchedule: 101, etopErrorStatus: 13, // Neo T&H - neoUnknown1: 101, + neoPowerType: 101, neoMelody: 102, neoDuration: 103, neoAlarm: 104,