UNPKG

@iot9x.com/ipc-utils

Version:

九星云、九星小程序、九星配置工具所共用的库方法

40 lines (39 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WaterResolve = void 0; const constant_1 = require("../constant"); const util_1 = require("../util"); class WaterResolve { /** * 解析读计量数据返回数据域内容 * @param payload 数据域内容 * @param address 表地址 * @returns 计量数据 */ static readMeteringData(payload, address) { const ser = payload[0]; // * 序列号 const currentCumulativeTraffic = util_1.Util.bcdDecode(util_1.Util.uint8ArrayToHexStr(payload.slice(1, 5)), constant_1.CJT188DataFormat.CurrentCumulativeTraffic); const currentCumulativeTrafficUnit = payload[5]; const currentCumulativeTrafficUnitDisplay = constant_1.CJT188UnitDisplay[currentCumulativeTrafficUnit] || ''; const settlementCumulativeTraffic = util_1.Util.bcdDecode(util_1.Util.uint8ArrayToHexStr(payload.slice(6, 10)), constant_1.CJT188DataFormat.SettlementCumulativeTraffic); const settlementCumulativeTrafficUnit = payload[10]; const settlementCumulativeTrafficUnitDisplay = constant_1.CJT188UnitDisplay[settlementCumulativeTrafficUnit] || ''; const realTime = util_1.Util.bcdDecode(util_1.Util.uint8ArrayToHexStr(payload.slice(11, 18)), constant_1.CJT188DataFormat.RealTime); const status = util_1.Util.resolveStatus(payload[18]); const statusValue = util_1.Util.uint8ArrayToHexStr(payload.slice(18, 20), { upperCase: true }); return { address, ser, currentCumulativeTraffic, currentCumulativeTrafficUnit, currentCumulativeTrafficUnitDisplay, settlementCumulativeTraffic, settlementCumulativeTrafficUnit, settlementCumulativeTrafficUnitDisplay, realTime, status, statusValue, }; } } exports.WaterResolve = WaterResolve;