Datacake Docs
  • Welcome
  • Get Started
  • Changelog
  • Best practices
    • Best practices: Getting started
    • Best practices: Resolution (Timeframe)
    • Best practices: Dashboards
    • Best practices: Reports
    • Best practices: Grouping Devices
  • Datacake LNS
    • Getting Started
    • Gateways
      • Milesight LoRaWAN Gateway - UG6x
      • RAKwireless WisGate Edge Light 2
    • Devices
    • Add Devices without Gateway
  • Wireless IoT Hub
    • Overview
    • Datasheet
    • Getting Started
  • Device
    • Product
    • Configuration
    • Claiming
    • Historical Data
    • Database
      • Configuration Fields
      • Fields
        • Manual input
        • Field Roles
        • Formulas
        • Mapping Fields
      • Data retention & Datapoints
      • Examples
        • Mapping 4-20mA Signals
        • Converting Units
  • Dashboards
    • Global Dashboards
      • Setting Homepage
    • Device Dashboards
    • Multi-Device Dashboards
    • Widgets
      • Value Widget
      • Chart Widget
      • Image Map
      • Map Widget
      • Text Widget
      • SOS Widget
      • Boolean Widget
      • iFrame Widget
      • Downlink Widget
      • Set Value Widget
      • Measurement List Widget
      • Heatmap Widget
      • Table Widget
      • Image Widget
  • Portal
    • Multi-Tenancy (Workspaces)
    • Reports
      • Energy Report
    • Administrators
    • Members
      • API Users
    • Security & Privacy
    • Billing
      • Support Packages
      • VAT Exemption / Tax ID
      • SMS Credits
      • Access Invoices
      • Unused time and Remaining time in Invoices (Prorations)
      • Codes
    • White Label
    • Rules
      • Legacy Rule Engine
        • Sending notifications via Telegram
      • New Rule Engine
        • Rule Engine Table Overview
        • Copy/Paste and Template Functionality
        • Advanced Rule Engine E-Mail and Webhook Templates
        • Time Restrictions
        • Actions
          • Set Value
    • Zones
  • Cake Red
    • Get Started
    • Overview
  • LoRaWAN
    • Get Started
      • CSV Import
      • Custom LoRaWAN Device
        • How to create a device without a product template
    • Configuring LNS
      • The Things Stack (TTN / TTI) Automated Setup
      • The Things Stack (TTN / TTI) Manual Setup
      • Loriot
      • Kerlink Wanesy
      • Helium
      • ChirpStack
      • Tektelic
      • Actility ThingPark
      • Senet
      • Milesight Gateway
      • KPN
    • Downlinks (LoRaWAN)
      • Set Time Frame
    • Securing Webhooks
    • Payload Decoders
      • Location and GPS
      • Access Gateway Metadata
      • Access Measurements
      • Global Variables
    • Using Cayenne LPP
    • Converting Payload
  • Generic API Devices
    • HTTP Downlinks
  • Integrations
    • MQTT
    • Particle
      • Get Started
      • Adding Integrations
      • Decoding Payloads
      • Calling Functions
      • Templates
        • Particle Tracker One
    • Incoming Webhooks
    • Outgoing Webhooks
      • Securing Outgoing Webhooks in Datacake
    • Golioth
    • Blues Wireless Notecard
    • Sigfox
    • Swarm Asset Tracker
    • Grandcentrix Modbus Cloud Connect
    • YuDash LYNX IoT Gateway
    • Dragino NB-IoT
      • Changing NB-IoT Bands
    • Hardwario CHESTER
    • 1NCE OS
  • API
    • Exporting Data
    • Record Measurements via API
    • Node RED to Datacake
    • Generate Access Token
    • Internal MQTT
      • Get Started
      • MQTT Documentation
      • MQTT over WebSocket
      • Example Code
    • GraphQL API
      • Using GraphQL
      • Device Creation
      • Tutorials
        • Read Group via Tags
  • Guides
    • Python
    • Send Slack Notifications
    • Forward Data to Cake Red
    • Multiple Data Feeds
    • Automated Dynamic Downlinks
    • Ingesting JSON Data into Datacake API Devices
    • Working with Default HTTP Decoder on API Devices and Code Examples
    • Accessing Measurements in Decoders
    • Connecting Datacake to Notion Using Zapier
    • How to set up and use location on non-GPS devices
    • How to integrate with AWS IoT Core
    • How to Schedule Mass-Downlinks (Multicast) using Datacake Rule Engine
    • How to Map Sensor Values to Ranges or Booleans, Strings using Mapping Fields
    • Understanding Internal vs. External MQTT Brokers on Datacake
    • Sending UDP Messages between 1NCE OS and Datacake
    • Concepts of LoRaWAN Payload Decoders on Datacake
    • How to check if a value stays above or below limits for given time
