Files
xterra-overland-dashboard/docs/api.md
T
2026-06-02 23:54:31 -06:00

2.3 KiB

Xterra Overland Dashboard API Specification

Overview

The ESP32 acts as the system controller and provides status and control endpoints.

Primary communication is RS-485.

WiFi HTTP API is provided for:

  • Web dashboard
  • Mobile access
  • Configuration
  • Future Home Assistant integration

GET /status

Returns complete current system status.

Example:

{
  "timestamp": 1748910000,

  "battery": {
    "soc": 82,
    "voltage": 13.2,
    "current": -6.4,
    "remaining_ah": 82.5,
    "runtime_hours": 11.2,
    "temperature_f": 77.4
  },

  "temps": {
    "fridge_zone_1": 35.8,
    "fridge_zone_2": 12.1,
    "rear_seat": 78.0,
    "outside": 88.4
  },

  "relays": {
    "starlink": false,
    "fridge": true
  },

  "network": {
    "wifi_enabled": false,
    "rs485_connected": true
  }
}

GET /battery

Returns detailed battery information.

Example:

{
  "soc": 82,
  "voltage": 13.2,
  "current": -6.4,
  "power_w": -84.5,
  "remaining_ah": 82.5,
  "runtime_hours": 11.2,
  "temperature_f": 77.4,

  "cells": [
    3.299,
    3.301,
    3.300,
    3.298
  ],

  "cell_delta_mv": 3
}

GET /temps

Returns all temperature sensors.

Example:

{
  "fridge_zone_1": 35.8,
  "fridge_zone_2": 12.1,
  "rear_seat": 78.0,
  "outside": 88.4
}

GET /relays

Returns relay states.

Example:

{
  "starlink": false,
  "fridge": true
}

POST /relay/starlink

Request:

{
  "state": true
}

Response:

{
  "success": true,
  "starlink": true
}

POST /relay/fridge

Request:

{
  "state": true
}

Response:

{
  "success": true,
  "fridge": true
}

GET /network

Returns network status.

Example:

{
  "wifi_enabled": false,
  "rs485_connected": true,
  "starlink_enabled": false
}

POST /network/wifi

Enable WiFi temporarily.

Request:

{
  "minutes": 10
}

Response:

{
  "success": true,
  "expires_minutes": 10
}

Future Endpoints

Vehicle Data

GET /vehicle

{
  "speed_mph": 62,
  "rpm": 2200,
  "coolant_temp_f": 192,
  "fuel_percent": 48
}

GPS

GET /gps

{
  "lat": 43.6629,
  "lon": -116.6874,
  "speed_mph": 0,
  "heading": 0
}

Historical Data

GET /history

GET /history/temps

GET /history/battery

Home Assistant

MQTT integration planned.