Skip to content

Gateway Connectivity Report

This recipe builds a connectivity health report across all gateways on your account. It combines the hwi-gateways endpoint for a paginated list with the gateway-info endpoint to pull signal strength, last check-in, firmware version, and whitelisted devices per Gateway. Use this for proactive monitoring, identifying Gateways that have gone silent, or validating a deployment before go-live.

The process for getting a Gateway connectivity report involves:

  1. Page through GET /hwi-gateways/ to collect all Gateway UUIDs on your account.
  2. For each Gateway, call GET /gateway-info/{gateway_uuid}/ to retrieve detailed connectivity data.

The result is a ranked list of Gateways grouped by signal health.

Step 1 – Fetch All Gateways

Page through hwi-gateways to collect every Gateway UUID associated with your account. Set page_size to a value that works for your account size.

GET /clients/{CLIENT_DOMAIN}/hwi/hwi-gateways/?ordering=-last_measurement&page_size=100

The result from this endpoint will be pagninated, with next and previous links in the root of the JSON schema.

{
"count": 0,
"next": "http://example.com",
"previous": "http://example.com",
"results": [
{
"gateway_uuid": "aabbcc001122",
"last_signal_strength": 28,
"last_measurement": "2025-10-14T09:22:00.000000Z",
"shipped_on": "2025-09-01T00:00:00.000000Z",
"assigned_on": "2025-08-15T00:00:00.000000Z"
}
]
}

Useful Query Parameters

ParameterDescription
orderingSort by assigned_on, shipped_on, or last_measurement. Prefix with - for descending.
last_measurement__isnull=trueFilter to Gateways that have never sent a measurement.
shipped_on__isnull=falseFilter to Gateways that have been dropshipped.

Step 2 – Get Detailed Gateway Info

For each gateway_uuid, call the gateway-info endpoint. The UUID must be passed with no hyphens.

GET /clients/{CLIENT_DOMAIN}/hwi/gateway-info/{gateway_uuid}/

Example response:

{
"gateway_uuid": "aabbcc001122",
"firmware_version": "2.170.38",
"bootloader_version": "1.0.4",
"provisioned": true,
"last_signal_strength": 28,
"last_checkin_time": "2025-10-14T09:22:00.000000Z",
"assigned_on": "2025-08-15T00:00:00.000000Z",
"shipped_on": "2025-09-01T00:00:00.000000Z",
"whitelisted_devices": [
{
"sensor_code": "10",
"mac_address": "1a2b3c4d5e6f",
"whitelist_status": "CO",
"created": "2025-09-05T00:00:00.000000Z",
"modified": "2025-09-05T00:00:00.000000Z"
}
],
"properties": []
}

Key Gateway Fields

FieldNotes
last_signal_strengthInteger between 0 and 30.
last_checkin_timeLast time the Gateway connected to the Tenovi network. Null if never connected.
provisionedBoolean. If false, the Gateway has not completed provisioning.
whitelisted_devicesDevices locked to this Gateway. whitelist_status is RE (Requested) or CO (Confirmed).

Step 3 – Build the Report

With data from both endpoints, group gateways into buckets. A sample of what this could look like:

GroupCriteria
ExcellentSignal strength >= 20
ModerateSignal strength 9-19
PoorSignal strength <= 8
OfflineLast check-in time is null
InactiveLast check-in time is more than X days

You could also group and compare Gateway firmware versions. This is useful if you plan on introducing new Tenovi devices that weren’t available for order when the patient first received their kit and Gateway.

Common Issues

Gateway not found (404) The Gatewaay is not yet associated with your account. It must be linked via a device activation or bulk order before gateway-info will return data.

last_checkin_time is null The Gateway was assigned or shipped but has never connected. Check that the patient has plugged it in and that it reached a cellular signal.

provisioned: false The Gateway has not completed provisioning. Contact Tenovi support if this persists after the Gateway has been powered on and connected.

Signal strength is 0 A value of 0 typically means the Gateway has not connected recently enough to report a current signal. Treat it the same as a poor signal.