From fe9e7b5438af50988f2b3b5a4a40316bf6cdeccb Mon Sep 17 00:00:00 2001 From: Nikita Biziaev Date: Mon, 6 Jul 2026 11:04:30 +0500 Subject: [PATCH] draft commit to make null is possible to send --- app/src/handlers/edge5-modbus-v3.ts | 15 +++------------ app/src/handlers/edge5cdab-modbus.ts | 13 +++---------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/app/src/handlers/edge5-modbus-v3.ts b/app/src/handlers/edge5-modbus-v3.ts index 42eee96..dd9567a 100644 --- a/app/src/handlers/edge5-modbus-v3.ts +++ b/app/src/handlers/edge5-modbus-v3.ts @@ -36,10 +36,10 @@ type Edge5ModbusV3Metric = { edge: string timestamp: string tag: string - value: number + value: number | null } -function toFloatCDAB(reg0: number, reg1: number): number { +function toFloatCDAB(reg0: number, reg1: number): number | null { const buf = Buffer.allocUnsafe(4) buf.writeUInt16BE(reg1, 0) buf.writeUInt16BE(reg0, 2) @@ -63,16 +63,7 @@ function toMetrics(values: number[], timestamp: string): Edge5ModbusV3Metric[] { for (let i = 0; i < values.length; i += 2) { const tag = TAGS[i / 2] - const value = toFloatCDAB(values[i], values[i + 1]) - if (isNaN(value)) { - if (CLOUD_INGEST_TAGS.has(tag)) { - log( - `edge5.modbus.v3: не удалось собрать число для ${tag}, ` + - `исходные values[${i}]=${values[i]}, values[${i + 1}]=${values[i + 1]}, пропуск`, - ) - } - continue - } + const value = toFloatCDAB(values[i], values[i + 1]); // null is possible to send metrics.push({ edge: EDGE, diff --git a/app/src/handlers/edge5cdab-modbus.ts b/app/src/handlers/edge5cdab-modbus.ts index f92dd97..2578058 100644 --- a/app/src/handlers/edge5cdab-modbus.ts +++ b/app/src/handlers/edge5cdab-modbus.ts @@ -9,10 +9,10 @@ type Edge5iiModbusMetric = { edge: string timestamp: string tag: string - value: number + value: number | null }; -function toFloatCDAB(reg0: number, reg1: number): number { +function toFloatCDAB(reg0: number, reg1: number): number | null { const buf = Buffer.allocUnsafe(4) buf.writeUInt16BE(reg1, 0) buf.writeUInt16BE(reg0, 2) @@ -36,14 +36,7 @@ function toMetrics(values: number[], timestamp: string): Edge5iiModbusMetric[] { for (let i = 0; i < values.length; i += 2) { const tag = `register-${String(i).padStart(3, '0')}` - const value = toFloatCDAB(values[i], values[i + 1]) - if (isNaN(value)) { - log( - `${EDGE}.modbus: не удалось собрать число для ${tag}, ` + - `исходные values[${i}]=${values[i]}, values[${i + 1}]=${values[i + 1]}, пропуск`, - ) - continue - }; + const value = toFloatCDAB(values[i], values[i + 1]); // null is possible to send metrics.push({ edge: EDGE,