diff --git a/app/src/handlers/edge5-modbus.ts b/app/src/handlers/demo-modbus.ts similarity index 78% rename from app/src/handlers/edge5-modbus.ts rename to app/src/handlers/demo-modbus.ts index 99e3d84..682e6a9 100644 --- a/app/src/handlers/edge5-modbus.ts +++ b/app/src/handlers/demo-modbus.ts @@ -1,12 +1,10 @@ import { postCloudIngest } from '../cloud-ingest.js' import type { TopicHandler } from '../types.js' -export const TOPIC = 'data/edge5/modbus/v1' - -const EDGE = 'edge5' +const EDGE = 'demo' const REGISTER_COUNT = 125 -type Edge5ModbusMetric = { +type DemoModbusMetric = { edge: string timestamp: string tag: string @@ -25,7 +23,7 @@ function assertRegisterCount(values: number[]): void { } } -function toMetrics(values: number[], timestamp: string): Edge5ModbusMetric[] { +function toMetrics(values: number[], timestamp: string): DemoModbusMetric[] { return values.map((value, index) => ({ edge: EDGE, timestamp, @@ -34,7 +32,7 @@ function toMetrics(values: number[], timestamp: string): Edge5ModbusMetric[] { })) } -async function postMetrics(metrics: Edge5ModbusMetric[]): Promise { +async function postMetrics(metrics: DemoModbusMetric[]): Promise { for (const metric of metrics) { const response = await postCloudIngest(metric) @@ -47,7 +45,7 @@ async function postMetrics(metrics: Edge5ModbusMetric[]): Promise { console.log('edge5.modbus.posted', { count: metrics.length }) } -export const handleEdge5Modbus: TopicHandler = async (topic, payload) => { +export const handleDemoModbus: TopicHandler = async (topic, payload) => { console.log('edge5.modbus.received', { topic, bytes: payload.length }) const values = parseValues(payload) diff --git a/app/src/handlers/demo-plc.ts b/app/src/handlers/demo-plc.ts index 24bafff..cc6e7c8 100644 --- a/app/src/handlers/demo-plc.ts +++ b/app/src/handlers/demo-plc.ts @@ -2,8 +2,6 @@ import { postCloudIngest } from '../cloud-ingest.js' import { parseJson } from '../helpers/parse.js' import type { TopicHandler } from '../types.js' -export const TOPIC = 'data/demo/plc/v1' - const EDGE = 'demo' type DemoPlcPayload = { diff --git a/app/src/handlers/edge5-modbus-v2.ts b/app/src/handlers/edge5-modbus-v2.ts index 9c40af3..ac4cb94 100644 --- a/app/src/handlers/edge5-modbus-v2.ts +++ b/app/src/handlers/edge5-modbus-v2.ts @@ -2,9 +2,8 @@ import { postCloudIngest } from '../cloud-ingest.js' import { createMetricMapper, type MappedMetric } from '../mapping.js' import type { TopicHandler } from '../types.js' -export const TOPIC = 'data/edge5/modbus/v2' - const REGISTER_COUNT = 125 + const mapper = createMetricMapper({ filePath: process.env.EDGE5_MODBUS_V2_MAPPING_FILE as string, }) diff --git a/app/src/handlers/edge5-video.ts b/app/src/handlers/edge5-video.ts index 36bdfca..d68042d 100644 --- a/app/src/handlers/edge5-video.ts +++ b/app/src/handlers/edge5-video.ts @@ -1,8 +1,6 @@ import { onEdgeChunk } from '../stream/edge-chunk-relay.js' import type { TopicHandler } from '../types.js' -export const TOPIC = 'data/edge5/video/v1' - const BEACON_MS = 3000 let lastBeacon = 0 diff --git a/app/src/handlers/index.ts b/app/src/handlers/index.ts index c5f58c9..1b943d3 100644 --- a/app/src/handlers/index.ts +++ b/app/src/handlers/index.ts @@ -1,13 +1,16 @@ import { register } from '../registry.js' -import { handleDemoPlc, TOPIC as demoPlc } from './demo-plc.js' -import { handleEdge5Modbus, TOPIC as edge5Modbus } from './edge5-modbus.js' -import { - handleEdge5ModbusV2, - TOPIC as edge5ModbusV2, -} from './edge5-modbus-v2.js' -import { handleEdge5Video, TOPIC as edge5Video } from './edge5-video.js' -register(demoPlc, handleDemoPlc) -register(edge5Modbus, handleEdge5Modbus) -register(edge5ModbusV2, handleEdge5ModbusV2) -register(edge5Video, handleEdge5Video) +import { handleDemoPlc } from './demo-plc.js' +import { handleDemoModbus } from './demo-modbus.js' +import { handleEdge5ModbusV2 } from './edge5-modbus-v2.js' +import { handleEdge5Video } from './edge5-video.js' + +const DEMO_PLC_TOPIC = 'data/demo/plc/v1' +const DEMO_MODBUS_TOPIC = 'data/demo/modbus/v1' +const EDGE5_MODBUS_TOPIC = 'data/edge5/modbus/v2' +const EDGE5_VIDEO_TOPIC = 'data/edge5/video/v1' + +register(DEMO_PLC_TOPIC, handleDemoPlc) +register(DEMO_MODBUS_TOPIC, handleDemoModbus) +register(EDGE5_MODBUS_TOPIC, handleEdge5ModbusV2) +register(EDGE5_VIDEO_TOPIC, handleEdge5Video)