zigbee-herdsman-converters
Version:
Collection of device converters to be used with zigbee-herdsman
357 lines • 18.5 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.definitions = void 0;
const exposes = __importStar(require("../lib/exposes"));
const m = __importStar(require("../lib/modernExtend"));
const tuya = __importStar(require("../lib/tuya"));
const e = exposes.presets;
const ea = exposes.access;
exports.definitions = [
{
// Since a lot of Tuya devices use the same modelID, but use different datapoints
// it's necessary to provide a fingerprint instead of a zigbeeModel
fingerprint: [{ modelID: "TS0601", manufacturerName: "_TZE284_ajhu0zqb" }],
model: "SZW08",
vendor: "Lincukoo",
description: "Smart water leakage/lack alarm sensor",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.enum("alarm_status", ea.STATE, ["normal", "alarm"]).withDescription("device alarm status"),
e.enum("mode", ea.STATE_SET, ["leakage", "shortage"]).withDescription("work mode of the alarm"),
e.enum("alarm_ringtone", ea.STATE_SET, ["mute", "ring1", "ring2", "ring3"]).withDescription("Ringtone of the alarm"),
e.battery(),
],
meta: {
// All datapoints go in here
tuyaDatapoints: [
[],
[],
[
103,
"alarm_ringtone",
tuya.valueConverterBasic.lookup({ mute: tuya.enum(0), ring1: tuya.enum(1), ring2: tuya.enum(2), ring3: tuya.enum(3) }),
],
[],
],
},
},
{
fingerprint: [{ modelID: "TS0601", manufacturerName: "_TZE204_lw5ny7tp" }],
model: "SZLR08",
vendor: "Lincukoo",
description: "24GHz millimeter wave radar",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.presence(),
e.illuminance(),
e
.numeric("installation_height", ea.STATE_SET)
.withValueMin(1.5)
.withValueMax(6)
.withValueStep(0.75)
.withUnit("m")
.withDescription("Maximum range"),
e
.numeric("radar_sensitivity", ea.STATE_SET)
.withValueMin(68)
.withValueMax(90)
.withValueStep(1)
.withDescription("Sensitivity of the radar"),
e.numeric("fading_time", ea.STATE_SET).withValueMin(3).withValueMax(1799).withValueStep(1).withDescription("Fading time").withUnit("s"),
e.binary("relay_switch", ea.STATE_SET, "ON", "OFF").withDescription("Relay switch"),
e.binary("radar_switch", ea.STATE_SET, "ON", "OFF").withDescription("Radar switch"),
e.binary("indicator", ea.STATE_SET, "ON", "OFF").withDescription("LED indicator"),
e.enum("relay_mode", ea.STATE_SET, ["auto", "manual"]).withDescription("control mode of the relay"),
e.enum("radar_mode", ea.STATE_SET, ["people_on", "people_off"]).withDescription("radar mode for the relay controlling"),
],
meta: {
tuyaDatapoints: [
[],
[],
[],
[],
[],
[],
[],
[], // toggle to enable presence notifications in app is ignored
[],
[],
],
},
},
{
fingerprint: tuya.fingerprint("TS0601", ["_TZE284_9ovska9w", "_TZE284_bquwrqh1"]),
model: "SZLM04U",
vendor: "Lincukoo",
description: "Motion and brightness sensor",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.occupancy(),
e.illuminance(),
e.battery(),
e.binary("usb_power", ea.STATE, "ON", "OFF").withDescription("check usb power plug in or not"),
e.binary("switch", ea.STATE, "ON", "OFF").withDescription("enable or disable the sensor"),
e.numeric("fading_time", ea.STATE_SET).withValueMin(5).withValueMax(300).withValueStep(1).withDescription("Fading time").withUnit("s"),
],
meta: {
tuyaDatapoints: [
[],
[],
[],
[],
[],
[],
],
},
},
{
fingerprint: [{ modelID: "TS0601", manufacturerName: "_TZE204_sndkanfr" }],
model: "SZLMR10",
vendor: "Lincukoo",
description: "Human Motion & Presence Sensor",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.presence(),
e.illuminance(),
e
.numeric("detection_distance", ea.STATE_SET)
.withValueMin(3)
.withValueMax(6)
.withValueStep(1.5)
.withUnit("m")
.withDescription("Maximum range"),
e.numeric("radar_sensitivity", ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription("Sensitivity of the radar"),
e.numeric("fading_time", ea.STATE_SET).withValueMin(30).withValueMax(60).withValueStep(1).withDescription("Fading time").withUnit("s"),
e.binary("radar_switch", ea.STATE_SET, "ON", "OFF").withDescription("Radar switch"),
e.binary("indicator", ea.STATE_SET, "ON", "OFF").withDescription("LED indicator"),
e.enum("work_mode", ea.STATE_SET, ["pir_mode", "radar_mode", "combine_mode"]).withDescription("work mode of device"),
],
meta: {
tuyaDatapoints: [
[],
[],
[],
[],
[],
[],
[],
[],
],
},
},
{
fingerprint: [{ modelID: "TS0601", manufacturerName: "_TZE284_gw05grph" }],
model: "CZF02",
vendor: "Lincukoo",
description: "Finger Robot",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.switch(),
e.enum("mode", ea.STATE_SET, ["click", "long_press"]).withDescription("work mode of the finger robot"),
e
.numeric("click_sustain_time", ea.STATE_SET)
.withValueMin(0.3)
.withValueMax(10)
.withValueStep(0.1)
.withDescription("keep times for click")
.withUnit("s"),
e
.numeric("arm_down_percent", ea.STATE_SET)
.withValueMin(0)
.withValueMax(30)
.withValueStep(1)
.withDescription("the position for arm moving down"),
e
.numeric("arm_up_percent", ea.STATE_SET)
.withValueMin(0)
.withValueMax(30)
.withValueStep(1)
.withDescription("the position for arm moving up"),
e.binary("auto_adjustment", ea.STATE_SET, "ON", "OFF").withDescription("auto adjustment the arm position"),
e.binary("set_switch_state", ea.STATE_SET, "ON", "OFF").withDescription("set the switch display status"),
e.battery(),
],
meta: {
tuyaDatapoints: [
[],
[],
[],
[],
[],
[],
[],
[],
],
},
},
{
fingerprint: [{ modelID: "SZT06", manufacturerName: "LINCUKOO" }],
model: "SZT06",
vendor: "Lincukoo",
description: "Smart mini temperature and humidity sensor",
extend: [m.temperature(), m.humidity(), m.identify({ isSleepy: true }), m.battery({ voltage: true })],
},
{
fingerprint: tuya.fingerprint("TS0601", ["_TZE284_rs62zxk8", "_TZE284_4dosadbh"]),
model: "SZT04",
vendor: "Lincukoo",
description: "Temperature and humidity sensor with clock",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.temperature(),
e.humidity(),
e.battery(),
e.enum("temperature_unit_convert", ea.STATE_SET, ["celsius", "fahrenheit"]).withDescription("Current display unit"),
e.enum("temperature_alarm", ea.STATE, ["canceled", "lower_alarm", "upper_alarm"]).withDescription("Temperature alarm status"),
e.numeric("max_temperature", ea.STATE_SET).withUnit("°C").withValueMin(-20).withValueMax(60).withDescription("Alarm temperature max"),
e.numeric("min_temperature", ea.STATE_SET).withUnit("°C").withValueMin(-20).withValueMax(60).withDescription("Alarm temperature min"),
e
.numeric("temperature_sensitivity", ea.STATE_SET)
.withUnit("°C")
.withValueMin(0.3)
.withValueMax(5)
.withValueStep(0.1)
.withDescription("Temperature sensitivity"),
e.enum("humidity_alarm", ea.STATE, ["canceled", "lower_alarm", "upper_alarm"]).withDescription("Humidity alarm status"),
e.numeric("max_humidity", ea.STATE_SET).withUnit("%").withValueMin(0).withValueMax(100).withDescription("Alarm humidity max"),
e.numeric("min_humidity", ea.STATE_SET).withUnit("%").withValueMin(0).withValueMax(100).withDescription("Alarm humidity min"),
e
.numeric("humidity_sensitivity", ea.STATE_SET)
.withUnit("%")
.withValueMin(1)
.withValueMax(100)
.withValueStep(1)
.withDescription("Humidity sensitivity"),
],
meta: {
tuyaDatapoints: [
[],
[],
[],
[],
[
14,
"temperature_alarm",
tuya.valueConverterBasic.lookup({ canceled: tuya.enum(0), lower_alarm: tuya.enum(1), upper_alarm: tuya.enum(2) }),
],
[],
[],
[],
[
15,
"humidity_alarm",
tuya.valueConverterBasic.lookup({ canceled: tuya.enum(0), lower_alarm: tuya.enum(1), upper_alarm: tuya.enum(2) }),
],
[],
[],
[],
],
},
},
{
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_khoqss0a"]),
model: "SZR07",
vendor: "Lincukoo",
description: "24GHz millimeter wave radar",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.presence(),
e.illuminance(),
e
.numeric("detection_distance", ea.STATE_SET)
.withValueMin(3)
.withValueMax(6)
.withValueStep(1.5)
.withUnit("m")
.withDescription("Maximum range"),
e.numeric("radar_sensitivity", ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription("Sensitivity of the radar"),
e.numeric("fading_time", ea.STATE_SET).withValueMin(5).withValueMax(300).withValueStep(1).withDescription("Fading time").withUnit("s"),
e.binary("radar_switch", ea.STATE_SET, "ON", "OFF").withDescription("Radar switch"),
e.binary("indicator", ea.STATE_SET, "ON", "OFF").withDescription("LED indicator"),
],
meta: {
tuyaDatapoints: [
[],
[],
[],
[],
[],
[], // toggle to enable presence notifications in app is ignored
[],
],
},
},
{
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_b8vxct9l"]),
model: "SZLR08T",
vendor: "Lincukoo",
description: "24GHz millimeter wave radar",
extend: [tuya.modernExtend.tuyaBase({ dp: true, timeStart: "2000" })],
exposes: [
e.presence(),
e.illuminance(),
e
.numeric("installation_height", ea.STATE_SET)
.withValueMin(3)
.withValueMax(5)
.withValueStep(1)
.withUnit("m")
.withDescription("Maximum range"),
e.numeric("radar_sensitivity", ea.STATE_SET).withValueMin(0).withValueMax(9).withValueStep(1).withDescription("Sensitivity of the radar"),
e.numeric("fading_time", ea.STATE_SET).withValueMin(5).withValueMax(300).withValueStep(1).withDescription("Fading time").withUnit("s"),
e.binary("radar_switch", ea.STATE_SET, "ON", "OFF").withDescription("Radar switch"),
e.binary("indicator", ea.STATE_SET, "ON", "OFF").withDescription("LED indicator"),
e.binary("relay_switch", ea.STATE_SET, "ON", "OFF").withDescription("Relay switch"),
e.enum("relay_mode", ea.STATE_SET, ["auto", "manual"]).withDescription("control mode of the relay"),
e.enum("radar_mode", ea.STATE_SET, ["people_on", "people_off"]).withDescription("radar mode for the relay controlling"),
],
meta: {
tuyaDatapoints: [
[],
[],
[],
[],
[],
[], // toggle to enable presence notifications in app is ignored
[],
[],
[],
[],
],
},
},
];
//# sourceMappingURL=lincukoo.js.map