UNPKG

node-enocean-ts

Version:

Typescript full implementation of the enocean protocol (ESP3 + EEP2.6)

63 lines 2.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const eepHelper_1 = __importDefault(require("./eepHelper")); function default_1(eep, data) { var eepa = eep.split("-"); var choice = eepa[0]; var func = eepa[1]; var type = eepa[2]; var typeNr = parseInt(type, 16); if (eep === "a5-12-01") { var sst = data.substring(6, 8) == "8f"; var part = parseInt(data.substring(4, 6), 16); var nr1 = data.substring(0, 2); var nr2 = data.substring(2, 4); var snr1 = { type: "serialnumber_part1", unit: "", value: (sst && part == 0) ? nr1 : null }; var snr2 = { type: "serialnumber_part2", unit: "", value: (sst && part == 1) ? nr2 + "" + nr1 : null }; var T1 = 8; var Unit = ""; var devisor = 1; var value = 0; if (data.substring(6, 8) != "8f") { T1 = eepHelper_1.default.extractBitValue(0, 4, 4, data); Unit = eepHelper_1.default.extractBitEnum(0, 2, 1, data, ["kWh", "W"]); devisor = eepHelper_1.default.extractBitEnum(0, 0, 2, data, [1, 10, 100, 1000]); value = parseInt(data.substring(0, 6), 16) / devisor; } const d1 = { type: "total_tarif_0", unit: "kWh", value: (T1 == 0 && Unit == "kWh") ? value : null }; const d2 = { type: "current_tarif_0", unit: "W", value: (T1 == 0 && Unit == "W") ? value : null }; const d3 = { type: "total_tarif_1", unit: "kWh", value: (T1 == 1 && Unit == "kWh") ? value : null }; const d4 = { type: "current_tarif_1", unit: "W", value: (T1 == 1 && Unit == "W") ? value : null }; return [d1, d2, d3, d4, snr1, snr2]; } return null; } //# sourceMappingURL=eep-a5-12-01.js.map