Compare commits
2 Commits
d7bfaa678e
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 337497171a | |||
|
|
64dde77f7b |
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user