From f7e08ec9554e884573aec2ea4fa4e511ef43f1dc Mon Sep 17 00:00:00 2001 From: nikzori <34075132+nikzori@users.noreply.github.com> Date: Mon, 1 Jul 2024 16:31:52 +0300 Subject: [PATCH] Update Winner_ZigBee_dev.js --- Winner/ZigBee/Winner_ZigBee_dev.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Winner/ZigBee/Winner_ZigBee_dev.js b/Winner/ZigBee/Winner_ZigBee_dev.js index db10148..6bd03e8 100644 --- a/Winner/ZigBee/Winner_ZigBee_dev.js +++ b/Winner/ZigBee/Winner_ZigBee_dev.js @@ -9,7 +9,6 @@ const tuya = require('zigbee-herdsman-converters/lib/tuya'); const exp = require('constants'); const { Numeric } = require('zigbee-herdsman-converters/lib/exposes'); const { Binary } = require('zigbee-herdsman-converters/lib/exposes'); -const { default: converters } = require('zigbee-herdsman-converters/converters/fromZigbee'); const convLocal = { gidrolockWinnerSensor: { @@ -24,6 +23,10 @@ const convLocal = { securityMode: (Boolean)(v & 0b00000000_00010000_00000000_00000000), statusBatterySignal: (Boolean)(v & 0b00000000_00100000_00000000_00000000) } + }, + to: (v) => { + let result = '0000000000' + Number(v.statusBatterySignal) + Number(v.securityMode) + Number(v.ignoreLeaks) + Number(v.leakDetected) + Number(v.isOnline) + Number(v.battery).toString(2).padStart(8, '0') + Number(v.signal).toString(2).padStart(8, '0'); + return result; } } } @@ -80,9 +83,9 @@ const definition = { onEvent: tuya.onEventSetTime, exposes: [ exposes.presets.enum('fault', ea.STATE, ['low_battery', 'fault', 'lack_water', 'sensor_fault', 'motor_fault', 'low_temp']).withCategory('diagnostic'), - exposes.presets.binary('switch', ea.STATE_SET, true, false ).withLabel('Valve status').withDescription('Can not turn the alarm on. Use External vendor sensor for that.'), + exposes.presets.binary('switch', ea.STATE_SET, true, false ).withLabel('Valve status'), exposes.presets.binary('cleaning', ea.STATE_SET, true, false).withLabel('Cleaning Mode:'), - exposes.presets.binary('alarm', ea.STATE_SET, true, false), + exposes.presets.binary('alarm', ea.STATE_SET, true, false).withDescription('Can not turn the alarm on. Use External vendor sensor for that.'), exposes.presets.enum('battery', ea.STATE, ['10', '20', '30', '40', '50', '60', '70', '80', '90', '100', 'Plugged In']), exposes.presets.binary('channel_2', 0b010, true, false).withLabel("External vendor sensor").withDescription("A DP for an extra wired sensor. Triggers alarm on true."), @@ -238,7 +241,7 @@ const definition = { //#region Sensors DPs [107, 'sensor_1', convLocal.gidrolockWinnerSensor], - [108, 'sensor_name_1', tuya.valueConverterBasic.lookup({'single': 0, 'double': 1, 'hold': 2})], + [108, 'sensor_name_1', tuya.valueConverter.raw], [109, 'sensor_2', convLocal.gidrolockWinnerSensor], [110, 'sensor_name_2', tuya.valueConverterBasic.lookup({'single': 0, 'double': 1, 'hold': 2})],