Appearance
Integration Hub (Developer)
Migrations: 0026_integrations.sql, 0027_integration_settings.sql, 0028_integration_mqtt_type.sql.
API (JWT)
GET/POST/PATCH/DELETE /api/integrationsPOST /api/integrations/preview(mapping + optional script)POST /api/integrations/:id/set-default|start|pauseGET /api/integrations/:id/eventsPOST /api/integrations/:id/downlink— ChirpStack / TTN
Ingest
- HTTP named / legacy type URLs (
X-Webhook-Secret) - MQTT:
IntegrationMqttBridgeServiceconnects when status=active
Settings (settings_json)
autoCreateDevicemqtt—brokerUrl,topicFilter,topicDeviceRegex, credentialsscriptTransform—{ enabled, source }sandboxed JSdownlink— ChirpStack / TTN API credentials
Rule Engine
- Node
integration_downlink→IntegrationDownlinkService.sendDownlink - Wired from
RuleEngineExecutorServicewhen ConnectivityModule is loaded
Runtime order
- Adapter normalize
- Pipeline mapping steps
- Optional script transform
- Device resolve (+ auto-create)
- Telemetry ingest → Rule Engine
Kill switch: INTEGRATIONS_MAPPING_ENABLED=false.
