UNPKG

zigbee-herdsman-converters

Version:

Collection of device converters to be used with zigbee-herdsman

112 lines 5.82 kB
"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 (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; }; Object.defineProperty(exports, "__esModule", { value: true }); const exposes = __importStar(require("../lib/exposes")); const tuya = __importStar(require("../lib/tuya")); const ota = __importStar(require("../lib/ota")); const modernExtend_1 = require("../lib/modernExtend"); const e = exposes.presets; const ea = exposes.access; const definitions = [ { fingerprint: tuya.fingerprint('TS0601', ['_TZE204_e5hpkc6d', '_TZE200_4hbx5cvx', '_TZE200_e5hpkc6d']), model: 'TS0601_futurehome_thermostat', vendor: 'Futurehome', description: 'Thermostat', fromZigbee: [tuya.fz.datapoints], toZigbee: [tuya.tz.datapoints], whiteLabel: [ tuya.whitelabel('Futurehome', 'Co020', 'Smart thermostat', ['_TZE200_e5hpkc6d']), ], onEvent: tuya.onEventSetTime, configure: tuya.configureMagicPacket, exposes: [ e.climate() .withSystemMode(['off', 'heat'], ea.STATE_SET, 'Whether the thermostat is turned on or off') .withPreset(['user', 'home', 'away', 'auto']) .withLocalTemperature(ea.STATE) .withLocalTemperatureCalibration(-9, 9, 1, ea.STATE_SET) .withRunningState(['idle', 'heat'], ea.STATE) .withSetpoint('current_heating_setpoint', 5, 35, 1, ea.STATE_SET), e.temperature_sensor_select(['air_sensor', 'floor_sensor', 'max_guard']) .withDescription('Max guard. Floor sensor must be installed. The thermostat will regulate according to the room sensor, ' + 'but interrupt heating if the floor sensor exceeds the maximum guard temperature. Standard is 27°C' + '\n\n' + 'There is also a maximum guard when the thermostat is set to floor sensor. ' + 'The thermostat regulates according to the floor sensor, but will interrupt heating if the floor sensor ' + 'exceeds the maximum guard temperature. Standard is 27°C.'), e.numeric('local_temperature_floor', ea.STATE) .withUnit('°C') .withDescription('Current temperature measured on the external sensor (floor)') .withValueStep(1), e.child_lock(), e.window_detection(), e.numeric('hysteresis', ea.STATE_SET) .withUnit('°C') .withDescription('The offset from the target temperature in which the temperature has to ' + 'change for the heating state to change. This is to prevent erratically turning on/off ' + 'when the temperature is close to the target.') .withValueMin(1) .withValueMax(9) .withValueStep(1), e.numeric('max_temperature_protection', ea.STATE_SET) .withUnit('°C') .withDescription('Max guarding temperature') .withValueMin(20) .withValueMax(95) .withValueStep(1), ], meta: { tuyaDatapoints: [ [1, 'system_mode', tuya.valueConverterBasic.lookup({ off: false, heat: true })], [2, 'preset', tuya.valueConverterBasic.lookup({ user: tuya.enum(0), home: tuya.enum(1), away: tuya.enum(2), auto: tuya.enum(3) })], [16, 'current_heating_setpoint', tuya.valueConverter.raw], [24, 'local_temperature', tuya.valueConverter.raw], [28, 'local_temperature_calibration', tuya.valueConverter.raw], [30, 'child_lock', tuya.valueConverter.lockUnlock], [101, 'local_temperature_floor', tuya.valueConverter.raw], [102, 'sensor', tuya.valueConverterBasic.lookup({ air_sensor: tuya.enum(0), floor_sensor: tuya.enum(1), max_guard: tuya.enum(2) })], [103, 'hysteresis', tuya.valueConverter.raw], [104, 'running_state', tuya.valueConverterBasic.lookup({ idle: false, heat: true })], // In the old handler, endpoint 105 was left unused. I don't know what this value means. // Leaving it in here for future reference in case someone else figures it out. // connecteTempProgram: 105 [106, 'window_detection', tuya.valueConverter.onOff], [107, 'max_temperature_protection', tuya.valueConverter.raw], ], }, }, { zigbeeModel: ['FH9130'], model: '4509243', vendor: 'Futurehome', description: 'Smart puck', ota: ota.zigbeeOTA, extend: [(0, modernExtend_1.light)({ configureReporting: true })], }, ]; exports.default = definitions; module.exports = definitions; //# sourceMappingURL=futurehome.js.map