From a9a26353842e1f5507b70359fc239205f838b857 Mon Sep 17 00:00:00 2001 From: "Sebastian (Iglu)" <71284889+iglu-sebastian@users.noreply.github.com> Date: Sat, 29 May 2021 12:52:41 +0000 Subject: [PATCH] TuYa TS0216 Sound and flash siren with linear mapped volume (#2631) * Modify TS0216 to map volume 100 -> 0 and 10 -> 100 * Modify TS0216 to map volume 0 -> 100 and 100 -> 10 * Fix extra semicolon --- converters/fromZigbee.js | 4 +++- converters/toZigbee.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/converters/fromZigbee.js b/converters/fromZigbee.js index 8006e26799fce..8dcdb73dde724 100644 --- a/converters/fromZigbee.js +++ b/converters/fromZigbee.js @@ -2014,7 +2014,9 @@ const converters = { convert: (model, msg, publish, options, meta) => { const result = {}; if (msg.data.hasOwnProperty('maxDuration')) result['duration'] = msg.data.maxDuration; - if (msg.data.hasOwnProperty('2')) result['volume'] = msg.data['2']; + if (msg.data.hasOwnProperty('2')) { + result['volume'] = mapNumberRange(msg.data['2'], 100, 10, 0, 100); + } if (msg.data.hasOwnProperty('61440')) { result['alarm'] = (msg.data['61440'] == 0) ? false : true; } diff --git a/converters/toZigbee.js b/converters/toZigbee.js index d8e57ccf33381..fe6b7f08cdc8a 100644 --- a/converters/toZigbee.js +++ b/converters/toZigbee.js @@ -4590,7 +4590,7 @@ const converters = { ts0216_volume: { key: ['volume'], convertSet: async (entity, key, value, meta) => { - await entity.write('ssIasWd', {0x0002: {value: value, type: 0x20}}); + await entity.write('ssIasWd', {0x0002: {value: utils.mapNumberRange(value, 0, 100, 100, 10), type: 0x20}}); }, convertGet: async (entity, key, meta) => { await entity.read('ssIasWd', [0x0002]);