Skip to content

Device connectivity ​

Autoconnecto accepts telemetry through native device transports and tenant integration webhooks. Every path normalizes into the same ingest chain (rule engine → persist / realtime / profile Alarm Rules), then dashboards and retention.

In the web app ​

TaskWhere
Copy token, HTTP/MQTT/WS examplesDevices → device → Check connectivity
LoRa DevEUISame modal → LoRa / webhook tab (or optional field on Create device)
Webhook URLs + secretIntegrations (LoRaWAN / ChirpStack / TTN / Generic HTTP)

On create device, integration.external_id is set automatically to the device ID (for generic webhooks). LoRa networks still need DevEUI because they send hardware id, not your access token.

Native device transports ​

HTTP ​

http
POST https://api.autoconnecto.in/api/v1/{deviceToken}/telemetry
Content-Type: application/json

{"temperature": 24.5, "humidity": 61}
  • Batch: POST .../telemetry/batch with { "items": [ { "telemetry": {...}, "ts": optional } ] } (max 100 items). A successful item is success: true. accepted counts items the platform queued. Send JSON. CBOR is not accepted on HTTP or MQTT. The connectivity catalog lists application/json only.

SDK: TelemetryBatch_http in autoconnecto-sdk.

MQTT ​

Topics (token in path):

  • devices/{deviceToken}/telemetry
  • v1/devices/{deviceToken}/telemetry

MQTT username = device access token. A rotated token is refused at connect. Send JSON. MQTTS is port 8883. MQTT-over-WSS is port 8084, path /mqtt, on mqtt.autoconnecto.in. A top-level numeric ts is the reading time and is not stored as a key.

SDK: BasicTelemetry_mqtt, SwitchControl_mqtt, etc.

WebSocket (device protocol) ​

Not the dashboard Socket.IO client. Connect to the device WebSocket port shown in Check connectivity, then:

  1. {"type":"auth","deviceToken":"..."}
  2. {"type":"telemetry","data":{"temperature":24.5}}

Gateway devices ​

  1. Create a device with Mark as Gateway Device.
  2. Create child devices with Parent gateway set.
  3. Publish with the gateway token and body:
json
{
  "childDeviceId": "child-device-uuid",
  "telemetry": { "temperature": 24.5 }
}

SDK: GatewayRelay_http. See backend GATEWAY_DEVICES.md for rules (one parent level, child must exist).

Integration webhooks ​

Auth: X-Webhook-Secret or Authorization: Bearer {secret}.

Generate per-tenant secret in Tenant Settings. Optional global env INTEGRATION_WEBHOOK_SECRET for ops.

AdapterEndpoint
GenericPOST /api/v1/integrations/generic/telemetry?tenantId={uuid}
ChirpStackPOST /api/v1/integrations/chirpstack/telemetry?tenantId={uuid}
TTN v3POST /api/v1/integrations/ttn/telemetry?tenantId={uuid}
Named (Integration Hub)POST /api/v1/integrations/i/{integrationId}/telemetry?tenantId={uuid}

Integration Hub ​

Use Integrations in the app sidebar to create named connectors. Each integration:

  1. Uses a typed adapter (generic / ChirpStack / TTN) to decode the vendor payload
  2. Applies a unified mapping (same step catalog as Data Pipelines)
  3. Resolves the device and enters the normal telemetry ingest chain

Mark one integration as default per type so legacy type URLs above pick up that mapping automatically.

Generic webhook ​

Identify the device with token or device id:

json
{
  "deviceToken": "access-token",
  "temperature": 22.5,
  "humidity": 60
}
json
{
  "externalDeviceId": "device-uuid",
  "telemetry": { "temperature": 22.5 }
}

Reserved top-level keys (not counted as telemetry): deviceToken, externalDeviceId, tenantId, childDeviceId, ts, timestamp.

Gateway relay on generic webhook: include childDeviceId with the gateway token or mapped gateway id.

LoRaWAN ​

Map DevEUI on the Autoconnecto device (integration.lorawan.dev_eui). ChirpStack and TTN adapters read their native uplink JSON (deviceInfo.devEui, end_device_ids.dev_eui).

Script samples: SDK examples/integrations/.

Catalog ​

http
GET /api/v1/connectivity/catalog

Returns transport metadata and endpoint templates.

SDK & examples ​

Operations ​

  • Run migration 0013_tenant_integration_secrets.sql before using tenant webhook secrets.
  • Set PUBLIC_API_BASE_URL on the API host so generated webhook URLs match your environment.

support@autoconnecto.in · founder@autoconnecto.in · +91 92121 00555 · app.autoconnecto.in