Skip to main content

Blues Notehub

Connect cellular Notecard devices that sync through your Blues Notehub project. Pulse receives telemetry over a partner-owned HTTP route (read path only in v1: no downlinks or Notehub writeback).

note

Where to find it: Sidebar → Account settingsIntegrationsBlues Notehub.

Blues Notehub is plan-gated (devices.notehub.enabled). If you do not see the sub-tab, contact ioX-Connect to enable it for your partner.

How it fits

LayerSource of truth
Device existence, firmware, sync, what Notehub forwardsYour Blues Notehub project
Tenancy, profiles, decoding, dashboards, workflows, alertsioX-Pulse

Pulse never creates or edits routes in your Blues account. You paste a webhook URL and Bearer secret that Pulse generates.

Step 1: Create a connection in Pulse

  1. Open Account settings → Integrations → Blues Notehub.
  2. Click New connection.
  3. Enter a name (for example Production Notecards).
  4. Optionally set Product UID and an API token (enables registration-time device validation against Notehub; not required for ingest).
  5. Click Create.
  6. Copy the webhook URL and Bearer secret immediately. The secret is shown once.
caution

The webhook URL should start with your Pulse portal's public web address. If it shows an internal-looking host instead, contact ioX-Connect support before pointing Notehub at it.

Step 2: Create the Notehub route

In your Blues Notehub project:

  1. Create a General HTTP/HTTPS route (suggested name: ioX-Pulse).
  2. Paste the Pulse webhook URL.
  3. Set authorization to Bearer, using a Notehub project Secret ([$$...] syntax), never plaintext.
  4. Select the notefiles you want Pulse to receive.
  5. Leave transform / JSONata empty. Pulse validates a fixed envelope (device, event, file, when, body). A transform that reshapes the payload will fail with a 400 you can see in Notehub's route log.
  6. Enable automatic reroute on failure. Without it, a single timeout or 5xx means that event is never redelivered.
  7. Prefer excluding _session.qo and _health.qo unless you specifically need them for liveness. Tracker notefiles such as _motion.qo and _track.qo are normal data notefiles.

When the first event arrives, the connection card moves from Awaiting first event to Receiving.

Step 3: Create a Notehub device profile

  1. Open Administration → Device Profiles.
  2. Click Create profileBlank.
  3. Set Transport to Blues Notehub.
  4. Name the profile and create it.

Add fields whose identifiers match the keys in your Notehub JSON body when possible. For flat bodies (for example motion, movements, voltage), Pulse can identity-map at ingest with no decoder. Author a decoder only when you need remaps or multi-notefile branching. See Device profiles → Decoders.

Step 4: Register or adopt devices

Register from Inventory

  1. Open Administration → Inventory → Register device.
  2. Choose Connectivity: Blues Notehub.
  3. Enter the 15-digit IMEI (Luhn-checked), name, Notehub profile, and expected sync interval (minutes).
  4. Use the Notecard SYNC interval, not the sample interval. Pulse sets offline detection from max(2 × sync, 120) minutes.

Adopt a discovered device

Unknown DeviceUIDs that hit your webhook appear under the connection's Discovered devices list (expand the connection row).

  1. Click Adopt.
  2. Choose a Notehub profile and sync interval.
  3. Register.

Adopt can validate the IMEI against Notehub when the connection has both a Product UID and API token.

Location and offline behavior

  • Location updates from Notehub best_lat / best_lon (and related type) when present on the event.
  • Offline detection uses the sync interval you set at register time. If devices look offline while still sampling locally, raise the expected sync minutes to match the Notecard SYNC setting.

New device types later

A new sensor type (pressure, etc.) is a new Blues Notehub profile in Pulse: fields, optional decoder, dashboard, workflows. Register devices under it. No platform code change.

caution

If your Notehub route uses Selected Notefiles mode, add each new notefile to the include list. Otherwise that data never leaves Notehub and Pulse will not see it.

Decoder test samples

On a Notehub profile's Decoder tab, Recent uplinks loads real raw bodies from devices on that profile. Pick one to populate the test panel, or paste hex from Notehub Route as cURL. Use Insert JSON identity template when you need a starting script that JSON.parses the UTF-8 body.

Synthetic fPorts: data.qo → 1, _motion.qo → 2, _track.qo → 3; other files use a stable hash bucket (100–223).

Pausing a connection

Each connection row on the Integrations tab has a switch that pauses or resumes the connection without deleting it. While paused, ioX-Pulse still accepts your Notehub route's requests (so the route stays healthy on the Blues side and reroute on failure is not triggered) but discards the events: nothing is stored, and nothing is queued for replay. The events remain in your Notehub event log.

Two things to keep in mind while a connection is paused:

  • Devices on the connection go silent in ioX-Pulse, so offline detection and any offline workflows can fire.
  • Discarded events are not backfilled when you resume; data flows again from the next event.

Troubleshooting

SymptomLikely cause
Connection stays on awaiting first eventRoute URL/secret wrong, transform present, or notefile not selected
400 in Notehub route log about envelope fieldsJSONata/transform reshaped the payload; remove it
403 product mismatchConnection Product UID does not match the event's product
Device offline while Notecard is samplingExpected sync interval too low vs SYNC setting
New notefile never appearsRoute include-list missing the new file
  • Device profiles - fields, identity map vs decoder, testing
  • Devices - inventory and assignment
  • Webhooks - Pulse outbound webhooks (unrelated to the Notehub ingest route)