2 Commits

Author SHA1 Message Date
337497171a stringify 2026-07-03 12:03:39 +05:00
Первов Артем
64dde77f7b добавлена поддержка dev окружения 2026-07-02 22:39:59 +03:00
4 changed files with 21 additions and 5 deletions

View File

@@ -1,9 +1,9 @@
import { postCloudIngest } from '../cloud-ingest.js'
import { log } from '../helpers/log.js'
import type { TopicHandler } from '../types.js'
const EDGE = 'demo'
const REGISTER_COUNT = 125
const DEMO_CLOUD_INGEST_URL = process.env.DEMO_CLOUD_INGEST_URL as string
type DemoModbusMetric = {
edge: string
@@ -35,7 +35,14 @@ function toMetrics(values: number[], timestamp: string): DemoModbusMetric[] {
async function postMetrics(metrics: DemoModbusMetric[]): Promise<void> {
for (const metric of metrics) {
const response = await postCloudIngest(metric)
const response = await fetch(DEMO_CLOUD_INGEST_URL, {
method: 'POST',
headers: {
'content-type': 'application/json',
'x-api-key': process.env.CLOUD_INGEST_API_KEY as string,
},
body: JSON.stringify(metric),
})
if (!response.ok) {
const text = await response.text()

View File

@@ -1,9 +1,9 @@
import { postCloudIngest } from '../cloud-ingest.js'
import { log } from '../helpers/log.js'
import { parseJson } from '../helpers/parse.js'
import type { TopicHandler } from '../types.js'
const EDGE = 'demo'
const DEMO_CLOUD_INGEST_URL = process.env.DEMO_CLOUD_INGEST_URL as string
type DemoPlcPayload = {
tag: string
@@ -27,7 +27,14 @@ function toMetric(payload: DemoPlcPayload, timestamp: string): DemoPlcMetric {
}
async function postMetric(metric: DemoPlcMetric): Promise<void> {
const response = await postCloudIngest(metric)
const response = await fetch(DEMO_CLOUD_INGEST_URL, {
method: 'POST',
headers: {
'content-type': 'application/json',
'x-api-key': process.env.CLOUD_INGEST_API_KEY as string,
},
body: JSON.stringify(metric),
})
if (!response.ok) {
const text = await response.text()

View File

@@ -10,7 +10,7 @@ type Edge5iiModbusMetric = {
timestamp: string
tag: string
value: number
}
};
function toFloatCDAB(reg0: number, reg1: number): number {
const buf = Buffer.allocUnsafe(4)
@@ -64,5 +64,6 @@ export const handle: TopicHandler = async (topic, payload) => {
const values = parseValues(payload)
const metrics = toMetrics(values, new Date().toISOString())
log(`${EDGE}.modbus.prepared ${JSON.stringify(metrics)}`)
await postMetrics(metrics)
}

View File

@@ -21,6 +21,7 @@ services:
WS_PORT: "9090"
CLOUD_INGEST_URL: ${CLOUD_INGEST_URL:-https://demo.backend.drill.greact.ru/ingest}
CLOUD_INGEST_API_KEY: ${CLOUD_INGEST_API_KEY:-}
DEMO_CLOUD_INGEST_URL: ${DEMO_CLOUD_INGEST_URL:-}
EDGE5_MODBUS_V2_MAPPING_FILE: ${EDGE5_MODBUS_V2_MAPPING_FILE:-/app/src/mappings/edge5-modbus.json}
volumes: