UNPKG

@nagisa~/node-red-systemair-save

Version:

Node-RED nodes to interact with SystemAIR’s SAVE line of products

946 lines (944 loc) • 93.8 kB
<script type="text/javascript"> (function () { 'use strict'; var RegisterType; (function (RegisterType) { RegisterType[RegisterType["RO"] = 0] = "RO"; RegisterType[RegisterType["RW"] = 1] = "RW"; })(RegisterType || (RegisterType = {})); function r(modbus_address, data_type, register_type, name, _minimum, _maximum) { const address = ~~modbus_address; return [~~modbus_address, { name: name, data_type: data_type, register_type: register_type, modbus_address: address, description: "", }]; } class NumberDataType { constructor(scale_factor) { this.scale_factor = scale_factor !== null && scale_factor !== void 0 ? scale_factor : 1; } read_commands(description) { return [{ address: description.modbus_address, count: 1 }]; } extract(buffers) { return this.extract_value(buffers[0]) / this.scale_factor; } encode_writes(description, payload) { let buffer = Buffer.alloc(2); this.encode(buffer, (payload * this.scale_factor) | 0); return [{ address: description.modbus_address, payload: buffer }]; } } class I16DataType extends NumberDataType { extract_value(buffer) { return buffer.readInt16BE(0); } encode(buffer, payload) { buffer.writeInt16BE(payload); } } class U16DataType extends NumberDataType { extract_value(buffer) { return buffer.readUInt16BE(0); } encode(buffer, payload) { buffer.writeUInt16BE(payload); } } const U16 = new U16DataType(); const I16 = new I16DataType(); const CEL = new I16DataType(10); const SPH = new I16DataType(10); const RO = RegisterType.RO; const RW = RegisterType.RW; const registers = new Map([ r(1001, U16, RO, "DEMC_RH_HIGHEST"), r(1002, U16, RO, "DEMC_CO2_HIGHEST"), r(1011, U16, RO, "DEMC_RH_PI_SP"), r(1012, U16, RO, "DEMC_RH_PI_FEEDBACK"), r(1019, U16, RO, "DEMC_RH_PI_OUTPUT"), r(1021, U16, RO, "DEMC_CO2_PI_SP"), r(1022, U16, RO, "DEMC_CO2_PI_FEEDBACK"), r(1029, U16, RO, "DEMC_CO2_PI_OUTPUT"), r(1031, U16, RW, "DEMC_RH_SETTINGS_PBAND"), r(1033, U16, RW, "DEMC_RH_SETTINGS_SP_SUMMER"), r(1034, U16, RW, "DEMC_RH_SETTINGS_SP_WINTER"), r(1035, U16, RW, "DEMC_RH_SETTINGS_ON_OFF"), r(1039, U16, RO, "SUMMER_WINTER"), r(1041, U16, RW, "DEMC_CO2_SETTINGS_PBAND"), r(1043, U16, RW, "DEMC_CO2_SETTINGS_SP"), r(1044, U16, RW, "DEMC_CO2_SETTINGS_ON_OFF"), r(1101, U16, RW, "USERMODE_HOLIDAY_TIME"), r(1102, U16, RW, "USERMODE_AWAY_TIME"), r(1103, U16, RW, "USERMODE_FIREPLACE_TIME"), r(1104, U16, RW, "USERMODE_REFRESH_TIME"), r(1105, U16, RW, "USERMODE_CROWDED_TIME"), r(1111, U16, RO, "USERMODE_REMAINING_TIME_L"), r(1112, U16, RO, "USERMODE_REMAINING_TIME_H"), r(1121, U16, RW, "IAQ_SPEED_LEVEL_MIN"), r(1122, U16, RW, "IAQ_SPEED_LEVEL_MAX"), r(1123, U16, RO, "IAQ_LEVEL"), r(1131, U16, RW, "USERMODE_MANUAL_AIRFLOW_LEVEL_SAF"), r(1135, U16, RW, "USERMODE_CROWDED_AIRFLOW_LEVEL_SAF"), r(1136, U16, RW, "USERMODE_CROWDED_AIRFLOW_LEVEL_EAF"), r(1137, U16, RW, "USERMODE_REFRESH_AIRFLOW_LEVEL_SAF"), r(1138, U16, RW, "USERMODE_REFRESH_AIRFLOW_LEVEL_EAF"), r(1139, U16, RW, "USERMODE_FIREPLACE_AIRFLOW_LEVEL_SAF"), r(1140, U16, RW, "USERMODE_FIREPLACE_AIRFLOW_LEVEL_EAF"), r(1141, U16, RW, "USERMODE_AWAY_AIRFLOW_LEVEL_SAF"), r(1142, U16, RW, "USERMODE_AWAY_AIRFLOW_LEVEL_EAF"), r(1143, U16, RW, "USERMODE_HOLIDAY_AIRFLOW_LEVEL_SAF"), r(1144, U16, RW, "USERMODE_HOLIDAY_AIRFLOW_LEVEL_EAF"), r(1145, U16, RW, "USERMODE_COOKERHOOD_AIRFLOW_LEVEL_SAF"), r(1146, U16, RW, "USERMODE_COOKERHOOD_AIRFLOW_LEVEL_EAF"), r(1147, U16, RW, "USERMODE_VACUUMCLEANER_AIRFLOW_LEVEL_SAF"), r(1148, U16, RW, "USERMODE_VACUUMCLEANER_AIRFLOW_LEVEL_EAF"), r(1151, CEL, RW, "USERMODE_CROWDED_T_OFFSET"), r(1161, U16, RO, "USERMODE_MODE"), r(1162, U16, RW, "USERMODE_HMI_CHANGE_REQUEST"), r(1171, U16, RW, "CDI_1_AIRFLOW_LEVEL_SAF"), r(1172, U16, RW, "CDI_1_AIRFLOW_LEVEL_EAF"), r(1173, U16, RW, "CDI_2_AIRFLOW_LEVEL_SAF"), r(1174, U16, RW, "CDI_2_AIRFLOW_LEVEL_EAF"), r(1175, U16, RW, "CDI_3_AIRFLOW_LEVEL_SAF"), r(1176, U16, RW, "CDI_3_AIRFLOW_LEVEL_EAF"), r(1177, U16, RW, "PRESSURE_GUARD_AIRFLOW_LEVEL_SAF"), r(1178, U16, RW, "PRESSURE_GUARD_AIRFLOW_LEVEL_EAF"), r(1181, U16, RW, "USERMODE_HOLIDAY_DI_OFF_DELAY"), r(1182, U16, RW, "USERMODE_AWAY_DI_OFF_DELAY"), r(1183, U16, RW, "USERMODE_FIRPLACE_DI_OFF_DELAY"), r(1184, U16, RW, "USERMODE_REFRESH_DI_OFF_DELAY"), r(1185, U16, RW, "USERMODE_CROWDED_DI_OFF_DELAY"), r(1188, U16, RW, "CDI1_OFF_DELAY"), r(1189, U16, RW, "CDI2_OFF_DELAY"), r(1190, U16, RW, "CDI3_OFF_DELAY"), r(1221, U16, RO, "SPEED_CDI1_SAF"), r(1222, U16, RO, "SPEED_CDI1_EAF"), r(1223, U16, RO, "SPEED_CDI2_SAF"), r(1224, U16, RO, "SPEED_CDI2_EAF"), r(1225, U16, RO, "SPEED_CDI3_SAF"), r(1226, U16, RO, "SPEED_CDI3_EAF"), r(1227, U16, RO, "SPEED_PRESSURE_GUARD_SAF"), r(1228, U16, RO, "SPEED_PRESSURE_GUARD_EAF"), r(1251, U16, RW, "FAN_OUTDOOR_COMP_TYPE"), r(1252, CEL, RW, "FAN_OUTDOOR_COMP_MAX_VALUE"), r(1253, CEL, RW, "FAN_OUTDOOR_COMP_STOP_T_WINTER"), r(1254, CEL, RW, "FAN_OUTDOOR_COMP_MAX_TEMP"), r(1255, U16, RO, "FAN_OUTDOOR_COMP_RESULT"), r(1256, CEL, RW, "FAN_OUTDOOR_COMP_START_T_WINTER"), r(1257, CEL, RW, "FAN_OUTDOOR_COMP_START_T_SUMMER"), r(1258, CEL, RW, "FAN_OUTDOOR_COMP_STOP_T_SUMMER"), r(1259, CEL, RW, "FAN_OUTDOOR_COMP_VALUE_SUMMER"), r(1274, U16, RW, "FAN_REGULATION_UNIT"), r(1301, U16, RO, "FAN_LEVEL_SAF_MIN"), r(1302, U16, RO, "FAN_LEVEL_EAF_MIN"), r(1303, U16, RO, "FAN_LEVEL_SAF_LOW"), r(1304, U16, RO, "FAN_LEVEL_EAF_LOW"), r(1305, U16, RO, "FAN_LEVEL_SAF_NORMAL"), r(1306, U16, RO, "FAN_LEVEL_EAF_NORMAL"), r(1307, U16, RO, "FAN_LEVEL_SAF_HIGH"), r(1308, U16, RO, "FAN_LEVEL_EAF_HIGH"), r(1309, U16, RO, "FAN_LEVEL_SAF_MAX"), r(1310, U16, RO, "FAN_LEVEL_EAF_MAX"), r(1351, U16, RO, "SPEED_FANS_RUNNING"), r(1352, U16, RO, "SPEED_SAF_DESIRED_OFF"), r(1353, U16, RW, "FAN_MANUAL_STOP_ALLOWED"), r(1357, U16, RO, "SPEED_ELECTRICAL_HEATER_HOT_COUNTER"), r(1358, U16, RO, "FAN_SPEED_AFTER_HEATER_COOLING_DOWN_SAF"), r(1359, U16, RO, "FAN_SPEED_AFTER_HEATER_COOLING_DOWN_EAF"), r(1401, U16, RW, "FAN_LEVEL_SAF_MIN_PERCENTAGE"), r(1402, U16, RW, "FAN_LEVEL_EAF_MIN_PERCENTAGE"), r(1403, U16, RW, "FAN_LEVEL_SAF_LOW_PERCENTAGE"), r(1404, U16, RW, "FAN_LEVEL_EAF_LOW_PERCENTAGE"), r(1405, U16, RW, "FAN_LEVEL_SAF_NORMAL_PERCENTAGE"), r(1406, U16, RW, "FAN_LEVEL_EAF_NORMAL_PERCENTAGE"), r(1407, U16, RW, "FAN_LEVEL_SAF_HIGH_PERCENTAGE"), r(1408, U16, RW, "FAN_LEVEL_EAF_HIGH_PERCENTAGE"), r(1409, U16, RW, "FAN_LEVEL_SAF_MAX_PERCENTAGE"), r(1410, U16, RW, "FAN_LEVEL_EAF_MAX_PERCENTAGE"), r(1411, U16, RW, "FAN_LEVEL_SAF_MIN_RPM"), r(1412, U16, RW, "FAN_LEVEL_EAF_MIN_RPM"), r(1413, U16, RW, "FAN_LEVEL_SAF_LOW_RPM"), r(1414, U16, RW, "FAN_LEVEL_EAF_LOW_RPM"), r(1415, U16, RW, "FAN_LEVEL_SAF_NORMAL_RPM"), r(1416, U16, RW, "FAN_LEVEL_EAF_NORMAL_RPM"), r(1417, U16, RW, "FAN_LEVEL_SAF_HIGH_RPM"), r(1418, U16, RW, "FAN_LEVEL_EAF_HIGH_RPM"), r(1419, U16, RW, "FAN_LEVEL_SAF_MAX_RPM"), r(1420, U16, RW, "FAN_LEVEL_EAF_MAX_RPM"), r(1421, U16, RW, "FAN_LEVEL_SAF_MIN_PRESSURE"), r(1422, U16, RW, "FAN_LEVEL_EAF_MIN_PRESSURE"), r(1423, U16, RW, "FAN_LEVEL_SAF_LOW_PRESSURE"), r(1424, U16, RW, "FAN_LEVEL_EAF_LOW_PRESSURE"), r(1425, U16, RW, "FAN_LEVEL_SAF_NORMAL_PRESSURE"), r(1426, U16, RW, "FAN_LEVEL_EAF_NORMAL_PRESSURE"), r(1427, U16, RW, "FAN_LEVEL_SAF_HIGH_PRESSURE"), r(1428, U16, RW, "FAN_LEVEL_EAF_HIGH_PRESSURE"), r(1429, U16, RW, "FAN_LEVEL_SAF_MAX_PRESSURE"), r(1430, U16, RW, "FAN_LEVEL_EAF_MAX_PRESSURE"), r(1431, U16, RW, "FAN_LEVEL_SAF_MIN_FLOW"), r(1432, U16, RW, "FAN_LEVEL_EAF_MIN_FLOW"), r(1433, U16, RW, "FAN_LEVEL_SAF_LOW_FLOW"), r(1434, U16, RW, "FAN_LEVEL_EAF_LOW_FLOW"), r(1435, U16, RW, "FAN_LEVEL_SAF_NORMAL_FLOW"), r(1436, U16, RW, "FAN_LEVEL_EAF_NORMAL_FLOW"), r(1437, U16, RW, "FAN_LEVEL_SAF_HIGH_FLOW"), r(1438, U16, RW, "FAN_LEVEL_EAF_HIGH_FLOW"), r(1439, U16, RW, "FAN_LEVEL_SAF_MAX_FLOW"), r(1440, U16, RW, "FAN_LEVEL_EAF_MAX_FLOW"), r(1621, U16, RO, "USERMODE_REMAINING_TIME_CDI1_L"), r(1622, U16, RO, "USERMODE_REMAINING_TIME_CDI1_H"), r(1623, U16, RO, "USERMODE_REMAINING_TIME_CDI2_L"), r(1624, U16, RO, "USERMODE_REMAINING_TIME_CDI2_H"), r(1625, U16, RO, "USERMODE_REMAINING_TIME_CDI3_L"), r(1626, U16, RO, "USERMODE_REMAINING_TIME_CDI3_H"), r(2001, CEL, RW, "TC_SP"), r(2013, CEL, RW, "TC_CASCADE_SP"), r(2021, CEL, RW, "TC_CASCADE_SP_MIN"), r(2022, CEL, RW, "TC_CASCADE_SP_MAX"), r(2031, U16, RW, "TC_CONTROL_MODE"), r(2051, CEL, RO, "TC_EAT_RAT_SP"), r(2053, CEL, RO, "TC_ROOM_CTRL_SP_SATC"), r(2054, CEL, RO, "TC_SP_SATC"), r(2055, U16, RO, "SATC_HEAT_DEMAND"), r(2061, CEL, RO, "SATC_PI_SP"), r(2069, I16, RO, "SATC_PI_OUTPUT"), r(2071, CEL, RO, "ROOM_CTRL_PI_SP"), r(2079, I16, RO, "ROOM_CTRL_PI_OUTPUT"), r(2101, U16, RO, "INPUT_EXTERNAL_CTRL_SAF"), r(2102, U16, RO, "INPUT_EXTERNAL_CTRL_EAF"), r(2113, CEL, RW, "HEATER_CIRC_PUMP_START_T"), r(2122, U16, RW, "HEATER_CIRC_PUMP_STOP_DELAY"), r(2134, U16, RW, "HEAT_EXCHANGER_COOLING_RECOVERY_ON_OFF"), r(2147, U16, RO, "HEAT_EXCHANGER_RH_TRANSFER_CTRL_ENABLED"), r(2148, U16, RO, "HEAT_EXCHANGER_SPEED_LIMIT_RH_TRANSFER"), r(2149, U16, RO, "PWM_TRIAC_OUTPUT"), r(2201, U16, RW, "ROTOR_RH_TRANSFER_CTRL_PBAND"), r(2202, U16, RW, "ROTOR_RH_TRANSFER_CTRL_ITIME"), r(2203, U16, RW, "ROTOR_RH_TRANSFER_CTRL_SETPOINT"), r(2204, U16, RW, "ROTOR_RH_TRANSFER_CTRL_ON_OFF"), r(2211, SPH, RO, "ROTOR_EA_SPEC_HUMIDITY"), r(2212, SPH, RO, "ROTOR_OA_SPEC_HUMIDITY"), r(2213, SPH, RO, "ROTOR_EA_SPEC_HUMIDITY_SETPOINT"), r(2311, U16, RO, "COOLER_FROM_SATC"), r(2314, CEL, RW, "COOLER_CIRC_PUMP_START_T"), r(2315, CEL, RW, "COOLER_RECOVERY_LIMIT_T"), r(2316, CEL, RW, "COOLER_OAT_INTERLOCK_T"), r(2317, U16, RW, "COOLER_CIRC_PUMP_STOP_DELAY"), r(2403, CEL, RW, "EXTRA_CONTROLLER_SET_PI_SETPOINT"), r(2404, CEL, RW, "EXTRA_CONTROLLER_CIRC_PUMP_START_T"), r(2405, U16, RW, "EXTRA_CONTROLLER_CIRC_PUMP_STOP_DELAY"), r(2418, U16, RW, "EXTRA_CONTROLLER_PREHEATER_SETPOINT_TYPE"), r(2420, CEL, RW, "EXTRA_CONTROLLER_GEO_PREHEATER_SP"), r(2421, CEL, RW, "EXTRA_CONTROLLER_GEO_PREHEATER_ACTIVATION_T"), r(2422, CEL, RW, "EXTRA_CONTROLLER_GEO_PRECOOLER_SP"), r(2423, CEL, RW, "EXTRA_CONTROLLER_GEO_PRECOOLER_ACTIVATION_T"), r(2451, CEL, RW, "CHANGE_OVER_CIRC_PUMP_START_T"), r(2452, U16, RW, "CHANGE_OVER_CIRC_PUMP_STOP_DELAY"), r(2504, CEL, RW, "ECO_T_Y1_OFFSET"), r(2505, U16, RW, "ECO_MODE_ON_OFF"), r(2506, U16, RO, "ECO_FUNCTION_ACTIVE"), r(3101, U16, RO, "FUNCTION_ACTIVE_COOLING"), r(3102, U16, RO, "FUNCTION_ACTIVE_FREE_COOLING"), r(3103, U16, RO, "FUNCTION_ACTIVE_HEATING"), r(3104, U16, RO, "FUNCTION_ACTIVE_DEFROSTING"), r(3105, U16, RO, "FUNCTION_ACTIVE_HEAT_RECOVERY"), r(3106, U16, RO, "FUNCTION_ACTIVE_COOLING_RECOVERY"), r(3107, U16, RO, "FUNCTION_ACTIVE_MOISTURE_TRANSFER"), r(3108, U16, RO, "FUNCTION_ACTIVE_SECONDARY_AIR"), r(3109, U16, RO, "FUNCTION_ACTIVE_VACUUM_CLEANER"), r(3110, U16, RO, "FUNCTION_ACTIVE_COOKER_HOOD"), r(3111, U16, RO, "FUNCTION_ACTIVE_USER_LOCK"), r(3112, U16, RO, "FUNCTION_ACTIVE_ECO_MODE"), r(3113, U16, RO, "FUNCTION_ACTIVE_HEATER_COOL_DOWN"), r(3114, U16, RO, "FUNCTION_ACTIVE_PRESSURE_GUARD"), r(3115, U16, RO, "FUNCTION_ACTIVE_CDI_1"), r(3116, U16, RO, "FUNCTION_ACTIVE_CDI_2"), r(3117, U16, RO, "FUNCTION_ACTIVE_CDI_3"), r(4101, U16, RW, "FREE_COOLING_ON_OFF"), r(4102, CEL, RW, "FREE_COOLING_OUTDOOR_DAYTIME_T"), r(4103, CEL, RW, "FREE_COOLING_OUTDOOR_NIGHTTIME_DEACTIVATION_HIGH_T_LIMIT"), r(4104, CEL, RW, "FREE_COOLING_OUTDOOR_NIGHTTIME_DEACTIVATION_LOW_T_LIMIT"), r(4105, CEL, RW, "FREE_COOLING_ROOM_CANCEL_T"), r(4106, U16, RW, "FREE_COOLING_START_TIME_H"), r(4107, U16, RW, "FREE_COOLING_START_TIME_M"), r(4108, U16, RW, "FREE_COOLING_END_TIME_H"), r(4109, U16, RW, "FREE_COOLING_END_TIME_M"), r(4111, U16, RO, "FREE_COOLING_ACTIVE"), r(4112, U16, RW, "FREE_COOLING_MIN_SPEED_LEVEL_SAF"), r(4113, U16, RW, "FREE_COOLING_MIN_SPEED_LEVEL_EAF"), r(5001, CEL, RW, "WS_T_OFFSET_ACTIVE"), r(5002, CEL, RW, "WS_T_OFFSET_INACTIVE"), r(5003, U16, RW, "WS_DAY1_PRD1_START_H"), r(5004, U16, RW, "WS_DAY1_PRD1_START_M"), r(5005, U16, RW, "WS_DAY1_PRD1_END_H"), r(5006, U16, RW, "WS_DAY1_PRD1_END_M"), r(5007, U16, RW, "WS_DAY1_PRD2_START_H"), r(5008, U16, RW, "WS_DAY1_PRD2_START_M"), r(5009, U16, RW, "WS_DAY1_PRD2_END_H"), r(5010, U16, RW, "WS_DAY1_PRD2_END_M"), r(5011, U16, RW, "WS_DAY2_PRD1_START_H"), r(5012, U16, RW, "WS_DAY2_PRD1_START_M"), r(5013, U16, RW, "WS_DAY2_PRD1_END_H"), r(5014, U16, RW, "WS_DAY2_PRD1_END_M"), r(5015, U16, RW, "WS_DAY2_PRD2_START_H"), r(5016, U16, RW, "WS_DAY2_PRD2_START_M"), r(5017, U16, RW, "WS_DAY2_PRD2_END_H"), r(5018, U16, RW, "WS_DAY2_PRD2_END_M"), r(5019, U16, RW, "WS_DAY3_PRD1_START_H"), r(5020, U16, RW, "WS_DAY3_PRD1_START_M"), r(5021, U16, RW, "WS_DAY3_PRD1_END_H"), r(5022, U16, RW, "WS_DAY3_PRD1_END_M"), r(5022, U16, RW, "WS_DAY3_PRD1_END_M"), r(5023, U16, RW, "WS_DAY3_PRD2_START_H"), r(5024, U16, RW, "WS_DAY3_PRD2_START_M"), r(5025, U16, RW, "WS_DAY3_PRD2_END_H"), r(5026, U16, RW, "WS_DAY3_PRD2_END_M"), r(5027, U16, RW, "WS_DAY4_PRD1_START_H"), r(5028, U16, RW, "WS_DAY4_PRD1_START_M"), r(5029, U16, RW, "WS_DAY4_PRD1_END_H"), r(5030, U16, RW, "WS_DAY4_PRD1_END_M"), r(5031, U16, RW, "WS_DAY4_PRD2_START_H"), r(5032, U16, RW, "WS_DAY4_PRD2_START_M"), r(5033, U16, RW, "WS_DAY4_PRD2_END_H"), r(5034, U16, RW, "WS_DAY4_PRD2_END_M"), r(5035, U16, RW, "WS_DAY5_PRD1_START_H"), r(5036, U16, RW, "WS_DAY5_PRD1_START_M"), r(5037, U16, RW, "WS_DAY5_PRD1_END_H"), r(5038, U16, RW, "WS_DAY5_PRD1_END_M"), r(5039, U16, RW, "WS_DAY5_PRD2_START_H"), r(5040, U16, RW, "WS_DAY5_PRD2_START_M"), r(5041, U16, RW, "WS_DAY5_PRD2_END_H"), r(5042, U16, RW, "WS_DAY5_PRD2_END_M"), r(5043, U16, RW, "WS_DAY6_PRD1_START_H"), r(5044, U16, RW, "WS_DAY6_PRD1_START_M"), r(5045, U16, RW, "WS_DAY6_PRD1_END_H"), r(5046, U16, RW, "WS_DAY6_PRD1_END_M"), r(5047, U16, RW, "WS_DAY6_PRD2_START_H"), r(5048, U16, RW, "WS_DAY6_PRD2_START_M"), r(5049, U16, RW, "WS_DAY6_PRD2_END_H"), r(5050, U16, RW, "WS_DAY6_PRD2_END_M"), r(5051, U16, RW, "WS_DAY7_PRD1_START_H"), r(5052, U16, RW, "WS_DAY7_PRD1_START_M"), r(5053, U16, RW, "WS_DAY7_PRD1_END_H"), r(5054, U16, RW, "WS_DAY7_PRD1_END_M"), r(5055, U16, RW, "WS_DAY7_PRD2_START_H"), r(5056, U16, RW, "WS_DAY7_PRD2_START_M"), r(5057, U16, RW, "WS_DAY7_PRD2_END_H"), r(5058, U16, RW, "WS_DAY7_PRD2_END_M"), r(5059, U16, RO, "WS_ACTIVE"), r(5060, U16, RW, "WS_FAN_LEVEL_SCHEDULED"), r(5061, U16, RW, "WS_FAN_LEVEL_UNSCHEDULED"), r(5101, U16, RW, "WS_DAY1_PRD1_ENABLED"), r(5102, U16, RW, "WS_DAY1_PRD2_ENABLED"), r(5103, U16, RW, "WS_DAY2_PRD1_ENABLED"), r(5104, U16, RW, "WS_DAY2_PRD2_ENABLED"), r(5105, U16, RW, "WS_DAY3_PRD1_ENABLED"), r(5106, U16, RW, "WS_DAY3_PRD2_ENABLED"), r(5107, U16, RW, "WS_DAY4_PRD1_ENABLED"), r(5108, U16, RW, "WS_DAY4_PRD2_ENABLED"), r(5109, U16, RW, "WS_DAY5_PRD1_ENABLED"), r(5110, U16, RW, "WS_DAY5_PRD2_ENABLED"), r(5111, U16, RW, "WS_DAY6_PRD1_ENABLED"), r(5112, U16, RW, "WS_DAY6_PRD2_ENABLED"), r(5113, U16, RW, "WS_DAY7_PRD1_ENABLED"), r(5114, U16, RW, "WS_DAY7_PRD2_ENABLED"), r(6001, U16, RW, "TIME_YEAR"), r(6002, U16, RW, "TIME_MONTH"), r(6003, U16, RW, "TIME_DAY"), r(6004, U16, RW, "TIME_HOUR"), r(6005, U16, RW, "TIME_MINUTE"), r(6006, U16, RW, "TIME_SECOND"), r(6007, U16, RW, "TIME_AUTO_SUM_WIN"), r(6008, U16, RW, "HOUR_FORMAT"), r(6009, U16, RO, "DAY_OF_THE_WEEK"), r(6010, U16, RO, "DST_PERIOD_ACTIVE"), r(6011, U16, RO, "TIME_RTC_SECONDS_L"), r(6012, U16, RO, "TIME_RTC_SECONDS_H"), r(6021, U16, RO, "SYSTEM_START_UP_TIME_L"), r(6022, U16, RO, "SYSTEM_START_UP_TIME_H"), r(6101, U16, RO, "TIME_RTC"), r(7001, U16, RW, "FILTER_PERIOD"), r(7002, U16, RW, "FILTER_REPLACEMENT_TIME_L"), r(7003, U16, RW, "FILTER_REPLACEMENT_TIME_H"), r(7004, U16, RO, "FILTER_PERIOD_SET"), r(7005, U16, RO, "FILTER_REMAINING_TIME_L"), r(7006, U16, RO, "FILTER_REMAINING_TIME_H"), r(7007, U16, RO, "FILTER_ALARM_WAS_DETECTED"), r(9001, U16, RW, "SYSTEM_UNIT_FLOW"), r(9002, U16, RW, "SYSTEM_UNIT_PRESSURE"), r(9003, U16, RW, "SYSTEM_UNIT_TEMPERATURE"), r(11401, U16, RW, "DI_CONNECTION_1"), r(11402, U16, RW, "DI_CONNECTION_2"), r(11421, U16, RW, "DI_CFG_POLARITY_1"), r(11422, U16, RW, "DI_CFG_POLARITY_2"), r(12011, U16, RW, "INPUT_ANALOG_UI_1"), r(12012, U16, RW, "INPUT_ANALOG_UI_2"), r(12013, U16, RW, "INPUT_ANALOG_UI_3"), r(12014, U16, RW, "INPUT_ANALOG_UI_4"), r(12015, U16, RW, "INPUT_ANALOG_UI_5"), r(12016, U16, RO, "INPUT_ANALOG_UI_6"), r(12021, U16, RW, "INPUT_DIGITAL_UI_1"), r(12022, U16, RW, "INPUT_DIGITAL_UI_2"), r(12023, U16, RW, "INPUT_DIGITAL_UI_3"), r(12024, U16, RW, "INPUT_DIGITAL_UI_4"), r(12025, U16, RW, "INPUT_DIGITAL_UI_5"), r(12026, U16, RO, "INPUT_DIGITAL_UI_6"), r(12031, U16, RO, "INPUT_DIGITAL_DI_1"), r(12032, U16, RO, "INPUT_DIGITAL_DI_2"), r(12101, CEL, RW, "SENSOR_FPT"), r(12102, CEL, RW, "SENSOR_OAT"), r(12103, CEL, RW, "SENSOR_SAT"), r(12104, CEL, RW, "SENSOR_RAT"), r(12105, CEL, RW, "SENSOR_EAT"), r(12106, CEL, RW, "SENSOR_ECT"), r(12107, CEL, RW, "SENSOR_EFT"), r(12108, CEL, RW, "SENSOR_OHT"), r(12109, U16, RW, "SENSOR_RHS"), r(12112, U16, RO, "SENSOR_RGS"), r(12115, U16, RW, "SENSOR_CO2S"), r(12136, U16, RW, "SENSOR_RHS_PDM"), r(12151, U16, RW, "SENSOR_CO2S_1"), r(12152, U16, RW, "SENSOR_CO2S_2"), r(12153, U16, RW, "SENSOR_CO2S_3"), r(12154, U16, RW, "SENSOR_CO2S_4"), r(12155, U16, RW, "SENSOR_CO2S_5"), r(12156, U16, RO, "SENSOR_CO2S_6"), r(12161, U16, RW, "SENSOR_RHS_1"), r(12162, U16, RW, "SENSOR_RHS_2"), r(12163, U16, RW, "SENSOR_RHS_3"), r(12164, U16, RW, "SENSOR_RHS_4"), r(12165, U16, RW, "SENSOR_RHS_5"), r(12166, U16, RO, "SENSOR_RHS_6"), r(12301, U16, RO, "SENSOR_DI_AWAY"), r(12302, U16, RO, "SENSOR_DI_HOLIDAY"), r(12303, U16, RO, "SENSOR_DI_FIREPLACE"), r(12304, U16, RO, "SENSOR_DI_REHRESH"), r(12305, U16, RO, "SENSOR_DI_CROWDED"), r(12306, U16, RO, "SENSOR_DI_COOKERHOOD"), r(12307, U16, RO, "SENSOR_DI_VACUUMCLEANER"), r(12308, U16, RO, "SENSOR_DI_EXTERNAL_STOP"), r(12309, U16, RO, "SENSOR_DI_LOAD_DETECTED"), r(12310, U16, RO, "SENSOR_DI_EXTRA_CONTROLLER_EMT"), r(12311, U16, RO, "SENSOR_DI_FIRE_ALARM"), r(12312, U16, RO, "SENSOR_DI_CHANGE_OVER_FEEDBACK"), r(12316, U16, RO, "SENSOR_DI_PRESSURE_GUARD"), r(12317, U16, RO, "SENSOR_DI_CDI_1"), r(12318, U16, RO, "SENSOR_DI_CDI_2"), r(12319, U16, RO, "SENSOR_DI_CDI_3"), r(12401, U16, RO, "SENSOR_RPM_SAF"), r(12402, U16, RO, "SENSOR_RPM_EAF"), r(12403, U16, RO, "SENSOR_FLOW_PIGGYBACK_SAF"), r(12404, U16, RO, "SENSOR_FLOW_PIGGYBACK_EAF"), r(12405, U16, RO, "SENSOR_DI_BYF"), r(12544, CEL, RW, "SENSOR_PDM_EAT_VALUE"), r(12931, U16, RW, "MANUAL_OVERRIDE_F_INPUT_UI_RH_MODE"), r(12932, U16, RW, "MANUAL_OVERRIDE_F_INPUT_UI_CO2_MODE"), r(12933, U16, RW, "MANUAL_OVERRIDE_F_INPUT_OAT_MODE"), r(12934, U16, RW, "MANUAL_OVERRIDE_F_INPUT_SAT_MODE"), r(12935, U16, RW, "MANUAL_OVERRIDE_F_INPUT_OHT_MODE"), r(12936, U16, RW, "MANUAL_OVERRIDE_F_INPUT_FPT_MODE"), r(12937, U16, RW, "MANUAL_OVERRIDE_F_INPUT_RAT_MODE"), r(12938, U16, RW, "MANUAL_OVERRIDE_F_INPUT_EAT_MODE"), r(12939, U16, RW, "MANUAL_OVERRIDE_F_INPUT_ECT_MODE"), r(12940, U16, RW, "MANUAL_OVERRIDE_F_INPUT_EFT_MODE"), r(12941, U16, RW, "MANUAL_OVERRIDE_F_INPUT_PDM_RH_MODE"), r(12942, U16, RW, "MANUAL_OVERRIDE_F_INPUT_PDM_T_MODE"), r(12943, U16, RW, "MANUAL_OVERRIDE_INPUT_SAF_RPM_MODE"), r(12944, U16, RW, "MANUAL_OVERRIDE_INPUT_EAF_RPM_MODE"), r(12945, U16, RW, "MANUAL_OVERRIDE_INPUT_UI6_MODE"), r(12946, U16, RW, "MANUAL_OVERRIDE_INPUT_BYF_MODE"), r(12947, U16, RW, "MANUAL_OVERRIDE_INPUT_PIGGYBACK1_SAF_P_MODE"), r(12948, U16, RW, "MANUAL_OVERRIDE_INPUT_PIGGYBACK1_EAF_P_MODE"), r(12949, U16, RW, "MANUAL_OVERRIDE_INPUT_PIGGYBACK2_SAF_P_MODE"), r(12950, U16, RW, "MANUAL_OVERRIDE_INPUT_PIGGYBACK2_EAF_P_MODE"), r(12951, I16, RW, "MANUAL_OVERRIDE_INPUT_AI1_VALUE"), r(12952, I16, RW, "MANUAL_OVERRIDE_INPUT_AI2_VALUE"), r(12953, I16, RW, "MANUAL_OVERRIDE_INPUT_AI3_VALUE"), r(12954, I16, RW, "MANUAL_OVERRIDE_INPUT_AI4_VALUE"), r(12955, I16, RW, "MANUAL_OVERRIDE_INPUT_AI5_VALUE"), r(12956, I16, RW, "MANUAL_OVERRIDE_INPUT_AI6_VALUE"), r(12957, I16, RW, "MANUAL_OVERRIDE_INPUT_AI7_VALUE"), r(12958, I16, RW, "MANUAL_OVERRIDE_INPUT_DI1_VALUE"), r(12959, I16, RW, "MANUAL_OVERRIDE_INPUT_DI2_VALUE"), r(12960, I16, RW, "MANUAL_OVERRIDE_INPUT_UI1_VALUE"), r(12961, I16, RW, "MANUAL_OVERRIDE_INPUT_UI2_VALUE"), r(12962, I16, RW, "MANUAL_OVERRIDE_INPUT_UI3_VALUE"), r(12963, I16, RW, "MANUAL_OVERRIDE_INPUT_UI4_VALUE"), r(12964, I16, RW, "MANUAL_OVERRIDE_INPUT_UI5_VALUE"), r(12983, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_OAT_VALUE"), r(12984, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_SAT_VALUE"), r(12985, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_OHT_VALUE"), r(12986, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_FPT_VALUE"), r(12987, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_RAT_VALUE"), r(12988, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_EAT_VALUE"), r(12989, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_ECT_VALUE"), r(12990, CEL, RW, "MANUAL_OVERRIDE_F_INPUT_EFT_VALUE"), r(13201, U16, RW, "OUTPUT_TRIAC_CONFIGURED"), r(13301, U16, RO, "DO1_AFTER_MUX"), r(13302, U16, RO, "DO2_AFTER_MUX"), r(13303, U16, RO, "DO3_AFTER_MUX"), r(13304, U16, RO, "DO4_AFTER_MUX"), r(13311, U16, RO, "AO1_AFTER_MUX"), r(13312, U16, RO, "AO2_AFTER_MUX"), r(13313, U16, RO, "AO3_AFTER_MUX"), r(13314, U16, RO, "AO4_AFTER_MUX"), r(13315, U16, RO, "AO5_AFTER_MUX"), r(13601, U16, RW, "MANUAL_OVERRIDE_OUTPUT_SAF"), r(13602, U16, RW, "MANUAL_OVERRIDE_OUTPUT_EAF"), r(13801, U16, RW, "MANUAL_OVERRIDE_OUTPUT_SAF_VALUE"), r(13802, U16, RW, "MANUAL_OVERRIDE_OUTPUT_EAF_VALUE"), r(14001, U16, RO, "OUTPUT_SAF"), r(14002, U16, RO, "OUTPUT_EAF"), r(14003, U16, RO, "OUTPUT_ALARM"), r(14004, U16, RO, "OUTPUT_OUTDOOR_EXTRACT_DAMPER"), r(14101, U16, RO, "OUTPUT_Y1_ANALOG"), r(14102, U16, RO, "OUTPUT_Y1_DIGITAL"), r(14103, U16, RO, "OUTPUT_Y2_ANALOG"), r(14104, U16, RO, "OUTPUT_Y2_DIGITAL"), r(14201, U16, RO, "OUTPUT_Y3_ANALOG"), r(14202, U16, RO, "OUTPUT_Y3_DIGITAL"), r(14203, U16, RO, "OUTPUT_Y4_ANALOG"), r(14204, U16, RO, "OUTPUT_Y4_DIGITAL"), r(14301, U16, RO, "OUTPUT_Y1_CIRC_PUMP"), r(14302, U16, RO, "OUTPUT_Y3_CIRC_PUMP"), r(14303, U16, RO, "OUTPUT_Y1_Y3_CIRC_PUMP"), r(14304, U16, RO, "OUTPUT_Y4_CIRC_PUMP"), r(14351, U16, RO, "OUTPUT_AO1"), r(14352, U16, RO, "OUTPUT_AO2"), r(14353, U16, RO, "OUTPUT_AO3"), r(14354, U16, RO, "OUTPUT_AO4"), r(14355, U16, RO, "OUTPUT_AO5"), r(14361, U16, RO, "OUTPUT_DO1"), r(14362, U16, RO, "OUTPUT_DO2"), r(14363, U16, RO, "OUTPUT_DO3"), r(14364, U16, RO, "OUTPUT_DO4"), r(14371, U16, RO, "OUTPUT_FAN_SPEED1"), r(14372, U16, RO, "OUTPUT_FAN_SPEED2"), r(14381, U16, RO, "OUTPUT_TRIAC"), r(15002, U16, RO, "ALARM_SAF_CTRL_ALARM"), r(15003, U16, RW, "ALARM_SAF_CTRL_CLEAR_ALARM"), r(15009, U16, RO, "ALARM_EAF_CTRL_ALARM"), r(15010, U16, RW, "ALARM_EAF_CTRL_CLEAR_ALARM"), r(15016, U16, RO, "ALARM_FROST_PROT_ALARM"), r(15017, U16, RW, "ALARM_FROST_PROT_CLEAR_ALARM"), r(15023, U16, RO, "ALARM_DEFROSTING_ALARM"), r(15024, U16, RW, "ALARM_DEFROSTING_CLEAR_ALARM"), r(15030, U16, RO, "ALARM_SAF_RPM_ALARM"), r(15031, U16, RW, "ALARM_SAF_RPM_CLEAR_ALARM"), r(15037, U16, RO, "ALARM_EAF_RPM_ALARM"), r(15038, U16, RW, "ALARM_EAF_RPM_CLEAR_ALARM"), r(15058, U16, RO, "ALARM_FPT_ALARM"), r(15059, U16, RW, "ALARM_FPT_CLEAR_ALARM"), r(15065, U16, RO, "ALARM_OAT_ALARM"), r(15066, U16, RW, "ALARM_OAT_CLEAR_ALARM"), r(15072, U16, RO, "ALARM_SAT_ALARM"), r(15073, U16, RW, "ALARM_SAT_CLEAR_ALARM"), r(15079, U16, RO, "ALARM_RAT_ALARM"), r(15080, U16, RW, "ALARM_RAT_CLEAR_ALARM"), r(15086, U16, RO, "ALARM_EAT_ALARM"), r(15087, U16, RW, "ALARM_EAT_CLEAR_ALARM"), r(15093, U16, RO, "ALARM_ECT_ALARM"), r(15094, U16, RW, "ALARM_ECT_CLEAR_ALARM"), r(15100, U16, RO, "ALARM_EFT_ALARM"), r(15101, U16, RW, "ALARM_EFT_CLEAR_ALARM"), r(15107, U16, RO, "ALARM_OHT_ALARM"), r(15108, U16, RW, "ALARM_OHT_CLEAR_ALARM"), r(15114, U16, RO, "ALARM_EMT_ALARM"), r(15115, U16, RW, "ALARM_EMT_CLEAR_ALARM"), r(15121, U16, RO, "ALARM_RGS_ALARM"), r(15122, U16, RW, "ALARM_RGS_CLEAR_ALARM"), r(15128, U16, RO, "ALARM_BYS_ALARM"), r(15129, U16, RW, "ALARM_BYS_CLEAR_ALARM"), r(15135, U16, RO, "ALARM_SECONDARY_AIR_ALARM"), r(15136, U16, RW, "ALARM_SECONDARY_AIR_CLEAR_ALARM"), r(15142, U16, RO, "ALARM_FILTER_ALARM"), r(15143, U16, RW, "ALARM_FILTER_CLEAR_ALARM"), r(15149, U16, RO, "ALARM_EXTRA_CONTROLLER_ALARM"), r(15150, U16, RW, "ALARM_EXTRA_CONTROLLER_CLEAR_ALARM"), r(15156, U16, RO, "ALARM_EXTERNAL_STOP_ALARM"), r(15157, U16, RW, "ALARM_EXTERNAL_STOP_CLEAR_ALARM"), r(15163, U16, RO, "ALARM_RH_ALARM"), r(15164, U16, RW, "ALARM_RH_CLEAR_ALARM"), r(15170, U16, RO, "ALARM_CO2_ALARM"), r(15171, U16, RW, "ALARM_CO2_CLEAR_ALARM"), r(15177, U16, RO, "ALARM_LOW_SAT_ALARM"), r(15178, U16, RW, "ALARM_LOW_SAT_CLEAR_ALARM"), r(15184, U16, RO, "ALARM_BYF_ALARM"), r(15185, U16, RW, "ALARM_BYF_CLEAR_ALARM"), r(15502, U16, RO, "ALARM_MANUAL_OVERRIDE_OUTPUTS_ALARM"), r(15503, U16, RW, "ALARM_MANUAL_OVERRIDE_OUTPUTS_CLEAR_ALARM"), r(15509, U16, RO, "ALARM_PDM_RHS_ALARM"), r(15510, U16, RW, "ALARM_PDM_RHS_CLEAR_ALARM"), r(15516, U16, RO, "ALARM_PDM_EAT_ALARM"), r(15517, U16, RW, "ALARM_PDM_EAT_CLEAR_ALARM"), r(15523, U16, RO, "ALARM_MANUAL_FAN_STOP_ALARM"), r(15524, U16, RW, "ALARM_MANUAL_FAN_STOP_CLEAR_ALARM"), r(15530, U16, RO, "ALARM_OVERHEAT_TEMPERATURE_ALARM"), r(15531, U16, RW, "ALARM_OVERHEAT_TEMPERATURE_CLEAR_ALARM"), r(15537, U16, RO, "ALARM_FIRE_ALARM_ALARM"), r(15538, U16, RW, "ALARM_FIRE_ALARM_CLEAR_ALARM"), r(15544, U16, RO, "ALARM_FILTER_WARNING_ALARM"), r(15545, U16, RW, "ALARM_FILTER_WARNING_CLEAR_ALARM"), r(15549, U16, RO, "ALARM_FILTER_WARNING_ALARM_ERROR_DURATION_COUNTER"), r(15701, U16, RO, "ALARM_LOG_1_ID"), r(15702, U16, RO, "ALARM_LOG_1_STATE_NOW"), r(15703, U16, RO, "ALARM_LOG_1_STATE_PREVIOUS"), r(15704, U16, RO, "ALARM_LOG_1_YEAR"), r(15705, U16, RO, "ALARM_LOG_1_MONTH"), r(15706, U16, RO, "ALARM_LOG_1_DAY"), r(15707, U16, RO, "ALARM_LOG_1_HOUR"), r(15708, U16, RO, "ALARM_LOG_1_MINUTE"), r(15709, U16, RO, "ALARM_LOG_1_SECOND"), r(15710, U16, RO, "ALARM_LOG_1_CODE"), r(15711, U16, RO, "ALARM_LOG_2_ID"), r(15712, U16, RO, "ALARM_LOG_2_STATE_NOW"), r(15713, U16, RO, "ALARM_LOG_2_STATE_PREVIOUS"), r(15714, U16, RO, "ALARM_LOG_2_YEAR"), r(15715, U16, RO, "ALARM_LOG_2_MONTH"), r(15716, U16, RO, "ALARM_LOG_2_DAY"), r(15717, U16, RO, "ALARM_LOG_2_HOUR"), r(15718, U16, RO, "ALARM_LOG_2_MINUTE"), r(15719, U16, RO, "ALARM_LOG_2_SECOND"), r(15720, U16, RO, "ALARM_LOG_2_CODE"), r(15721, U16, RO, "ALARM_LOG_3_ID"), r(15722, U16, RO, "ALARM_LOG_3_STATE_NOW"), r(15723, U16, RO, "ALARM_LOG_3_STATE_PREVIOUS"), r(15724, U16, RO, "ALARM_LOG_3_YEAR"), r(15725, U16, RO, "ALARM_LOG_3_MONTH"), r(15726, U16, RO, "ALARM_LOG_3_DAY"), r(15727, U16, RO, "ALARM_LOG_3_HOUR"), r(15728, U16, RO, "ALARM_LOG_3_MINUTE"), r(15729, U16, RO, "ALARM_LOG_3_SECOND"), r(15730, U16, RO, "ALARM_LOG_3_CODE"), r(15731, U16, RO, "ALARM_LOG_4_ID"), r(15732, U16, RO, "ALARM_LOG_4_STATE_NOW"), r(15733, U16, RO, "ALARM_LOG_4_STATE_PREVIOUS"), r(15734, U16, RO, "ALARM_LOG_4_YEAR"), r(15735, U16, RO, "ALARM_LOG_4_MONTH"), r(15736, U16, RO, "ALARM_LOG_4_DAY"), r(15737, U16, RO, "ALARM_LOG_4_HOUR"), r(15738, U16, RO, "ALARM_LOG_4_MINUTE"), r(15739, U16, RO, "ALARM_LOG_4_SECOND"), r(15740, U16, RO, "ALARM_LOG_4_CODE"), r(15741, U16, RO, "ALARM_LOG_5_ID"), r(15742, U16, RO, "ALARM_LOG_5_STATE_NOW"), r(15743, U16, RO, "ALARM_LOG_5_STATE_PREVIOUS"), r(15744, U16, RO, "ALARM_LOG_5_YEAR"), r(15745, U16, RO, "ALARM_LOG_5_MONTH"), r(15746, U16, RO, "ALARM_LOG_5_DAY"), r(15747, U16, RO, "ALARM_LOG_5_HOUR"), r(15748, U16, RO, "ALARM_LOG_5_MINUTE"), r(15749, U16, RO, "ALARM_LOG_5_SECOND"), r(15750, U16, RO, "ALARM_LOG_5_CODE"), r(15751, U16, RO, "ALARM_LOG_6_ID"), r(15752, U16, RO, "ALARM_LOG_6_STATE_NOW"), r(15753, U16, RO, "ALARM_LOG_6_STATE_PREVIOUS"), r(15754, U16, RO, "ALARM_LOG_6_YEAR"), r(15755, U16, RO, "ALARM_LOG_6_MONTH"), r(15756, U16, RO, "ALARM_LOG_6_DAY"), r(15757, U16, RO, "ALARM_LOG_6_HOUR"), r(15758, U16, RO, "ALARM_LOG_6_MINUTE"), r(15759, U16, RO, "ALARM_LOG_6_SECOND"), r(15760, U16, RO, "ALARM_LOG_6_CODE"), r(15761, U16, RO, "ALARM_LOG_7_ID"), r(15762, U16, RO, "ALARM_LOG_7_STATE_NOW"), r(15763, U16, RO, "ALARM_LOG_7_STATE_PREVIOUS"), r(15764, U16, RO, "ALARM_LOG_7_YEAR"), r(15765, U16, RO, "ALARM_LOG_7_MONTH"), r(15766, U16, RO, "ALARM_LOG_7_DAY"), r(15767, U16, RO, "ALARM_LOG_7_HOUR"), r(15768, U16, RO, "ALARM_LOG_7_MINUTE"), r(15769, U16, RO, "ALARM_LOG_7_SECOND"), r(15770, U16, RO, "ALARM_LOG_7_CODE"), r(15771, U16, RO, "ALARM_LOG_8_ID"), r(15772, U16, RO, "ALARM_LOG_8_STATE_NOW"), r(15773, U16, RO, "ALARM_LOG_8_STATE_PREVIOUS"), r(15774, U16, RO, "ALARM_LOG_8_YEAR"), r(15775, U16, RO, "ALARM_LOG_8_MONTH"), r(15776, U16, RO, "ALARM_LOG_8_DAY"), r(15777, U16, RO, "ALARM_LOG_8_HOUR"), r(15778, U16, RO, "ALARM_LOG_8_MINUTE"), r(15779, U16, RO, "ALARM_LOG_8_SECOND"), r(15780, U16, RO, "ALARM_LOG_8_CODE"), r(15781, U16, RO, "ALARM_LOG_9_ID"), r(15782, U16, RO, "ALARM_LOG_9_STATE_NOW"), r(15783, U16, RO, "ALARM_LOG_9_STATE_PREVIOUS"), r(15784, U16, RO, "ALARM_LOG_9_YEAR"), r(15785, U16, RO, "ALARM_LOG_9_MONTH"), r(15786, U16, RO, "ALARM_LOG_9_DAY"), r(15787, U16, RO, "ALARM_LOG_9_HOUR"), r(15788, U16, RO, "ALARM_LOG_9_MINUTE"), r(15789, U16, RO, "ALARM_LOG_9_SECOND"), r(15790, U16, RO, "ALARM_LOG_9_CODE"), r(15791, U16, RO, "ALARM_LOG_10_ID"), r(15792, U16, RO, "ALARM_LOG_10_STATE_NOW"), r(15793, U16, RO, "ALARM_LOG_10_STATE_PREVIOUS"), r(15794, U16, RO, "ALARM_LOG_10_YEAR"), r(15795, U16, RO, "ALARM_LOG_10_MONTH"), r(15796, U16, RO, "ALARM_LOG_10_DAY"), r(15797, U16, RO, "ALARM_LOG_10_HOUR"), r(15798, U16, RO, "ALARM_LOG_10_MINUTE"), r(15799, U16, RO, "ALARM_LOG_10_SECOND"), r(15800, U16, RO, "ALARM_LOG_10_CODE"), r(15801, U16, RO, "ALARM_LOG_11_ID"), r(15802, U16, RO, "ALARM_LOG_11_STATE_NOW"), r(15803, U16, RO, "ALARM_LOG_11_STATE_PREVIOUS"), r(15804, U16, RO, "ALARM_LOG_11_YEAR"), r(15805, U16, RO, "ALARM_LOG_11_MONTH"), r(15806, U16, RO, "ALARM_LOG_11_DAY"), r(15807, U16, RO, "ALARM_LOG_11_HOUR"), r(15808, U16, RO, "ALARM_LOG_11_MINUTE"), r(15809, U16, RO, "ALARM_LOG_11_SECOND"), r(15810, U16, RO, "ALARM_LOG_11_CODE"), r(15811, U16, RO, "ALARM_LOG_12_ID"), r(15812, U16, RO, "ALARM_LOG_12_STATE_NOW"), r(15813, U16, RO, "ALARM_LOG_12_STATE_PREVIOUS"), r(15814, U16, RO, "ALARM_LOG_12_YEAR"), r(15815, U16, RO, "ALARM_LOG_12_MONTH"), r(15816, U16, RO, "ALARM_LOG_12_DAY"), r(15817, U16, RO, "ALARM_LOG_12_HOUR"), r(15818, U16, RO, "ALARM_LOG_12_MINUTE"), r(15819, U16, RO, "ALARM_LOG_12_SECOND"), r(15820, U16, RO, "ALARM_LOG_12_CODE"), r(15821, U16, RO, "ALARM_LOG_13_ID"), r(15822, U16, RO, "ALARM_LOG_13_STATE_NOW"), r(15823, U16, RO, "ALARM_LOG_13_STATE_PREVIOUS"), r(15824, U16, RO, "ALARM_LOG_13_YEAR"), r(15825, U16, RO, "ALARM_LOG_13_MONTH"), r(15826, U16, RO, "ALARM_LOG_13_DAY"), r(15827, U16, RO, "ALARM_LOG_13_HOUR"), r(15828, U16, RO, "ALARM_LOG_13_MINUTE"), r(15829, U16, RO, "ALARM_LOG_13_SECOND"), r(15830, U16, RO, "ALARM_LOG_13_CODE"), r(15831, U16, RO, "ALARM_LOG_14_ID"), r(15832, U16, RO, "ALARM_LOG_14_STATE_NOW"), r(15833, U16, RO, "ALARM_LOG_14_STATE_PREVIOUS"), r(15834, U16, RO, "ALARM_LOG_14_YEAR"), r(15835, U16, RO, "ALARM_LOG_14_MONTH"), r(15836, U16, RO, "ALARM_LOG_14_DAY"), r(15837, U16, RO, "ALARM_LOG_14_HOUR"), r(15838, U16, RO, "ALARM_LOG_14_MINUTE"), r(15839, U16, RO, "ALARM_LOG_14_SECOND"), r(15840, U16, RO, "ALARM_LOG_14_CODE"), r(15841, U16, RO, "ALARM_LOG_15_ID"), r(15842, U16, RO, "ALARM_LOG_15_STATE_NOW"), r(15843, U16, RO, "ALARM_LOG_15_STATE_PREVIOUS"), r(15844, U16, RO, "ALARM_LOG_15_YEAR"), r(15845, U16, RO, "ALARM_LOG_15_MONTH"), r(15846, U16, RO, "ALARM_LOG_15_DAY"), r(15847, U16, RO, "ALARM_LOG_15_HOUR"), r(15848, U16, RO, "ALARM_LOG_15_MINUTE"), r(15849, U16, RO, "ALARM_LOG_15_SECOND"), r(15850, U16, RO, "ALARM_LOG_15_CODE"), r(15851, U16, RO, "ALARM_LOG_16_ID"), r(15852, U16, RO, "ALARM_LOG_16_STATE_NOW"), r(15853, U16, RO, "ALARM_LOG_16_STATE_PREVIOUS"), r(15854, U16, RO, "ALARM_LOG_16_YEAR"), r(15855, U16, RO, "ALARM_LOG_16_MONTH"), r(15856, U16, RO, "ALARM_LOG_16_DAY"), r(15857, U16, RO, "ALARM_LOG_16_HOUR"), r(15858, U16, RO, "ALARM_LOG_16_MINUTE"), r(15859, U16, RO, "ALARM_LOG_16_SECOND"), r(15860, U16, RO, "ALARM_LOG_16_CODE"), r(15861, U16, RO, "ALARM_LOG_17_ID"), r(15862, U16, RO, "ALARM_LOG_17_STATE_NOW"), r(15863, U16, RO, "ALARM_LOG_17_STATE_PREVIOUS"), r(15864, U16, RO, "ALARM_LOG_17_YEAR"), r(15865, U16, RO, "ALARM_LOG_17_MONTH"), r(15866, U16, RO, "ALARM_LOG_17_DAY"), r(15867, U16, RO, "ALARM_LOG_17_HOUR"), r(15868, U16, RO, "ALARM_LOG_17_MINUTE"), r(15869, U16, RO, "ALARM_LOG_17_SECOND"), r(15870, U16, RO, "ALARM_LOG_17_CODE"), r(15871, U16, RO, "ALARM_LOG_18_ID"), r(15872, U16, RO, "ALARM_LOG_18_STATE_NOW"), r(15873, U16, RO, "ALARM_LOG_18_STATE_PREVIOUS"), r(15874, U16, RO, "ALARM_LOG_18_YEAR"), r(15875, U16, RO, "ALARM_LOG_18_MONTH"), r(15876, U16, RO, "ALARM_LOG_18_DAY"), r(15877, U16, RO, "ALARM_LOG_18_HOUR"), r(15878, U16, RO, "ALARM_LOG_18_MINUTE"), r(15879, U16, RO, "ALARM_LOG_18_SECOND"), r(15880, U16, RO, "ALARM_LOG_18_CODE"), r(15881, U16, RO, "ALARM_LOG_19_ID"), r(15882, U16, RO, "ALARM_LOG_19_STATE_NOW"), r(15883, U16, RO, "ALARM_LOG_19_STATE_PREVIOUS"), r(15884, U16, RO, "ALARM_LOG_19_YEAR"), r(15885, U16, RO, "ALARM_LOG_19_MONTH"), r(15886, U16, RO, "ALARM_LOG_19_DAY"), r(15887, U16, RO, "ALARM_LOG_19_HOUR"), r(15888, U16, RO, "ALARM_LOG_19_MINUTE"), r(15889, U16, RO, "ALARM_LOG_19_SECOND"), r(15890, U16, RO, "ALARM_LOG_19_CODE"), r(15891, U16, RO, "ALARM_LOG_20_ID"), r(15892, U16, RO, "ALARM_LOG_20_STATE_NOW"), r(15893, U16, RO, "ALARM_LOG_20_STATE_PREVIOUS"), r(15894, U16, RO, "ALARM_LOG_20_YEAR"), r(15895, U16, RO, "ALARM_LOG_20_MONTH"), r(15896, U16, RO, "ALARM_LOG_20_DAY"), r(15897, U16, RO, "ALARM_LOG_20_HOUR"), r(15898, U16, RO, "ALARM_LOG_20_MINUTE"), r(15899, U16, RO, "ALARM_LOG_20_SECOND"), r(15900, U16, RO, "ALARM_LOG_20_CODE"), r(15901, U16, RO, "ALARM_TYPE_A"), r(15902, U16, RO, "ALARM_TYPE_B"), r(15903, U16, RO, "ALARM_TYPE_C"), r(16001, U16, RW, "PASSWD_ADMIN"), r(16002, U16, RW, "LOCKED_USER"), r(16003, U16, RW, "LOCKED_FILTER"), r(16004, U16, RW, "LOCKED_WEEK_SCHEDULE"), r(16051, U16, RW, "PASSWD_USER_LEVEL_REQUIRED"), r(16052, U16, RW, "PASSWD_FILTER_REQUIRED"), r(16053, U16, RW, "PASSWD_WEEK_SCHEDULE_REQUIRED"), r(16061, U16, RW, "PASSWD_PC_SETTINGS"), r(16062, U16, RO, "PASSWD_PC_UNLOCKED"), r(16101, U16, RW, "SUW_REQUIRED"), r(17001, U16, RW, "COMM_MODBUS_ADDRESS"), r(17002, U16, RW, "COMM_MODBUS_BAUD_RATE"), r(17003, U16, RW, "COMM_MODBUS_PARITY"), r(30101, U16, RW, "FACTORY_RESET"), r(30103, U16, RW, "SET_USER_SAFE_CONFIG"), r(30104, U16, RW, "ACTIVATE_USER_SAFE_CONFIG"), r(30105, U16, RO, "USER_SAFE_CONFIG_VALID"), r(30106, U16, RO, "SAFE_CONFIG_VALID"), ]); function d(register, description, map = registers) { if (typeof register === 'number') { map.get(register).description = description; } else { for (let r of register) { d(r, description); } } } d(1001, "Highest value of all RH sensors"); d(1002, "Highest value of all CO2 sensors"); d(1011, "Set point for RH demand control"); d(1012, "Sensor value for RH demand control"); d(1019, "Output value for RH demand control. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1021, "Set point for CO2 demand control"); d(1022, "Sensor value for CO2 demand control"); d(1029, "Output value for CO2 demand control. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1031, "Pband setting for RH demand control"); d(1033, "Set point setting for RH demand control winter time"); d(1034, "Set point setting for RH demand control summer time"); d(1035, "Flag indicating if RH demand control is allowed"); d(1039, "Actual seasson for Demand Control\n0: Summer\n1: Winter"); d(1041, "Pband setting for CO2 demand control"); d(1043, "Set point setting for CO2 demand control"); d(1044, "Flag indicating if CO2 demand control isallowed"); d(1101, "Time delay setting for user mode Holiday"); d(1102, "Time delay setting for user mode Away"); d(1103, "Time delay setting for user mode Fire Place"); d(1104, "Time delay setting for user mode Refresh"); d(1105, "Time delay setting for user mode Crowded"); d([1111, 1112], "Remaining time for the state Holiday/Away/Fire Place/Refresh/Crowded"); d(1121, "Minimum level for Demand Control\n2: Low\n3: Normal"); d(1122, "Maximum level for user Demand Control\n3: Normal\n4: High\n5: Maximum"); d(1123, "Actual IAQ level:\n0: Economic\n1: Good\n2: Improving"); d(1131, "Fan speed level for mode Manual. Applies to both the SAF and the EAF fan.\n0: Off(1)\n2: Low\n3: Normal\n4: High\n(1): value Off only allowed if contents of register REG_FAN_MANUAL_STOP_ALLOWED is 1."); d([1135, 1136], "Fan speed level for mode Crowded\n3: Normal\n4: High\n5: Maximum"); d([1137, 1138], "Fan speed level for mode Refresh\n3: Normal\n4: High\n5: Maximum"); d([1139, 1140], "Fan speed level for mode Fire Place\n1: Minimum\n2: Low\n3: Normal"); d([1141, 1142], "Fan speed level for mode Away. Value Off only allowed if contents of register REG_FAN_MANUAL_STOP_ALLOWED is 1."); d([1143, 1144], "Fan speed level for mode Holiday. Value Off only allowed if contents of register REG_FAN_MANUAL_STOP_ALLOWED is 1."); d([1145, 1146], "Fan speed level for mode Cooker Hood\n1: Minimum\n2: Low\n3: Normal"); d([1147, 1148], "Fan speed level for mode Vacuum Cleaner\n1: Minimum\n2: Low\n3: Normal"); d(1151, "Temperature setpoint offset for user mode Crowded"); d(1161, "Active User mode.\n0: Auto\n1: Manual\n2: Crowded\n3: Refresh\n4: Fireplace\n5: Away\n6: Holiday\n7: Cooker Hood\n8: Vacuum Cleaner\n9: CDI1\n10: CDI2\n11: CDI3\n12: PressureGuard"); d(1162, "New desired user mode as requested by HMI\n0: None\n1: AUTO\n2: Manual\n3: Crowded\n4: Refresh\n5: Fireplace\n6: Away\n7: Holiday"); d([ 1171, 1172, 1173, 1174, 1175, 1176 ], "Fan speed level for configurable digital input 3.\n0: Off\n1: Minimum\n2: Low\n3: Normal\n4: High\n5: Maximum"); d([1177, 1178], "Fan speed level for configurable pressure guard function.\n0: Off\n1: Minimum\n2: Low\n3: Normal\n4: High\n5: Maximum"); d([ 1181, 1182, 1183, 1184, 1185, 1188, 1189, 1190 ], "Off delay for DI"); d(1221, "SAF speed value for user mode Holiday. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1222, "EAF speed value for user mode Holiday. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1223, "SAF speed value for mode Cooker Hood. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1224, "EAF speed value for mode Cooker Hood. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1225, "SAF speed value for mode Vacuum Cleaner. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1226, "EAF speed value for mode Vacuum Cleaner. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1227, "SAF speed value for low fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1228, "EAF speed value for low fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1251, "Compensate only SF or both SF and EF\n0: SAF\n1: SAF/EAF"); d(1252, "Compensation value at lowest temperature."); d(1253, "Temperature at which compensation reaches maximum value during the winter period."); d(1254, "Temperature at which highest compensation is applied."); d(1255, "Current outdoor compensation value"); d(1256, "Temperature at which compensation starts during the winter period."); d(1257, "Temperature at which compensation starts during the summer period."); d(1258, "Temperature at which compensation reaches maximum value during the summer period."); d(1259, "Compensation value during summer period"); d(1274, "Type of fan control mode.\n0: Manual\n1: RPM\n2: VAV (Constant Pressure)\n3: CAV (Constant Flow)4: DCV (External)"); d(1301, "SAF speed value for minimum fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1302, "EAF speed value for minimum fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1303, "SAF speed value for low fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1304, "EAF speed value for low fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1305, "SAF speed value for normal fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1306, "EAF speed value for normal fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1307, "SAF speed value for high fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1308, "EAF speed value for high fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1309, "SAF speed value for maximum fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1310, "EAF speed value for maximum fan speed. (1): Depends on regulation type. Value can be %, RPM, Pressure or Flow"); d(1351, "Indicates that both fans are running"); d(1352, "Indicates that the SAF shall be turned off once the electrical reheater is cooled down."); d(1353, "Allow manual fan stop (also as selection for user modes and Week schedule).\n0: Manual stop not allowed\n1: Manual stop allowed"); d(1357, "Electrical Heater hot counter. Count down from 120 sec."); d(1358, "Supply Air Fan Speed Level After Heater Cooling Down"); d(1359, "Extract Air Fan Speed Level After Heater Cooling Down"); d(1401, "SAF speed value for minimum fan speed"); d(1402, "EAF speed value for minimum fan speed"); d(1403, "SAF speed value for low fan speed"); d(1404, "EAF speed value for low fan speed"); d(1405, "SAF speed value for normal fan speed"); d(1406, "EAF speed value for normal fan speed"); d(1407, "SAF speed value for high fan speed"); d(1408, "EAF speed value for high fan speed"); d(1409, "SAF speed value for maximum fan speed"); d(1410, "EAF speed value for maximum fan speed"); d(1411, "SAF speed value for minimum fan speed"); d(1412, "EAF speed value for minimum fan speed"); d(1413, "SAF speed value for low fan speed"); d(1414, "EAF speed value for low fan speed"); d(1415, "SAF speed value for normal fan speed"); d(1416, "EAF speed value for normal fan speed"); d(1417, "SAF speed value for high fan speed"); d(1418, "EAF speed value for high fan speed"); d(1419, "SAF speed value for maximum fan speed"); d(1420, "EAF speed value for maximum fan speed"); d(1421, "SAF speed value for minimum fan speed"); d(1422, "EAF speed value for minimum fan speed"); d(1423, "SAF speed value for low fan speed"); d(1424, "EAF speed value for low fan speed"); d(1425, "SAF speed value for normal fan speed"); d(1426, "EAF speed value for normal fan speed"); d(1427, "SAF speed value for high fan speed"); d(1428, "EAF speed value for high fan speed"); d(1429, "SAF speed value for maximum fan speed"); d(1430, "EAF speed value for maximum fan speed"); d(1431, "SAF speed value for minimum fan speed"); d(1432, "EAF speed value for minimum fan speed"); d(1433, "SAF speed value for low fan speed"); d(1434, "EAF speed value for low fan speed"); d(1435, "SAF speed value for normal fan speed"); d(1436, "EAF speed value for normal fan speed"); d(1437, "SAF speed value