UNPKG

knxultimate

Version:

KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.

182 lines 5.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const KnxLog_1 = require("../KnxLog"); const logger = (0, KnxLog_1.module)('DPT1'); const config = { id: 'DPT1', formatAPDU: (value) => { const f = parseFloat(value); if (!isNaN(f) && isFinite(value)) { return Buffer.from([f ? 1 : 0]); } return Buffer.from([value === true || value === 'true' ? 1 : 0]); }, fromBuffer: (buf) => { if (buf.length !== 1) { logger.warn('fromBuffer: buf should be 1 byte (got %d bytes)', buf.length); return null; } return buf[0] !== 0; }, basetype: { bitlength: 1, valuetype: 'basic', desc: '1-bit value', help: `// Turn on or off a lamp msg.payload = true; // Turn on // or msg.payload = false; // Turn off return msg;`, helplink: 'https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki/-Sample---Switch-light', }, subtypes: { '001': { use: 'G', name: 'Switch', desc: 'switch', enc: { 0: 'Off', 1: 'On' }, }, '002': { use: 'G', name: 'Boolean', desc: 'bool', enc: { 0: 'false', 1: 'true' }, }, '003': { use: 'G', name: 'Enable', desc: 'enable', enc: { 0: 'disable', 1: 'enable' }, }, '004': { use: 'FB', name: 'Ramp', desc: 'ramp', enc: { 0: 'No ramp', 1: 'Ramp' }, }, '005': { use: 'FB', name: 'Alarm', desc: 'alarm', enc: { 0: 'No alarm', 1: 'Alarm' }, }, '006': { use: 'FB', name: 'Binary Value', desc: 'binary value', enc: { 0: 'Low', 1: 'High' }, }, '007': { use: 'FB', name: 'Step', desc: 'step', enc: { 0: 'Decrease', 1: 'Increase' }, }, '008': { use: 'G', name: 'Up/Down', desc: 'up/down', enc: { 0: 'Up', 1: 'Down' }, }, '009': { use: 'G', name: 'Open/Close', desc: 'open/close', enc: { 0: 'Open', 1: 'Close' }, }, '010': { use: 'G', name: 'Start/Stop', desc: 'start/stop', enc: { 0: 'Stop', 1: 'Start' }, }, '011': { use: 'FB', name: 'State', desc: 'state', enc: { 0: 'Inactive', 1: 'Active' }, }, '012': { use: 'FB', name: 'Invert', desc: 'invert', enc: { 0: 'Not inverted', 1: 'inverted' }, }, '013': { use: 'FB', name: 'Dim send style', desc: 'dim send style', enc: { 0: 'Start/stop', 1: 'Cyclically' }, }, '014': { use: 'FB', name: 'Input source', desc: 'input source', enc: { 0: 'Fixed', 1: 'Calculated' }, }, '015': { use: 'G', name: 'Reset', desc: 'reset', enc: { 0: 'no action(dummy)', 1: 'reset command(trigger)' }, }, '016': { use: 'G', name: 'Ack', desc: 'ack', enc: { 0: 'no action(dummy)', 1: 'acknowledge command(trigger)' }, }, '017': { use: 'G', name: 'Trigger', desc: 'trigger', enc: { 0: 'trigger', 1: 'trigger' }, }, '018': { use: 'G', name: 'Occupancy', desc: 'occupancy', enc: { 0: 'not occupied', 1: 'occupied' }, }, '019': { use: 'G', name: 'Window/Door', desc: 'open window/door', enc: { 0: 'closed', 1: 'open' }, }, '021': { use: 'FB', name: 'Logical function', desc: 'and/or', enc: { 0: 'logical function OR', 1: 'logical function AND' }, }, '022': { use: 'FB', name: 'Scene', desc: 'scene A/B', enc: { 0: 'scene A', 1: 'scene B' }, }, '023': { use: 'FB', name: 'Shutter/Blinds mode', desc: 'shutter/blinds mode', enc: { 0: 'only move Up/Down mode (shutter)', 1: 'move Up/Down + StepStop mode (blind)', }, }, '024': { use: 'G', name: 'Day/Night', desc: 'day/night', enc: { 0: 'Day', 1: 'Night' }, }, 100: { use: '???', name: 'Heat/Cool', desc: 'heat/cool', enc: { 0: '???', 1: '???' }, }, }, }; exports.default = config; //# sourceMappingURL=dpt1.js.map