Troubleshooting

Event Hub / API

Missing request body MIME type

Problem:

The QRTLS only accepts JSON formatted API request bodies. If a request is made without, or not using, JSON MIME types, the calls will be rejected.

Solution:

  1. Ensure that your API request specifies JSON MIME type

  2. Ensure that the data contains properly formatted JSON data string

Not receiving any event messages

Problem:

When an Event Hub connection is established without an Endpoint ID from the API connection call, or with a bad message filter, you will not receive any event messages from the Event Hub.

Solution:

  1. Obtain a valid OAuth2 token, or API key from QRTLS

    • Refer to the Authentication section
    • OAuth2 token has a validity of 30 minutes
    • Request for API key requires a prior OAuth2 token, but the key will not expire
  2. Initiate/update SignalR connection with the proper filters

  3. Ensure that you have started and is subscribed to the Event Hub events

function connectToEventHub(endpoint, id)
{
    var connection = new signalR.HubConnectionBuilder()
    .withUrl(eventHubUri, // Refer to the '1.1 Event Hub URI' section of this guide
    {
        accessTokenFactory: () => {
            return endpointId; // Returned from the API call in Step 2
        }
    })
    .build();
    
    // The event subscription, note that the string 'Event' is case sensitive
    connection.on("Event", function (message) {
        console.log(message);
    });

    // Start the connection
    connection.start().then(function () {
        console.log("Connected to Event Hub!");
    }).catch(function (err) {
        return console.error(err.toString());
    });
}

Wrong Event Hub connection message filter

Problem:

If the Event Hub connection filtered used does not include positional data, you will not receive any positional event messages.

Solution:

  1. Initiate or update the connection with the proper message filter
    • For defining a proper message filter, refer to the Filters schema section
    • For the filter templates, both the dashboard, and position_events filter will contain positional event messages
    • When defining the filter, either use the FilterTemplate options, or alternatively use the custom filter options. When a template is selected, the custom filter options will be ignored. Simply leave the FilterTemplate field empty, or set it to none to enable the custom filter options.

Hardware

Poor spatial calibration

Problem:

If the QRTLS has not been calibrated, or has a poor spatial calibration, the system will not be able to calculate valid positional data.

Solution:

  1. Follow Manual Setup guide that is physically included in all starter kits

Gateway not connected to the ECD

Problem:

The ZeroKey Gateway device is the key component in relaying data from the Anchor and Mobiles in the network. If it is not physically connected to the ECD, QRTLS will not have any data to generate the positional messages.

Solution:

  1. Find the USB to Micro B cable packaged with the kit

  2. Plug the Micro B end of the cable into the Gateway device

  3. Plug the USB end of the cable into the ECD

  4. Ensure that the built-in LED on the Gateway device lights up

Devices not powered on

Problem:

If either the Mobile or the Anchor devices are not turned on, there will not be sufficient data for the QRTLS to generate the positional messages.

Solution:

  1. Check the built-in LED on all Mobile and Anchor devices are lighting up
    • Press the button to turn the device back on if the lights are off
    • Charge the device if pressing the button does not affect the lights