UNPKG

zigbee-herdsman-converters

Version:

Collection of device converters to be used with zigbee-herdsman

631 lines 28 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 () { 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.ubisysModernExtend = void 0; const zigbee_herdsman_1 = require("zigbee-herdsman"); const exposes = __importStar(require("../lib/exposes")); const m = __importStar(require("../lib/modernExtend")); const exposes_1 = require("./exposes"); const logger_1 = require("./logger"); const modernExtend_1 = require("./modernExtend"); const NS = "zhc:ubisys"; exports.ubisysModernExtend = { pollCurrentSummDelivered: (endpointId) => { return m.poll({ key: "measurement", defaultIntervalSeconds: 60, option: exposes.options.measurement_poll_interval(), poll: async (device) => { const endpoint = device.getEndpoint(typeof endpointId === "number" ? endpointId : endpointId(device)); await endpoint.read("seMetering", ["currentSummDelivered"]); }, }); }, addCustomClusterHvacThermostat: () => (0, modernExtend_1.deviceAddCustomCluster)("hvacThermostat", { name: "hvacThermostat", ID: 0x0201, attributes: { // H10 ubisysClassBTemperatureOffset: { name: "ubisysClassBTemperatureOffset", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.INT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -128, }, ubisysReturnFlowTemperatureWeight: { name: "ubisysReturnFlowTemperatureWeight", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.INT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -128, }, ubisysRawOutdoorTemperature: { name: "ubisysRawOutdoorTemperature", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.STRUCT, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysRawLocalTemperatureA: { name: "ubisysRawLocalTemperatureA", ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.STRUCT, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysRawLocalTemperatureB: { name: "ubisysRawLocalTemperatureB", ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.STRUCT, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysRawForwardFlowTemperature: { name: "ubisysRawForwardFlowTemperature", ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.STRUCT, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysRawReturnFlowTemperature: { name: "ubisysRawReturnFlowTemperature", ID: 0x0006, type: zigbee_herdsman_1.Zcl.DataType.STRUCT, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysInstalledExtensions: { name: "ubisysInstalledExtensions", ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.BITMAP64, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, // H1 ubisysTemperatureOffset: { name: "ubisysTemperatureOffset", ID: 0x0010, type: zigbee_herdsman_1.Zcl.DataType.INT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -128, }, ubisysDefaultOccupiedHeatingSetpoint: { name: "ubisysDefaultOccupiedHeatingSetpoint", ID: 0x0011, type: zigbee_herdsman_1.Zcl.DataType.INT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -32768, }, ubisysVacationMode: { name: "ubisysVacationMode", ID: 0x0012, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysRemoteTemperature: { name: "ubisysRemoteTemperature", ID: 0x0013, type: zigbee_herdsman_1.Zcl.DataType.INT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -32768, }, ubisysRemoteTemperatureValidDuration: { name: "ubisysRemoteTemperatureValidDuration", ID: 0x0014, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0x15180, }, ubisysDetectOpenWindow: { name: "ubisysDetectOpenWindow", ID: 0x0015, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysOpenWindowState: { name: "ubisysOpenWindowState", ID: 0x0016, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysOpenWindowSensitivity: { name: "ubisysOpenWindowSensitivity", ID: 0x0017, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysOpenWindowDetectionPeriod: { name: "ubisysOpenWindowDetectionPeriod", ID: 0x0018, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysOpenWindowTimeout: { name: "ubisysOpenWindowTimeout", ID: 0x0019, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysProportionalGain: { name: "ubisysProportionalGain", ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.INT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -32768, }, ubisysProportionalShift: { name: "ubisysProportionalShift", ID: 0x0021, type: zigbee_herdsman_1.Zcl.DataType.INT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -128, }, ubisysIntegralFactor: { name: "ubisysIntegralFactor", ID: 0x0022, type: zigbee_herdsman_1.Zcl.DataType.INT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, min: -32768, }, }, commands: {}, commandsResponse: {}, }), addCustomClusterGenLevelCtrl: () => (0, modernExtend_1.deviceAddCustomCluster)("genLevelCtrl", { name: "genLevelCtrl", ID: 0x0008, attributes: { // D1(-R) ubisysMinimumOnLevel: { name: "ubisysMinimumOnLevel", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, // H10 ubisysValveType: { name: "ubisysValveType", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysCyclePeriod: { name: "ubisysCyclePeriod", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysSeason: { name: "ubisysSeason", ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysBackupLevel: { name: "ubisysBackupLevel", ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysAlternateBackupLevel: { name: "ubisysAlternateBackupLevel", ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysLowerRange: { name: "ubisysLowerRange", ID: 0x0006, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysUpperRange: { name: "ubisysUpperRange", ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysPumpThresholdOn: { name: "ubisysPumpThresholdOn", ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysPumpThresholdOff: { name: "ubisysPumpThresholdOff", ID: 0x0009, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysHeatingDemandEnableThreshold: { name: "ubisysHeatingDemandEnableThreshold", ID: 0x000a, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysHeatingDemandDisableThreshold: { name: "ubisysHeatingDemandDisableThreshold", ID: 0x000b, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysCoolingDemandEnableThreshold: { name: "ubisysCoolingDemandEnableThreshold", ID: 0x000c, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysCoolingDemandDisableThreshold: { name: "ubisysCoolingDemandDisableThreshold", ID: 0x000d, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, }, commands: {}, commandsResponse: {}, }), addCustomClusterClosuresWindowCovering: () => (0, modernExtend_1.deviceAddCustomCluster)("closuresWindowCovering", { name: "closuresWindowCovering", ID: 0x0102, attributes: { // J1(-R) // writable version of the same standard attribute ubisysWindowCoveringType: { name: "ubisysWindowCoveringType", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, // writable version of the same standard attribute ubisysConfigStatus: { name: "ubisysConfigStatus", ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, // writable version of the same standard attribute ubisysInstalledOpenLimitLiftCm: { name: "ubisysInstalledOpenLimitLiftCm", ID: 0x0010, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, // writable version of the same standard attribute ubisysInstalledClosedLimitLiftCm: { name: "ubisysInstalledClosedLimitLiftCm", ID: 0x0011, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, // writable version of the same standard attribute ubisysInstalledOpenLimitTiltDdegree: { name: "ubisysInstalledOpenLimitTiltDdegree", ID: 0x0012, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, // writable version of the same standard attribute ubisysInstalledClosedLimitTiltDdegree: { name: "ubisysInstalledClosedLimitTiltDdegree", ID: 0x0013, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, }, ubisysTurnaroundGuardTime: { name: "ubisysTurnaroundGuardTime", ID: 0x1000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysLiftToTiltTransitionSteps: { name: "ubisysLiftToTiltTransitionSteps", ID: 0x1001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysTotalSteps: { name: "ubisysTotalSteps", ID: 0x1002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysLiftToTiltTransitionSteps2: { name: "ubisysLiftToTiltTransitionSteps2", ID: 0x1003, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysTotalSteps2: { name: "ubisysTotalSteps2", ID: 0x1004, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysAdditionalSteps: { name: "ubisysAdditionalSteps", ID: 0x1005, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xff, }, ubisysInactivePowerThreshold: { name: "ubisysInactivePowerThreshold", ID: 0x1006, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, ubisysStartupSteps: { name: "ubisysStartupSteps", ID: 0x1007, type: zigbee_herdsman_1.Zcl.DataType.UINT16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, write: true, max: 0xffff, }, operationalStatus: { name: "operationalStatus", ID: 0x000a, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8 }, }, commands: {}, commandsResponse: {}, }), addCustomClusterManuSpecificUbisysDeviceSetup: () => (0, modernExtend_1.deviceAddCustomCluster)("manuSpecificUbisysDeviceSetup", { name: "manuSpecificUbisysDeviceSetup", ID: 0xfc00, // XXX: once we moved all manuSpecific ones out of zh, we should revisit this // Doesn't use manufacturerCode: https://github.com/Koenkk/zigbee-herdsman-converters/pull/4412 attributes: { inputConfigurations: { name: "inputConfigurations", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.ARRAY, write: true }, inputActions: { name: "inputActions", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.ARRAY, write: true }, }, commands: {}, commandsResponse: {}, }), addCustomClusterManuSpecificUbisysDimmerSetup: () => (0, modernExtend_1.deviceAddCustomCluster)("manuSpecificUbisysDimmerSetup", { name: "manuSpecificUbisysDimmerSetup", ID: 0xfc01, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH, attributes: { capabilities: { name: "capabilities", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8, write: true }, status: { name: "status", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8, write: true }, mode: { name: "mode", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8, write: true }, }, commands: {}, commandsResponse: {}, }), localTemperatureOffset: (args) => (0, modernExtend_1.numeric)({ name: "local_temperature_offset", cluster: "hvacThermostat", attribute: "ubisysTemperatureOffset", entityCategory: "config", description: "Specifies the temperature offset for the locally measured temperature value.", valueMin: -10, valueMax: 10, unit: "ºC", ...args, }), occupiedHeatingSetpointDefault: (args) => (0, modernExtend_1.numeric)({ name: "occupied_heating_default_setpoint", cluster: "hvacThermostat", attribute: "ubisysDefaultOccupiedHeatingSetpoint", entityCategory: "config", description: "Specifies the default heating setpoint during occupancy, " + "representing the targeted temperature when a recurring weekly schedule ends without a follow-up schedule.", scale: 100, valueStep: 0.5, // H1 interface uses 0.5 step valueMin: 7, valueMax: 30, unit: "ºC", ...args, }), remoteTemperatureDuration: (args) => (0, modernExtend_1.numeric)({ name: "remote_temperature_duration", cluster: "hvacThermostat", attribute: "ubisysRemoteTemperatureValidDuration", entityCategory: "config", description: "Specifies the duration period in seconds, during which a remotely measured temperature value " + "remains valid since its reception as attribute report.", valueMin: 0, valueMax: 86400, unit: "s", ...args, }), vacationMode: () => { const clusterName = "hvacThermostat"; const writeableAttributeName = "ubisysVacationMode"; const readableAttributeName = "occupancy"; const propertyName = "vacation_mode"; const access = exposes_1.access.ALL; const expose = exposes_1.presets .binary(propertyName, access, true, false) .withDescription("When Vacation Mode is active the schedule is disabled and unoccupied_heating_setpoint is used."); const fromZigbee = [ { cluster: clusterName, type: ["attributeReport", "readResponse"], convert: (model, msg, publish, options, meta) => { if (msg.data[readableAttributeName] !== undefined) { return { [propertyName]: msg.data.occupancy === 0 }; } }, }, ]; const toZigbee = [ { key: [propertyName], convertSet: async (entity, key, value, meta) => { if (typeof value === "boolean") { await entity.write(clusterName, { [writeableAttributeName]: value ? 1 : 0 }, { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.UBISYS_TECHNOLOGIES_GMBH }); } else { logger_1.logger.error(`${propertyName} must be a boolean!`, NS); } }, convertGet: async (entity, key, meta) => { await entity.read(clusterName, [readableAttributeName]); }, }, ]; const configure = [ (0, modernExtend_1.setupConfigureForReporting)(clusterName, readableAttributeName, { config: { min: 0, max: "1_HOUR", change: 0 }, access }), ]; return { exposes: [expose], fromZigbee, toZigbee, configure, isModernExtend: true }; }, openWindowState: (args) => (0, modernExtend_1.binary)({ name: "open_window_state", cluster: "hvacThermostat", attribute: "ubisysOpenWindowState", access: "STATE_GET", valueOn: [true, 1], valueOff: [false, 0], description: "Presents the currently detected window state.", ...args, }), openWindowDetect: (args) => (0, modernExtend_1.binary)({ name: "open_window_detect", cluster: "hvacThermostat", attribute: "ubisysDetectOpenWindow", entityCategory: "config", valueOn: [true, 1], valueOff: [false, 0], description: "Specifies whether the Open Window Detection is activated or deactivated.", ...args, }), openWindowTimeout: (args) => (0, modernExtend_1.numeric)({ name: "open_window_timeout", cluster: "hvacThermostat", attribute: "ubisysOpenWindowTimeout", entityCategory: "config", description: "Specifies the maximum time duration in seconds for a detected open-window state. This attribute " + "effectively defines how long a detected open-window state should last before H1 returns back to " + "its default set point settings.", valueMin: 0, valueMax: 86400, unit: "s", ...args, }), openWindowDetectionPeriod: (args) => (0, modernExtend_1.numeric)({ name: "open_window_detection_periode", cluster: "hvacThermostat", attribute: "ubisysOpenWindowDetectionPeriod", entityCategory: "config", description: "Specifies the time duration in minutes, within which the sharp temperature change must have taken " + "place for the open window detection.", valueMin: 1, valueMax: 180, unit: "m", ...args, }), openWindowSensitivity: (args) => (0, modernExtend_1.numeric)({ name: "open_window_sensitivity", cluster: "hvacThermostat", attribute: "ubisysOpenWindowSensitivity", entityCategory: "config", description: "Specifies the temperature change threshold for the Open Window Detection. This is the point at " + "which the H1 detects a significant temperature change indicating the detection of an open or " + "closed window.", scale: 100, valueStep: 0.5, // H1 interface uses 0.5 step valueMin: 1, valueMax: 30, unit: "ºC", ...args, }), }; //# sourceMappingURL=ubisys.js.map