zigbee-herdsman-converters
Version:
Collection of device converters to be used with zigbee-herdsman
90 lines • 5.29 kB
JavaScript
;
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 (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const exposes = __importStar(require("../lib/exposes"));
const fromZigbee_1 = __importDefault(require("../converters/fromZigbee"));
const legacy = __importStar(require("../lib/legacy"));
const tuya = __importStar(require("../lib/tuya"));
const reporting = __importStar(require("../lib/reporting"));
const e = exposes.presets;
const ea = exposes.access;
const definitions = [
{
fingerprint: [{ modelID: 'GbxAXL2\u0000', manufacturerName: '_TYST11_KGbxAXL2' },
{ modelID: 'uhszj9s\u0000', manufacturerName: '_TYST11_zuhszj9s' },
{ modelID: '88teujp\u0000', manufacturerName: '_TYST11_c88teujp' },
{ modelID: 'w7cahqs\u0000', manufacturerName: '_TYST11_yw7cahqs' },
{ modelID: 'w7cahqs', manufacturerName: '_TYST11_yw7cahqs' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_c88teujp' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_yw7cahqs' },
{ modelID: 'aj4jz0i\u0000', manufacturerName: '_TYST11_caj4jz0i' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_azqp6ssj' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_zuhszj9s' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_9gvruqf5' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_zr9c0day' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_0dvm9mva' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_h4cgnbzg' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_gd4rvykv' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_exfrnlow' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_9m4kmbfu' },
{ modelID: 'TS0601', manufacturerName: '_TZE200_3yp57tby' },
],
model: 'SEA801-Zigbee/SEA802-Zigbee',
vendor: 'Saswell',
description: 'Thermostatic radiator valve',
whiteLabel: [{ vendor: 'HiHome', model: 'WZB-TRVL' }, { vendor: 'Hama', model: '00176592' },
{ vendor: 'RTX', model: 'ZB-RT1' }, { vendor: 'SETTI+', model: 'TRV001' }],
fromZigbee: [legacy.fz.saswell_thermostat, fromZigbee_1.default.ignore_tuya_set_time, fromZigbee_1.default.ignore_basic_report, legacy.fz.tuya_thermostat_weekly_schedule_1],
toZigbee: [legacy.tz.saswell_thermostat_current_heating_setpoint, legacy.tz.saswell_thermostat_mode, legacy.tz.saswell_thermostat_away,
legacy.tz.saswell_thermostat_child_lock, legacy.tz.saswell_thermostat_window_detection, legacy.tz.saswell_thermostat_frost_detection,
legacy.tz.saswell_thermostat_calibration, legacy.tz.saswell_thermostat_anti_scaling, legacy.tz.tuya_thermostat_weekly_schedule],
// @ts-expect-error
onEvent: (type, data, device) => !['_TZE200_c88teujp'].includes(device.manufacturerName) && tuya.onEventSetTime(type, data, device),
meta: {
thermostat: {
weeklyScheduleMaxTransitions: 4,
weeklyScheduleSupportedModes: [1], // bits: 0-heat present, 1-cool present (dec: 1-heat,2-cool,3-heat+cool)
weeklyScheduleConversion: 'saswell',
},
},
configure: async (device, coordinatorEndpoint) => {
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, ['genBasic']);
},
exposes: [e.battery_low(), e.window_detection(), e.child_lock(), e.away_mode(),
e.binary('heating', ea.STATE, 'ON', 'OFF').withDescription('Device valve is open or closed (heating or not)'),
e.climate()
.withSetpoint('current_heating_setpoint', 5, 30, 0.5, ea.STATE_SET).withLocalTemperature(ea.STATE)
.withSystemMode(['off', 'heat', 'auto'], ea.STATE_SET)
// Range is -6 - 6 and step 1: https://github.com/Koenkk/zigbee2mqtt/issues/11777
.withLocalTemperatureCalibration(-6, 6, 1, ea.STATE_SET)],
},
];
exports.default = definitions;
module.exports = definitions;
//# sourceMappingURL=saswell.js.map