Troubleshooting
Jump to your symptom:
- Device appears offline in PRIZM Cloud
- Device shows “App Crashed”
- Build fails
- Update fails
- Data is not appearing in Device Events
- Why a device’s location doesn’t show
- Stuck on “Please refresh page”
- Where can I find the Company Key?
- Dashboard widget shows a missing bundle or device warning
- Ship button is disabled in the Blueprint Editor
- “Blueprint is incomplete” toast when shipping
Device appears offline in Cloud Console
If your device is shown as Offline, do not start by rebooting immediately. First collect two quick signals:
- Current LED state on the device (color + blinking/solid pattern).
- Last signal quality before it went offline from system device fields (
$SYS/device/quality/$SYS/device/quality_number).
This gives you enough context to identify whether the issue is power, connectivity, or infrastructure.
- If every device went offline at the same time, check Settings → Billing first. When a company reaches its Max Credits, connected devices disconnect and stop reporting. There is no LED symptom and no signal-quality symptom, so the checks below will not find it. See Devices.
Check the device LED now
Use the LED to understand what the device is doing right now:
- LED Off: likely power issue (or device not booted).
- Blinking Green: attempting to connect to the network and cloud but currently unable to establish a connection.
- Blinking Blue: application running, but not connected to the network.
- Solid Green / Solid Blue: device is connected now; offline state in cloud may be stale or intermittent.
- Blinking Yellow: update in progress; wait until update finishes.
For full LED definitions, see LED status indicators.
Check last known signal quality before offline
In PRIZM Cloud, open Device page → Device Action → See logs. At the top of the logs view, review the latest signal quality around the offline timestamp, then inspect:
$SYS/device/statusand$SYS/device/status_number$SYS/device/qualityand$SYS/device/quality_number
Interpretation:
- Status = Updating (2) or Updating Firmware (3) right before offline may indicate a disconnect during update activity.
- Status = Running (4) before offline confirms application activity was healthy before connectivity dropped.
- Quality = Poor (1) before offline usually means RF/network coverage instability.
- Quality = Medium (2) suggests intermittent network conditions.
- Quality = Good (3) before offline can still drop to offline during heavy data bursts. Quality reflects end-to-end delivery health (device link + server processing time), not only raw cellular/Wi-Fi signal strength.
For field details, see System Device Fields.
If this happened right after deploying a Blueprint
A device going briefly Offline while a Blueprint is being deployed is expected — it reconnects on its own once the application finishes applying. While this is happening, a small icon appears next to the device.
If quality shows Poor, use this quick recovery checklist
- Check placement and signal path
- Reposition the device or antenna away from metal enclosures and electrical noise sources.
- If on cellular, move to a location with better coverage if possible.
- Reduce data load temporarily
- Lower publish frequency.
- Batch or reduce payload size.
- Avoid sending large bursts until connection stabilizes.
- Validate network path
- Confirm router/AP uplink stability and internet reachability.
- Check firewall/DNS changes that may block cloud traffic.
- Watch logs for trend
- Keep the logs open and confirm quality improves from Poor to Medium/Good before returning to normal traffic volume.
Use this quick diagnosis
| LED now | Last quality before offline | Most likely cause | What to do next |
|---|---|---|---|
| LED Off | Any | Power loss / hardware power path issue | Verify power source, cable, connector, and supply stability. |
| Blinking Green/Blue | Poor or Medium | Weak/unstable network signal | Improve coverage, reposition antenna/device, verify AP/cellular quality. |
| Blinking Green/Blue | Good | High traffic load, network path issue, or backend processing delay | Reduce send rate/payload size, then check gateway/router uplink, firewall rules, DNS, and internet reachability. |
| Solid Green/Blue | Any | Temporary disconnect already recovered | Confirm event timeline, monitor recurrence, and alert on repeated drops. |
| Blinking Yellow | Any | Firmware/app update in progress | Wait for completion; do not power off. |
Information to include before escalating
When opening a support ticket, include:
- Device ID
- Time window when offline happened (with timezone)
- LED state observed during incident
- Last
$SYS/device/quality/$SYS/device/quality_numberbefore disconnect - Whether the device recovered automatically or required intervention
Device shows “App Crashed”
PRIZM Cloud reports App Crashed when the device’s network/cloud connection is healthy (the device is Online), but the Blueprint application running on the device has terminated due to a runtime panic. The connection itself is fine — only the user-deployed Blueprint stopped running.
Check device logs for the crash message
Open Device page → Device Action → See logs and filter by ERROR. A crash is typically logged as:
Application crashed at <location> with message: <message>The <location> indicates where the panic occurred in the Blueprint runtime, and <message> describes the cause. Use this to identify the offending node or input.
Review the Blueprint for panic-prone inputs
If the crash repeats after restart, the Blueprint logic is likely producing values that trigger a runtime panic. Common causes:
- Invalid references — a node referencing data that does not exist (missing field, unbound input).
- Type mismatches — an input arriving with a type the node was not configured to handle.
Open the Blueprint editor and review the inputs and references for nodes that handle dynamic data.
Restart the Blueprint application
In PRIZM Cloud, open the Device page and click Action → Restart App. This relaunches the Blueprint without rebooting the device. If the crash was caused by a transient runtime condition, the application may recover after a restart.
Reboot the device if the application still won’t run
If Restart App does not recover the device, use Action → Reboot Device to perform a full device restart. This clears any leftover runtime state before the Blueprint runs again.
Roll back to a previous Blueprint version
If the crash started right after a recent deploy and the cause is not yet clear, redeploy the previous working version of the Blueprint. This restores the device to a known-good state while you investigate the new version.
Information to include before escalating
If you have tried all the troubleshooting steps above and the issue still persists, please submit a request through the Feedback form.
When submitting the request, include:
- Device ID
- Time the App Crashed state first appeared (with timezone)
- The Blueprint version currently deployed, and the previous version if it was just changed
- The full error line from device logs (
Application crashed at ...) - Whether Restart App, Reboot Device, or a rollback was attempted, and the result
Build fails
Shown in the deploy dialog right after you click Save & Deploy — the build never reaches a device, so this happens before any update is attempted.
Build failed. Please try again.
The blueprint failed to compile.
Review recently changed nodes on the canvas, then ship again.
You have recently made a build request. please wait a few minutes before trying again.
Your company already has a build in progress — only one runs at a time.
Wait a few minutes, then retry.
Update fails
Shown as a tooltip on the warning icon next to a device’s Online status, once the device reports back on its own. Unlike a build failure, this means a build did reach the device — it just didn’t apply cleanly.
The device failed to check for updates
The device couldn’t reach PRIZM Cloud to check for a new version — an unstable network connection around that time is a common cause, so check the device’s Connection Quality and signal around when the check ran.
Use Action → Check for Updates to retry.
The device failed to update
The device received an update but couldn’t apply it — this also covers a download that gets interrupted or corrupted partway through, including a corrupted AOT file. This can often trace back to an unstable connection dropping partway through, so check Connection Quality the same way as above.
Use Action → Check for Updates to retry. If it keeps failing, use Action → Reboot Device.
These two tooltip messages are self-reported by the device — PRIZM Cloud relays them as-is and has no further detail on what caused the failure. If the device instead shows “The device application has crashed,” that’s a separate case — see Device shows “App Crashed”.
Where can I find the Company Key?
If you need your Company Key (Company ID) for integrations or support, follow these steps in PRIZM Cloud. It sits beside the company API key — see Data & Integrations.
Click Settings
Navigate to the main menu and click on Settings.
Click Data & Integrations
Select the Data & Integrations tab from the top or side menu.
Copy Company ID
Locate the Company ID field and click to copy the key to your clipboard.
Data is not appearing in Device Events
If it seems like data is not arriving in Device Events, follow these steps to troubleshoot:
- If the data is reaching Device Events but a dashboard widget still shows nothing, the problem is the widget, not the device — see Why a widget shows no data.
Verify data transmission to the Cloud Node
- Check the blueprint to ensure that data is properly connected and actively being sent to the Cloud Node.
- Confirm that the app has been successfully deployed.
Check if the device is in a Running state
- Verify the current status of your device.
- If the device status is Running but data is still not coming through, click on Action and select either Restart App or Reboot Device.
Why a device’s location doesn’t show
If a device isn’t appearing on a Map widget, or its
$SYS/device/location/* fields look empty, check these in order.
Check whether Location Tracking is on for its bundle
Location Tracking is a per-bundle setting, and a device with no bundle can’t have it at all — see A registered device does nothing until it is in a bundle. Open the device’s bundle and confirm Location Tracking is turned on. See Location Tracking.
Check the device’s connection status
Resolving a location is a network operation, so a device that is Offline can’t resolve one no matter what interval is set. Bring the device back online first — see Device appears offline in Cloud Console.
Wait out the interval
Turning on Location Tracking doesn’t backfill a location — it resolves on the schedule you picked from that point on. On the longer presets, 3d and 7d, the first location can take days to appear. If you need to see one sooner, temporarily switch the bundle to a shorter interval.
Check the widget’s field selection
A Map widget only plots whichever Latitude/Longitude/Radius Field you
picked in its configuration. If your blueprint reports its own GPS fields, the widget may be pointed at
those instead of the system fields Location Tracking writes to —
$SYS/device/location/latitude, longitude, radius. Point the widget at whichever fields you
actually expect data on.
Check your credit limit
Location Tracking spends credits on every resolve, and stops like everything else once your company reaches Max Credits. If every device’s location stopped updating at once, check Settings → Billing before anything above.
Stuck on “Please refresh page”
If you are encountering a persistent “Please refresh page” error or are stuck in a refresh loop within PRIZM Cloud, it is usually related to stale browser data, session timeouts, or interfering extensions. Follow these steps to resolve it:
Force a hard refresh
A hard refresh bypasses your browser’s local cache and forces it to download the most recent version of the page.
- Windows / Linux: Press
Ctrl+F5orCtrl+⇧+R. - Mac: Press
⌘+⇧+R.
Clear your browser cache and cookies
If a hard refresh doesn’t resolve the issue, clear your browsing data according to your browser:
-
Google Chrome / Microsoft Edge
- Press
Ctrl+⇧+Del(Windows/Linux) or⌘+⇧+⌫(Mac) to directly open the clear data menu. - Select Cached images and files and Cookies and other site data.
- Click Clear data (or Clear now in Edge).
- Press
-
Mozilla Firefox
- Press
Ctrl+⇧+Del(Windows/Linux) or⌘+⇧+⌫(Mac) to open the “Clear recent history” window. - Ensure Cookies and Cache are selected.
- Click Clear Now.
- Press
-
Apple Safari (Mac)
- Press
⌘+,to open Settings, then navigate to the Privacy tab. - Click Manage Website Data… and click Remove All.
- (Alternatively, to clear history and website data together, go to the top menu bar: History > Clear History…)
- Press
Once the data is cleared, close your browser entirely, reopen it, and log back into PRIZM Cloud.
Check for interfering browser extensions
Certain extensions—especially Ad-blockers, aggressive tracking protection, or VPNs—can block the background scripts required by PRIZM Cloud to maintain a live connection.
- Temporarily disable your extensions one by one, refreshing the page each time to identify the culprit.
- Once identified, whitelist the PRIZM Cloud URL in that extension’s settings.
Dashboard widget shows a missing bundle or device warning
A widget that reads from a bundle or device that can no longer be found stops loading data and shows Failed to load widget data with the note This may be due to an incorrect field, device, bundle, or other setting. This happens when the bundle was deleted, when the device was moved to another bundle, or when the device was deleted after the widget was set up. The same message also appears for other bad settings, such as an incorrect field, so use the steps below to confirm the cause.
Open the widget’s settings
Click Start Editing on the dashboard and open the widget’s settings. A bundle that no longer exists shows in red as Deleted bundle, and a device that no longer exists or is no longer in the selected bundle shows in red as Missing device. The widget can still be saved with a missing value.
Check whether the bundle still exists
Open Bundles. If the bundle the widget points to is gone, deleting it is what caused the warning — see Deleting a bundle.
Check whether the device is still in that bundle
A device belongs to one bundle at a time, so moving it to another bundle takes it out of the old one — see One bundle per device. Also confirm the device itself hasn’t been deleted.
Choose a bundle or device that still exists
Pick a current bundle and device in the widget’s settings. If they are gone for good, remove the widget. The widget does not retry on its own, so refreshing the dashboard won’t clear the error until the setting is fixed.
Ship button is disabled in the Blueprint Editor
If Ship is greyed out in the Blueprint Editor, check for two causes: no bundle exists yet, or a prefab update is pending.
No bundle exists
Ship deploys to a bundle, so it needs at least one bundle to exist before it can be clicked. See Why a bundle is required.
Create at least one bundle
Go to Bundles and create a bundle — see Create a bundle. A bundle takes only a name, and a single device is a valid bundle of one.
Return to the Blueprint Editor
Ship becomes clickable once a bundle exists, even an empty one.
Add the target device(s) to that bundle
See Add a device to a bundle so the deployed application actually has somewhere to run.
A prefab update is pending
If an Update All button is showing next to the Node drawer, one or more prefabs used on the canvas are out of date, and Ship stays disabled until they’re updated — see Update all prefabs.
Click Update All and confirm in the dialog that appears. Ship becomes clickable again once every node is back on the current version of its prefab.
“Blueprint is incomplete” toast when shipping
When you click Ship, PRIZM Cloud checks every node on the canvas before deploying. If any node is unconnected, a toast appears and the deploy is blocked:
Blueprint is incomplete
There’s no way to deploy anyway — every flagged node has to be fixed first.
What counts as an unconnected node
A node is flagged as unconnected if any of the following is true, for a handle or constant whose label
does not end in (optional):
- A required input handle has no edge connected to it.
- A required output handle has no edge connected to it.
- A required constant is empty — see below.
Anything labeled (optional) is never checked, whether it’s filled in or not.
What counts as an empty constant
A constant is empty if its key isn’t suffixed with (optional), its value has a length of 0, and it’s
currently visible on the node (it passes the prefab’s visibility rules — a field hidden by a visibility
rule isn’t checked).
What to do
Check the canvas for nodes with a missing edge on a required input or output, or an empty required constant, fix them, then ship again.