knxultimate
Version:
KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.
142 lines (133 loc) • 3.97 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const KnxLog_1 = require("../KnxLog");
const logger = (0, KnxLog_1.module)('DPT20');
const config = {
id: 'DPT20',
formatAPDU: (value) => {
const apdu_data = Buffer.alloc(1);
apdu_data[0] = value;
logger.debug(`./knx/src/dpt20.js : input value = ${value} apdu_data = ${apdu_data}`);
return apdu_data;
},
fromBuffer: (buf) => {
if (buf.length !== 1) {
logger.warn('Buffer should be 1 byte long, got', buf.length);
return null;
}
const ret = buf.readUInt8(0);
return ret;
},
basetype: {
bitlength: 8,
range: [,],
valuetype: 'basic',
desc: '1-byte',
help: `// Send Value. Examples for DPT20 (1-byte HVAC):
// DPT20.102 - HVAC Mode: 0 = Auto, 1 = Comfort, 2 = Standby, 3 = Economy, 4 = Building protection
msg.payload = 1; // Set to Comfort
return msg;
// DPT20.103 - HVAC Control Mode: 0 = Auto, 1 = Heat, 2 = Cool, 3 = Fan only, 4 = Dry
msg.payload = 2; // Set to Cool
return msg;
// DPT20.104 - HVAC Emergency Mode: 0 = Normal, 1 = Emergency
msg.payload = 1; // Set to Emergency
return msg;
// DPT20.105 - HVAC Changeover Mode: 0 = Auto, 1 = Heating, 2 = Cooling
msg.payload = 1; // Set to Heating
return msg;
// DPT20.106 - HVAC Valve Mode: 0 = Auto, 1 = Open, 2 = Closed
msg.payload = 2; // Set to Closed
return msg;
// DPT20.107 - HVAC Damper Mode: 0 = Auto, 1 = Open, 2 = Closed
msg.payload = 1; // Set to Open
return msg;
// DPT20.108 - HVAC Heater Mode: 0 = Auto, 1 = On, 2 = Off
msg.payload = 1; // Set to On
return msg;
// DPT20.109 - HVAC Fan Mode: 0 = Auto, 1 = Low, 2 = Medium, 3 = High
msg.payload = 3; // Set to High
return msg;
// DPT20.110 - HVAC Master/Slave Mode: 0 = Master, 1 = Slave
msg.payload = 0; // Set to Master
return msg;
// DPT20.111 - HVAC Room Temperature Setpoint: Value in °C (e.g., 22 for 22°C)
msg.payload = 22; // Set to 22°C
return msg;`,
helplink: '',
},
subtypes: {
102: {
name: 'HVAC Mode',
desc: 'HVAC mode control',
unit: '',
scalar_range: [,],
range: [,],
},
103: {
name: 'HVAC Control Mode',
desc: 'HVAC control mode',
unit: '',
scalar_range: [,],
range: [,],
},
104: {
name: 'HVAC Emergency Mode',
desc: 'HVAC emergency mode',
unit: '',
scalar_range: [,],
range: [,],
},
105: {
name: 'HVAC Changeover Mode',
desc: 'HVAC changeover mode',
unit: '',
scalar_range: [,],
range: [,],
},
106: {
name: 'HVAC Valve Mode',
desc: 'HVAC valve mode',
unit: '',
scalar_range: [,],
range: [,],
},
107: {
name: 'HVAC Damper Mode',
desc: 'HVAC damper mode',
unit: '',
scalar_range: [,],
range: [,],
},
108: {
name: 'HVAC Heater Mode',
desc: 'HVAC heater mode',
unit: '',
scalar_range: [,],
range: [,],
},
109: {
name: 'HVAC Fan Mode',
desc: 'HVAC fan mode',
unit: '',
scalar_range: [,],
range: [,],
},
110: {
name: 'HVAC Master/Slave Mode',
desc: 'HVAC master/slave mode',
unit: '',
scalar_range: [,],
range: [,],
},
111: {
name: 'HVAC Room Temperature Setpoint',
desc: 'HVAC room temperature setpoint',
unit: '°C',
scalar_range: [,],
range: [,],
},
},
};
exports.default = config;
//# sourceMappingURL=dpt20.js.map