Contents

How to Access Data from the DashIO Server

This guide explains how to retrieve data from the DashIO server for time graphs, maps, and logs. An example in python is included in the python python-dashio package.

Server Connection Details

  • Connect to the DashIO server via MQTT over TLS
  • Server address: dash.dashio.io
  • Port: 8883
  • Authentication uses username/password credentials
  • All communication is secured with TLS 1.2 and above

Command Format and Protocol

  • Commands to the server are sent via MQTT topics
  • Data from the server is received asynchronously
  • Command topic format: username/device_id/store/control
  • Data response topic format: username/device_id/store/data

Control-Specific Command Requirements

Time Graph (TGRPH) Control

  • Command format: \t{device_id}\tTGRPH\t{control_id}\t{dashboard_id}\t{from_timestamp}\n
  • from_timestamp: ISO format timestamp (UTC) from which to fetch data
  • Response format includes:
    • Line ID
    • Line name
    • Line type
    • Line color
    • Axis designation
    • Series of timestamp/value pairs

Map (MAP) Control

  • Command format: \t{device_id}\tMAP\t{control_id}\t{dashboard_id}\t{from_timestamp}\n
  • from_timestamp: ISO format timestamp (UTC) from which to fetch data
  • Response data includes location points with timestamps

Log (LOG) Control

  • Command format: \t{device_id}\tLOG\t{control_id}\t{dashboard_id}\t{from_timestamp}\n
  • from_timestamp: ISO format timestamp (UTC) from which to fetch data
  • Response data includes log entries with timestamps and messages

Common Issues

  • Ensure your credentials are correct
  • Verify device and control IDs exist and are accessible with your account
  • Allow sufficient time for the server to respond with data
  • Check network connectivity if no response is received
  • UTC time is used for all timestamp operations

For more information about DashIO, refer to the official documentation and source code.