Powered by GitBook
On this page
  • Managing Widgets for Performance
  • Limit Widget Quantity
  • Optimise Value Widgets
  • Optimise Chart Widgets
  • Use of Tabs in Global Dashboards
  • General Best Practices for Dashboard Efficiency

Was this helpful?

  1. Best practices

Best practices: Dashboards

Creating an effective dashboard on Datacake involves strategic decisions. This hands-on guide will walk you through the practical steps to ensure your dashboards are both functional and efficient.

The fluid nature of data—its volume and variety—makes it challenging to prescribe a 'one-size-fits-all' formula for dashboard configuration, particularly concerning the number and type of widgets used. The performance of a dashboard's depends on the amount of datapoints it fetches, and the complexity of the calculations it performs.

At the core of our platform is a time-series database, specifically engineered for handling data points indexed over time. This structure is ideal for the continuous data streams common in IoT scenarios, allowing for efficient queries and storage management. However, it's crucial to recognise that every widget interaction with this database—whether a simple fetch request or a complex calculation over a wide timeframe—requires system resources.

As we proceed, this guide will focus on the practical steps for optimising your Datacake dashboards. You'll learn to select and configure widgets wisely, design with intention, and create efficient, visually appealing dashboards that harness the full potential of your IoT data without compromising performance.

Managing Widgets for Performance

Limit Widget Quantity

Though you can add as many widgets as you want, restraint is crucial. More widgets mean more data fetching, which can slow down performance. Stick to necessary widgets that contribute critical insights. Always remember: it's not about the quantity of data presented but the quality and relevance of the information extracted.

Optimise Value Widgets

Value widgets show the current data or calculated averages, minimums, maximums, etc., over a selected timeframe. Real-time data loads quickly, but calculated data takes more time, since all of the datapoints need to be fetched from the time-series database and calculations need to be done. Be selective in the timeframe operations to avoid performance lags.

While selecting timeframe operations, opt for a period of time that mirrors your need for insight without taxing your system.

Optimise Chart Widgets

  • Smart Timeframe Selection: Charts allow for various timeframe selections, from one hour to custom periods. However, longer periods can overwhelm your display capabilities and hamper readability. Choose timeframes that align with your immediate analysis needs. Remember you can now select Allow timeframe selection on dashboard under Appearance, which allows to dynamically change the timeframe from the dashboard, without having to enter the dashboard editing modus. This is optimised to show only the necessary datapoints per timeframe.

  • Resolution Matters: When using custom timeframes, ensure the resolution matches. If you're looking at extended periods, adjust the resolution accordingly to avoid cramped, unreadable data points.

  • Use Aggregation Functions: For broad time windows, use average, minimum, or maximum calculations to simplify the data view. This approach reduces clutter and enhances data significance.

Use of Tabs in Global Dashboards

Add tabs to your Global Dashboards to have sub-dashboards inside of one single dashboard. These act like chapters in a book, each containing a different segment of your data story. By dividing your data across multiple views, you not only create a rhythm for your information flow but also enhance the dashboard's performance.

Distribute Widgets Wisely -> Place your more data-intensive widgets across various tabs. This strategy spreads out the load, reducing the strain on any single view and thereby improving loading times. It's about allowing your data to breathe while ensuring users aren't waiting on slow, crowded visuals.

In the following video you'll see how to create tabs on your global dashboards.

General Best Practices for Dashboard Efficiency

  • Sensible Aggregation: For analysing larger timeframes, group data into more extended averages (e.g., 72-hour chunks) rather than shorter segments. It helps in identifying trends over noise.

  • Avoid Overloading: Don't overload dashboards with too much data. Instead, focus on key insights. If a widget doesn’t add immediate value, consider removing it.

  • Test Performance: After setting up, test your dashboard’s load time and responsiveness. If it's slow, review your widgets and timeframes, making adjustments for efficiency.

  • Regular Reviews: Periodically review your dashboard setup to remove outdated or unnecessary widgets and data, keeping the display relevant and functional.

Last updated 1 year ago

Was this helpful?