Local API (REST)
The WiCAN Pro's web interface is entirely driven by a local REST API. This means you can query the device directly from your browser, Home Assistant, Node-RED, or custom scripts using standard HTTP requests to pull raw JSON data or trigger actions.
Why Use the Local API?
While MQTT is fantastic for streaming live vehicle telemetry, the local REST API serves a different, highly useful purpose for power users:
- Device Health Monitoring: Build REST sensors in Home Assistant to track the WiCAN's uptime, Wi-Fi signal strength, and sleep countdown timers independently of your vehicle data.
- Broker-less Polling: If you don't want to set up an MQTT broker, you can write simple Python or Bash scripts to poll
/check_statusdirectly over your local network. - Automated Troubleshooting: Programmatically fetch the
/restart_tracker/historyto log any unexpected reboots or power drops over time without needing to open the Web UI. - Remote Management: Trigger a remote
/system_rebootfrom a custom Node-RED flow if a specific condition is met, or automatically sync the Real-Time Clock.
Below is a reference of the primary endpoints available on your device's local IP address (e.g., http://192.168.0.10).
Status & Telemetry
These endpoints use GET requests. You can easily query these in a browser or use them to build REST sensors in Home Assistant.
/check_status
- Method:
GET - Description: Returns a comprehensive JSON object containing the live status of the device.
- Key Data Points: Battery voltage (
batt_voltage), Wi-Fi connection state (wifi_mode,sta_ip), sleep countdown (time_to_sleep_sec), system uptime (uptime), and the restart tracker metrics (restart_last_reset_reason,restart_boot_count).
/api/destinations_stats
- Method:
GET - Description: Returns health statistics for your configured Automate destinations and groups.
- Key Data Points: Active MQTT/HTTP destination success and failure counts, and the active state of your Vehicle Groups (
active_groups).
/restart_tracker/history
- Method:
GET - Description: Returns the historical log of reboots and crash data as a JSON file, which is highly useful for debugging power or sleep issues.
/wifi_scan
- Method:
GET - Description: Initiates a Wi-Fi scan and returns a JSON list of available networks nearby, including their SSID, signal strength (
rssi), and security type (auth_mode).
Configuration Dumps
These GET endpoints output the device's currently saved settings in JSON format.
/load_config: Returns the primary system settings (Wi-Fi, MQTT broker details, sleep timers, CAN bus baud rates, etc.)./load_auto_pid: Returns the active Automate configuration, including standard PIDs, webhook modes, and low-voltage behavior settings./load_auto_pid_car_data: Returns the full loaded vehicle profile, including all Custom PIDs, Vehicle Groups, and Custom CAN filters./api/webhook: Returns the current Webhook configuration and health statistics (success_count,last_error,status)./vpn/debug: Returns deep diagnostic data for the VPN connection, including ping timings and routing info.
System Actions (Advanced)
These endpoints require a POST or DELETE request with a specific JSON payload. They are used to alter the device state or save configurations.
/system_reboot
- Method:
POST - Description: Forces the device to immediately reboot.
/autopid/test_pid
- Method:
POST - Description: Sends a temporary PID request to the vehicle and returns the raw hex and decoded value. This is the exact endpoint the "Test" button uses in the Automate UI.
/store_config
- Method:
POST - Description: Saves new primary system settings to the device's flash memory.
/system_commands
- Method:
POST - Description: Used to send specific internal commands. For example, sending a payload with
{"command": "set_rtc_time"}alongside the current hour, minute, and second will manually sync the Real-Time Clock.