2024-06-28 11:07:56 +03:00
const exposes = require ( 'zigbee-herdsman-converters/lib/exposes' ) ;
const e = exposes . presets ;
const ea = exposes . access ;
const tuya = require ( 'zigbee-herdsman-converters/lib/tuya' ) ;
2024-07-01 15:26:04 +03:00
const { Numeric } = require ( 'zigbee-herdsman-converters/lib/exposes' ) ;
const { Binary } = require ( 'zigbee-herdsman-converters/lib/exposes' ) ;
2024-07-01 15:52:51 +03:00
2025-01-30 15:47:13 +03:00
2024-07-01 15:52:51 +03:00
const convLocal = {
gidrolockWinnerSensor : {
2025-01-31 12:59:27 +03:00
vCurrent : null ,
2024-07-01 15:52:51 +03:00
from : ( v ) => {
2025-01-31 12:59:27 +03:00
console . error ( "Incoming sensor: " + v ) ;
vCurrent = v ;
2024-07-01 15:52:51 +03:00
return {
signal : ( v & 0x00 _00 _00 _FF ) ,
battery : ( v & 0x00 _00 _FF _00 ) ,
isOnline : ( Boolean ) ( v & 0b00000000 _00000010 _00000000 _00000000 ) ,
leakDetected : ( Boolean ) ( v & 0b00000000 _00000100 _00000000 _00000000 ) ,
ignoreLeaks : ( Boolean ) ( v & 0b00000000 _00001000 _00000000 _00000000 ) ,
securityMode : ( Boolean ) ( v & 0b00000000 _00010000 _00000000 _00000000 ) ,
2025-01-30 15:47:13 +03:00
statusBatterySignal : ( Boolean ) ( v & 0b00000000 _00100000 _00000000 _00000000 ) // `true` in case of low battery charge
// or sensor not responding in 20+ hours
2024-07-01 15:52:51 +03:00
}
2024-07-01 16:31:52 +03:00
} ,
2025-01-30 15:47:13 +03:00
} ,
waterMeter : {
from : ( v ) => { return v & 0b00000111 _11111111 _11111111 _11111111 ; } ,
to : ( v ) => { return Number . parseInt ( v ) ; }
2024-07-01 15:52:51 +03:00
}
}
2024-06-28 11:07:56 +03:00
const tzDatapoints = {
... tuya . tz . datapoints ,
2025-01-30 15:47:13 +03:00
key : [
'switch' , 'percent_control' , 'fault' , 'weather_delay' , 'countdown' ,
'smart_weather' , 'minihum_set' , 'alarm' , 'battery' , 'cleaning' ,
'journal' , 'channel_2' , 'device_cmd' ,
'sensor_1' , 'sensor_name_1' ,
'sensor_2' , 'sensor_name_2' ,
'sensor_3' , 'sensor_name_3' ,
'sensor_4' , 'sensor_name_4' ,
'sensor_5' , 'sensor_name_5' ,
'sensor_6' , 'sensor_name_6' ,
'sensor_7' , 'sensor_name_7' ,
'sensor_8' , 'sensor_name_8' ,
'sensor_9' , 'sensor_name_9' ,
'sensor_10' , 'sensor_name_10' ,
'sensor_11' , 'sensor_name_11' ,
'sensor_12' , 'sensor_name_12' ,
'sensor_13' , 'sensor_name_13' ,
'sensor_14' , 'sensor_name_14' ,
'sensor_15' , 'sensor_name_15' ,
'sensor_16' , 'sensor_name_16' ,
'sensor_17' , 'sensor_name_17' ,
'sensor_18' , 'sensor_name_18' ,
'sensor_19' , 'sensor_name_19' ,
'sensor_20' , 'sensor_name_20' ,
'sensor_21' , 'sensor_name_21' ,
'sensor_22' , 'sensor_name_22' ,
'sensor_23' , 'sensor_name_23' ,
'sensor_24' , 'sensor_name_24' ,
'sensor_25' , 'sensor_name_25' ,
'sensor_26' , 'sensor_name_26' ,
'sensor_27' , 'sensor_name_27' ,
'sensor_28' , 'sensor_name_28' ,
'sensor_29' , 'sensor_name_29' ,
'sensor_30' , 'sensor_name_30' ,
'sensor_31' , 'sensor_name_31' ,
'sensor_32' , 'sensor_name_32'
]
}
const fzDatapoints = {
... tuya . fz . datapoints ,
key : [
'switch' , 'percent_control' , 'fault' , 'weather_delay' , 'countdown' ,
'smart_weather' , 'minihum_set' , 'alarm' , 'battery' , 'cleaning' ,
'journal' , 'channel_2' , 'device_cmd' ,
'sensor_1' , 'sensor_name_1' ,
2024-06-28 11:07:56 +03:00
'sensor_2' , 'sensor_name_2' ,
'sensor_3' , 'sensor_name_3' ,
'sensor_4' , 'sensor_name_4' ,
'sensor_5' , 'sensor_name_5' ,
'sensor_6' , 'sensor_name_6' ,
'sensor_7' , 'sensor_name_7' ,
'sensor_8' , 'sensor_name_8' ,
'sensor_9' , 'sensor_name_9' ,
'sensor_10' , 'sensor_name_10' ,
'sensor_11' , 'sensor_name_11' ,
'sensor_12' , 'sensor_name_12' ,
'sensor_13' , 'sensor_name_13' ,
'sensor_14' , 'sensor_name_14' ,
'sensor_15' , 'sensor_name_15' ,
'sensor_16' , 'sensor_name_16' ,
'sensor_17' , 'sensor_name_17' ,
'sensor_18' , 'sensor_name_18' ,
'sensor_19' , 'sensor_name_19' ,
'sensor_20' , 'sensor_name_20' ,
'sensor_21' , 'sensor_name_21' ,
'sensor_22' , 'sensor_name_22' ,
'sensor_23' , 'sensor_name_23' ,
'sensor_24' , 'sensor_name_24' ,
'sensor_25' , 'sensor_name_25' ,
'sensor_26' , 'sensor_name_26' ,
'sensor_27' , 'sensor_name_27' ,
'sensor_28' , 'sensor_name_28' ,
'sensor_29' , 'sensor_name_29' ,
'sensor_30' , 'sensor_name_30' ,
'sensor_31' , 'sensor_name_31' ,
'sensor_32' , 'sensor_name_32'
]
}
const definition = {
fingerprint : [
{
modelID : 'TS0601' ,
manufacturerName : '_TZE200_yltivvzb' ,
} ,
] ,
model : 'Gidrolock Winner' ,
vendor : 'Gidrolock' ,
description : 'Gidrolock smart water valve' ,
2025-01-30 15:47:13 +03:00
fromZigbee : [ fzDatapoints ] ,
2024-06-28 11:07:56 +03:00
toZigbee : [ tzDatapoints ] ,
onEvent : tuya . onEventSetTime ,
exposes : [
2024-11-13 14:35:38 +03:00
exposes . presets . enum ( 'fault' , ea . STATE , [ 'low_battery' , 'fault' , 'lack_water' , 'sensor_fault' , 'motor_fault' , 'low_temp' ] ) . withCategory ( 'diagnostic' ) . withDescription ( "Tuya build-in fault codes." ) ,
2024-07-01 16:31:52 +03:00
exposes . presets . binary ( 'switch' , ea . STATE _SET , true , false ) . withLabel ( 'Valve status' ) ,
2024-11-13 14:35:38 +03:00
exposes . presets . binary ( 'cleaning' , ea . STATE _SET , true , false ) . withLabel ( 'Cleaning Mode status' ) ,
exposes . presets . binary ( 'alarm' , ea . STATE _SET , true , false ) . withDescription ( 'Can turn the alarm off, but not on. Use External vendor sensor for that.' ) ,
2024-07-01 15:26:04 +03:00
exposes . presets . enum ( 'battery' , ea . STATE , [ '10' , '20' , '30' , '40' , '50' , '60' , '70' , '80' , '90' , '100' , 'Plugged In' ] ) ,
2025-01-30 15:47:13 +03:00
exposes . presets . binary ( 'channel_2' , ea . STATE _SET , true , false ) . withLabel ( "External vendor sensor" ) . withDescription ( "A DP to trigger alarm via Smart Life scenes. Triggers alarm on true, but does not turn the alarm off." ) ,
2024-11-13 14:35:38 +03:00
2025-01-31 12:59:27 +03:00
//exposes.presets.enum('weather_delay', ea.STATE_SET, ['1', '10']).withLabel("Multiplier 1").withDescription("Water meter multiplier"), // doesn't work in z2m
2025-01-30 15:47:13 +03:00
exposes . presets . numeric ( 'countdown' , ea . SET ) . withLabel ( "Water Meter 1" ) ,
2024-11-13 14:35:38 +03:00
2025-01-31 12:59:27 +03:00
//exposes.presets.enum('smart_weather', ea.STATE_SET, ['1', '10']).withLabel("Multiplier 2").withDescription("Water meter multiplier"), // doesn't work in z2m
2025-01-30 15:47:13 +03:00
exposes . presets . numeric ( 'minihum_set' , ea . STATE _SET ) . withLabel ( "Water Meter 2" ) ,
2024-07-01 15:26:04 +03:00
2025-01-31 12:59:27 +03:00
exposes . presets . numeric ( 'device_cmd' , ea . SET ) . withLabel ( "Device CMD" ) . withDescription ( "Used to issue commands to the device." ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
//#region Sensor Fields
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_01' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_01' , 'sensor_1' , ea . STATE ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_02' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_02' , 'sensor_2' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_03' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_03' , 'sensor_3' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_04' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_04' , 'sensor_4' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_05' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_05' , 'sensor_5' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_06' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_06' , 'sensor_6' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_07' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_07' , 'sensor_7' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_08' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_08' , 'sensor_8' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_09' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_09' , 'sensor_9' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_10' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_10' , 'sensor_10' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_11' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_11' , 'sensor_11' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_12' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_12' , 'sensor_12' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_13' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_13' , 'sensor_13' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_14' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_14' , 'sensor_14' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_15' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_15' , 'sensor_15' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_16' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_16' , 'sensor_16' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_17' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_17' , 'sensor_17' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_18' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_18' , 'sensor_18' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_19' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_19' , 'sensor_19' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_20' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_20' , 'sensor_20' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-06-28 11:07:56 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_21' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_21' , 'sensor_21' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_22' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_22' , 'sensor_22' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_23' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_23' , 'sensor_23' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_24' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_24' , 'sensor_24' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_25' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_25' , 'sensor_25' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_26' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_26' , 'sensor_26' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_27' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_27' , 'sensor_27' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_28' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_28' , 'sensor_28' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_29' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_29' , 'sensor_29' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_30' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_30' , 'sensor_30' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-07-01 15:26:04 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_31' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_31' , 'sensor_31' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2024-11-13 14:35:38 +03:00
2025-01-30 15:47:13 +03:00
exposes . presets . text ( 'sensor_name_32' , ea . STATE _SET ) ,
2025-01-31 12:59:27 +03:00
exposes . presets . composite ( 'sensor_32' , 'sensor_32' , ea . STATE ) . withFeature ( new Binary ( 'isOnline' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'leakDetected' , ea . STATE , true , false ) ) . withFeature ( new Numeric ( 'signal' , ea . STATE ) ) . withFeature ( new Numeric ( 'battery' , ea . STATE ) ) . withFeature ( new Binary ( 'securityMode' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'statusBatterySignal' , ea . STATE , true , false ) ) . withFeature ( new Binary ( 'ignoreLeaks' , ea . STATE , true , false ) ) ,
2025-01-30 15:47:13 +03:00
2024-06-28 11:07:56 +03:00
] ,
meta : {
tuyaDatapoints : [
[ 1 , 'switch' , tuya . valueConverter . raw ] ,
//[2, 'percent_control', tuya.valueConverter.raw], //don't even know what this is
[ 4 , 'fault' , tuya . valueConverter . raw ] ,
2024-07-01 15:26:04 +03:00
[ 10 , 'weather_delay' , tuya . valueConverter . raw ] ,
2025-01-30 15:47:13 +03:00
[ 11 , 'countdown' , convLocal . waterMeter ] ,
2024-07-01 15:26:04 +03:00
[ 13 , 'smart_weather' , tuya . valueConverter . raw ] ,
2025-01-30 15:47:13 +03:00
[ 21 , 'minihum_set' , convLocal . waterMeter ] ,
2024-06-28 11:07:56 +03:00
[ 101 , 'alarm' , tuya . valueConverter . raw ] ,
2024-07-01 15:26:04 +03:00
[ 102 ,
'battery' ,
tuya . valueConverterBasic . lookup ( {
10 : tuya . enum ( 0 ) ,
20 : tuya . enum ( 1 ) ,
30 : tuya . enum ( 2 ) ,
40 : tuya . enum ( 3 ) ,
50 : tuya . enum ( 4 ) ,
60 : tuya . enum ( 5 ) ,
70 : tuya . enum ( 6 ) ,
80 : tuya . enum ( 7 ) ,
90 : tuya . enum ( 8 ) ,
100 : tuya . enum ( 9 ) ,
2025-01-30 15:47:13 +03:00
'Plugged in' : tuya . enum ( 10 ) }
)
] ,
2024-06-28 11:07:56 +03:00
2025-01-30 15:47:13 +03:00
//#region Device CMD
2024-11-13 14:35:38 +03:00
/ * *
2025-01-30 15:47:13 +03:00
*
2024-11-13 14:35:38 +03:00
* Device _CMD : a numeric DP used to issue commands to Winner .
* Gidrolock Sensors Only ;
* Last byte is used for the sensor number ( 1 - 32 ) , e . g : 0x01 _00 _00 _0F - replace sensor 15
*
2025-01-31 12:59:27 +03:00
* 0x01 _00 _00 _00 - добавление / замена датчика ( замкнуть контакты WSR ) | adding / replacing sensor ( close the circuit on WSR )
* 0x02 _00 _00 _00 - удаление датчика | remove sensor
2024-11-13 14:35:38 +03:00
* 0x12 _00 _00 _01 - открыть кран при аварии | open the valve during an alarm
* /
[ 103 , 'device_cmd' , tuya . valueConverter . raw ] ,
2024-06-28 12:39:41 +03:00
2024-07-01 15:26:04 +03:00
[ 104 , 'cleaning' , tuya . valueConverter . raw ] ,
2024-11-13 14:35:38 +03:00
/ * J o u r n a l D P : t h e d e v i c e w i l l p o s t a s t r i n g i n t h i s D P i n f o r m a t " s e n s o r n a m e ; x " w h e r e x i s a s p e c i a l c h a r a c t e r :
2024-07-01 15:26:04 +03:00
* A - regular leak event
* L - sensor battery charge low
* T - sensor signal lost
* B - device ( ! ) battery charge low
*
* These values are displayed VERY BRIEFLY
* to utilize Tuya ' s DP log in the Smart Life app for Winner .
* Unless you have a log of your own to track the values ,
* this field is practically useless .
2024-06-28 12:39:41 +03:00
* /
2024-07-01 16:41:20 +03:00
//[105, 'journal', tuya.valueConverter.raw]
2024-07-01 15:26:04 +03:00
[ 106 , 'channel_2' , tuya . valueConverter . raw ] ,
2024-06-28 12:39:41 +03:00
2024-07-01 15:26:04 +03:00
//#region Sensors DPs
2025-01-31 12:59:27 +03:00
/ * * S e n s o r c o m m a n d s
* These commands must be sent directly to the sensor DP .
* 0x03 _00 _00 _00 - включить игнор аварии датчика | enable ignore alarm on specific sensor
* 0x04 _00 _00 _00 - отключить игнор аварии датчика | disable ignore alarm on specific sensor
* 0x05 _00 _00 _00 - включить режим повышенной безопасности для датчика | enable enhanced security mode on specific sensor
* 0x06 _00 _00 _00 - выключить режим повышенной безопасности для датчика | disable enhanced security mode on specific sensor
*
* /
2024-07-01 15:52:51 +03:00
[ 107 , 'sensor_1' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:31:52 +03:00
[ 108 , 'sensor_name_1' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 109 , 'sensor_2' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 110 , 'sensor_name_2' , tuya . valueConverter . raw ] ,
2024-06-28 12:39:41 +03:00
2024-07-01 15:52:51 +03:00
[ 111 , 'sensor_3' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 112 , 'sensor_name_3' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 113 , 'sensor_4' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 114 , 'sensor_name_4' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 115 , 'sensor_5' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 116 , 'sensor_name_5' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 117 , 'sensor_6' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 118 , 'sensor_name_6' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 119 , 'sensor_7' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 120 , 'sensor_name_7' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 121 , 'sensor_8' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 122 , 'sensor_name_8' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 123 , 'sensor_9' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 124 , 'sensor_name_9' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 125 , 'sensor_10' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 126 , 'sensor_name_10' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 127 , 'sensor_11' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 128 , 'sensor_name_11' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 129 , 'sensor_12' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 130 , 'sensor_name_12' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 131 , 'sensor_13' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 132 , 'sensor_name_13' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 133 , 'sensor_14' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 134 , 'sensor_name_14' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 135 , 'sensor_15' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 136 , 'sensor_name_15' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 137 , 'sensor_16' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 138 , 'sensor_name_16' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 139 , 'sensor_17' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 140 , 'sensor_name_17' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 141 , 'sensor_18' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 142 , 'sensor_name_18' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 143 , 'sensor_19' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 144 , 'sensor_name_19' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 145 , 'sensor_20' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 146 , 'sensor_name_20' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 147 , 'sensor_21' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 148 , 'sensor_name_21' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 149 , 'sensor_22' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 150 , 'sensor_name_22' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 151 , 'sensor_23' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 152 , 'sensor_name_23' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 153 , 'sensor_24' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 154 , 'sensor_name_24' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 155 , 'sensor_25' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 156 , 'sensor_name_25' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 157 , 'sensor_26' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 158 , 'sensor_name_26' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 159 , 'sensor_27' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 160 , 'sensor_name_27' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 161 , 'sensor_28' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 162 , 'sensor_name_28' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 163 , 'sensor_29' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 164 , 'sensor_name_29' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 165 , 'sensor_30' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 166 , 'sensor_name_30' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 167 , 'sensor_31' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 168 , 'sensor_name_31' , tuya . valueConverter . raw ] ,
2024-06-28 11:07:56 +03:00
2024-07-01 15:52:51 +03:00
[ 169 , 'sensor_32' , convLocal . gidrolockWinnerSensor ] ,
2024-07-01 16:41:20 +03:00
[ 170 , 'sensor_name_32' , tuya . valueConverter . raw ] ,
2024-07-01 15:26:04 +03:00
//#endregion
2024-06-28 11:07:56 +03:00
] ,
} ,
extend : [
2024-07-01 15:26:04 +03:00
tuya . modernExtend . tuyaMagicPacket ( ) ,
2024-06-28 11:07:56 +03:00
] ,
} ;
module . exports = definition ;