feat(bacnet-collector): add initial implementation of BACnet collector with scanning and reading capabilities

- Created package.json for the bacnet-collector project with necessary dependencies.
- Implemented main server logic in src/index.js to handle BACnet device scanning and reading.
- Added raw discovery functionality in src/raw-discover.js to facilitate device detection over the network.
- Introduced utility functions for handling IP addresses, broadcasting, and BACnet packet construction.
- Implemented JSON response handling for health checks and capabilities endpoints.
This commit is contained in:
jhartworks
2026-07-09 11:13:26 +02:00
parent 7a1fe401f2
commit f247d2827d
10 changed files with 1833 additions and 77233 deletions
+21 -1
View File
@@ -1,4 +1,4 @@
services:
services:
mariadb:
image: mariadb:11.4
container_name: seltd-mariadb
@@ -89,6 +89,7 @@ services:
DB_USER: root
DB_PASSWORD: ${MARIADB_ROOT_PASSWORD:-SE3112}
POLL_TICK_MS: ${POLL_TICK_MS:-1000}
BACNET_COLLECTOR_URL: ${BACNET_COLLECTOR_URL:-http://bacnet-collector:18111}
ports:
- "18110:18110"
volumes:
@@ -96,6 +97,23 @@ services:
depends_on:
mariadb:
condition: service_healthy
bacnet-collector:
condition: service_started
bacnet-collector:
build:
context: ./bacnet-collector
container_name: seltd-bacnet-collector
restart: unless-stopped
environment:
PORT: 18111
BACNET_SCAN_TIMEOUT: ${BACNET_SCAN_TIMEOUT:-7000}
BACNET_POINT_LIMIT: ${BACNET_POINT_LIMIT:-2000}
BACNET_BROADCAST_FALLBACKS: ${BACNET_BROADCAST_FALLBACKS:-}
network_mode: "host"
ports:
- "18111:18111"
- "47808:47808/udp"
dockhand:
image: fnsys/dockhand:latest
@@ -131,3 +149,5 @@ volumes:
collector_data:
dockhand_data: