Skip to content

LiveLink

homelabforge edited this page Oct 18, 2026 · 10 revisions

LiveLink

Real-time vehicle telemetry monitoring. LiveLink connects your vehicle's onboard diagnostics to MyGarage, providing live data, drive session tracking, diagnostic trouble codes, and automatic odometer updates.

Telemetry can reach MyGarage from a WiCAN OBD2 device (covered first below), from the Torque Pro Android app with any ELM327 adapter (see Torque Pro if you'd rather not buy hardware), or from any MQTT sensor, such as a Mopeka propane tank sensor (see MQTT Sensors and Devices).


What is LiveLink?

LiveLink is MyGarage's integration with WiCAN OBD2 devices from MeatPi Electronics. These WiFi-enabled adapters plug into your vehicle's OBD2 port and transmit decoded telemetry data to MyGarage.

Key capabilities:

  • Real-time telemetry — Speed, RPM, coolant temperature, and dozens of other parameters
  • Drive sessions — Automatic detection of engine start/stop with trip statistics
  • Diagnostic codes — Monitor and track DTCs
  • Odometer sync — Automatic odometer updates when your vehicle supports the PID
  • Historical charts — Visualize telemetry trends over time
  • Alerts — Notifications for threshold breaches, device offline, and firmware updates

Why Use LiveLink?

  • Monitor Vehicle Health — Catch issues early by watching coolant temp, battery voltage, and engine parameters
  • Track Drive History — See every trip with duration, distance, and performance stats
  • Automatic Odometer — No more manual odometer entries when LiveLink captures the reading
  • DTC Awareness — Know when a check engine light appears and what it means
  • Data Ownership — All telemetry stays on your server, not in a third-party cloud

Hardware Requirements

WiCAN PRO (Recommended)

Requirement Details
Device WiCAN PRO (ESP32-S3, 8MB PSRAM)
Firmware v4.40 or newer for HTTPS POST
Connection WiFi (2.4GHz)
Vehicle OBD2 port (1996+ vehicles in North America)

The WiCAN PRO supports both HTTPS POST and MQTT transport methods.

Standard WiCAN

The standard WiCAN (non-PRO) has limited flash memory and does not support HTTPS POST. However, it can work with LiveLink via MQTT if you have an MQTT broker on your network.

Feature WiCAN PRO Standard WiCAN
HTTPS POST ✅ Yes ❌ No
MQTT ✅ Yes ✅ Yes
Memory 8MB PSRAM 4MB Flash

Getting Started

Admin only: The LiveLink setup panel and global settings (ingestion token, MQTT, firmware, device list) are visible to admins only. Per-device actions such as linking a device or issuing a device token also require ownership of the device's linked vehicle.

The LiveLink Card

Settings → Integrations → LiveLink has one tab per source: WiCAN, Torque, Mosquitto (your MQTT broker), one per sensor type you have added (such as Mopeka), and one per MQTT device you created. A dot shows each tab's status, and the tab's {source} settings button (for example WiCAN settings) opens that source's settings and devices.

The gear at the top of the card opens LiveLink settings: the master switch, data retention, drive detection and alerts. Add source adds a sensor or an MQTT device.

Turn LiveLink On

LiveLink is off on a new install. Open LiveLink settings (the gear) and switch on Enable LiveLink. While it is off, nothing from any source (WiCAN, Torque, MQTT or an SD-card backfill) is stored, and no new device is discovered. An install that was already receiving MQTT or Torque data is switched on when it upgrades.

Prerequisites

  1. WiCAN device installed in your vehicle's OBD2 port
  2. WiCAN connected to your WiFi network
  3. MyGarage accessible from WiCAN (same network or via reverse proxy)

Quick Setup (HTTPS POST)

  1. Navigate to Settings → Integrations → LiveLink and make sure LiveLink is on (see above)
  2. On the WiCAN tab, click WiCAN settings
  3. Copy the Ingestion URL (e.g., https://mygarage.local/api/v1/livelink/ingest)
  4. Under Global API Token, click Generate and copy the token. It is shown only once; Regenerate replaces it, and devices using the old token stop sending until you update them
  5. Open your WiCAN's web UI (browse to its IP address)
  6. In WiCAN settings, configure:
    • HTTPS POST URL: Paste the ingestion URL
    • Authorization Header: Bearer YOUR_TOKEN
    • Push Interval: 5 seconds recommended
  7. Save and reboot WiCAN
  8. Return to MyGarage: your device should appear under Devices in WiCAN settings
  9. Pick its vehicle in the device's Vehicle dropdown

Quick Setup (MQTT)

  1. Ensure you have an MQTT broker running (e.g., Mosquitto)
  2. Configure your WiCAN to publish to the broker:
    • MQTT Broker: Your broker's IP/hostname
    • Topic Prefix: wican (default)
    • Enable AutoPID MQTT output
  3. In MyGarage, go to Settings → Integrations → LiveLink and make sure LiveLink is on (see above)
  4. On the Mosquitto tab, click Mosquitto settings
  5. Switch on Enable MQTT Subscription and fill in:
    • Broker Host: Your MQTT broker IP
    • Port: 1883 (default)
    • Username and Password if your broker needs them, and Use TLS/SSL if it uses TLS
  6. Click Save, then Test to verify
  7. Click Start to begin subscribing
  8. On the WiCAN tab, open WiCAN settings and check WiCAN MQTT topic prefix is wican (it must match the WiCAN config)
  9. Link discovered devices to vehicles in the same drawer

Configuring Your WiCAN Device

WiCAN has its own web-based configuration interface. MyGarage does not configure WiCAN directly — you must access the device's web UI.

Accessing the WiCAN Web UI

  1. Find the device's IP address (check your router's DHCP leases or use the IP shown in MyGarage)
  2. Open a browser and navigate to http://<device_ip>
  3. Default credentials are printed on the device or in WiCAN documentation

AutoPID Configuration

AutoPID tells WiCAN which OBD2 parameters to poll. You can:

  • Use a vehicle profile — WiCAN includes profiles for many makes/models
  • Add custom PIDs — For manufacturer-specific parameters (like odometer on some vehicles)
  • Set polling interval — How often to request each PID (typically 1-5 seconds)

Important: For MQTT output, ensure AutoPID is configured to publish decoded JSON, not raw CAN frames.

✅ Correct format (decoded):

{"odometer": 87458.0, "engine coolant temperature": 91.5}

❌ Incorrect format (raw CAN):

{"bus":"0","type":"rx","frame":[{"id":631,"dlc":8,"data":"FF0000010000AAA7"}]}

Vehicle-Specific PIDs

Some parameters like odometer are not part of the standard OBD2 specification. You may need to:

  1. Search for your vehicle's manufacturer-specific PIDs
  2. Add them as custom PIDs in WiCAN's AutoPID configuration
  3. Test and verify the decoded values are correct

Community PID databases:


Transport Methods

LiveLink supports two ways to receive data from WiCAN devices.

HTTPS POST

WiCAN pushes data directly to MyGarage's ingestion endpoint.

How it works:

  1. WiCAN polls OBD2 PIDs on a cycle (e.g., every 5 seconds)
  2. WiCAN packages telemetry into a JSON payload
  3. WiCAN sends an HTTPS POST to MyGarage with Bearer token authentication
  4. MyGarage processes and stores the data

Pros:

  • ✅ Simple setup — no broker needed
  • ✅ Secure — TLS encryption, token authentication
  • ✅ Works over the internet (if MyGarage is publicly accessible)

Cons:

  • ❌ Requires WiCAN PRO (standard WiCAN doesn't support HTTPS POST)
  • ❌ Higher latency (new connection each request)
  • ❌ Requires public endpoint or tunnel for remote access

MQTT Subscription

MyGarage subscribes to topics on an MQTT broker where WiCAN publishes.

How it works:

  1. WiCAN publishes telemetry to MQTT topics (e.g., wican/<device_id>/can/rx)
  2. MyGarage's MQTT subscriber listens for messages
  3. Messages are processed and stored using the same pipeline as HTTPS POST (except diagnostic trouble codes, see DTCs Tab)

Topic structure:

wican/{device_id}/can/status  → ECU online/offline
wican/{device_id}/battery     → Device battery voltage
wican/{device_id}/can/rx      → Telemetry parameters

Pros:

  • ✅ Works with standard WiCAN (non-PRO)
  • ✅ Lower latency (persistent connection)
  • ✅ Works purely on LAN — no public endpoint needed
  • ✅ Can run alongside HTTPS POST (deduplication prevents duplicates)

Cons:

  • ❌ Requires MQTT broker setup (e.g., Mosquitto)
  • ❌ Additional infrastructure to maintain

Device commands: While the broker is connected, an online WiCAN's row in WiCAN settings has a Check battery voltage button.

Running Both Simultaneously

You can enable both HTTPS POST and MQTT at the same time. LiveLink's payload deduplication ensures the same telemetry isn't stored twice if it arrives through both channels.


Torque Pro (No WiCAN Required)

Torque Pro is an Android OBD2 app that works with any cheap ELM327 Bluetooth adapter. Its built-in Web Upload feature can send telemetry straight to MyGarage, so you get live data, drive sessions and trip history without buying a WiCAN device.

Each Torque source gets its own upload URL and token, so you can connect more than one phone to the same vehicle and revoke them individually.

Setting Up a Torque Source

  1. Go to the vehicle detail page
  2. Open Vehicle Settings
  3. Click Torque Source
  4. Click Add source, give it a label (e.g. "My Phone"), and click Create
  5. Copy the Upload URL — this is the full address to paste into Torque

Copy the token now. The device token is shown once, at creation, and cannot be retrieved afterwards. If you lose it, revoke the source and create a new one.

Then in Torque Pro, open its web-upload settings (Data Logging & Upload in current versions), enable uploading to a web server, and paste the Upload URL into the web server address field. Start a session and Torque uploads while you drive.

⚠️ Set Torque to Metric

In Torque Pro, set units to metric for all values (Settings → Units).

MyGarage stores telemetry in metric internally and expects Torque's values in metric. If Torque uploads imperial readings they are taken at face value, and every speed, temperature and distance imported will be wrong. This is the single most common cause of nonsense Torque data.

Your MyGarage display units are unaffected — you can still read everything in MPH and °F. This setting is only about what Torque puts on the wire.

How It Works

Torque sends telemetry as an HTTP GET with the readings encoded in the query string. MyGarage accepts that, and also accepts POST for other tools. Tokens are redacted from the server logs, so an upload URL never appears in plaintext there.

Managing and Revoking Sources

The Torque Source panel lists each source with its device ID and when it was last seen. Click Revoke to cut a source off — Torque will no longer be able to upload until you configure it with a new source.

Revoking keeps everything the source already sent. Its telemetry and drive sessions stay on the vehicle; only the ability to upload more is withdrawn.

Admins can also add a Torque source for any vehicle from the Torque tab's Torque settings in Settings → Integrations → LiveLink.


Trips & Location (Torque Only)

Torque Pro can report GPS position alongside its OBD2 readings. When it does, MyGarage records those points and builds them into trips.

This is Torque-only. WiCAN devices do not report position, so a WiCAN-only setup records no location data at all, whatever the setting below says.

What You Get

  • Trips — a sub-tab on the vehicle's LiveLink tab, listing each drive session that carried GPS points, with its route drawn on a map.
  • Last known location — a card on the vehicle's Overview showing where it was last seen.
  • GPS distance — for Torque sessions, trip distance is calculated from the GPS track rather than the odometer.

Turning It Off

Location tracking is on by default for every vehicle, but it does nothing until a Torque source actually sends GPS.

To turn it off, open the vehicle's LiveLink → Trips tab and switch off Location tracking. It is a per-vehicle setting, so turning it off on one vehicle leaves the others unchanged. Telemetry, drive sessions and DTCs keep working — only position stops being recorded.

Switching it off stops new points being stored. Points already recorded stay until they age out (see below).

How Long Points Are Kept

Location points are pruned on the same schedule and the same retention setting as raw telemetry — 90 days by default, adjustable in LiveLink settings. The prune runs once a day.

There is no button to delete location history on demand; shortening the retention window is the way to clear it out sooner.


MQTT Sensors and Devices

Any device that publishes numbers to your MQTT broker can feed LiveLink. Set up the broker first (see Quick Setup (MQTT), steps 3 to 7). A sensor or device stores nothing until it is linked to a vehicle.

These sources send readings only. They never record a drive, so a sensor on a parked trailer does not create trips.

Propane Tanks (Mopeka)

Mopeka Pro Check sensors talk Bluetooth, so you need a gateway nearby (an ESPHome board or a Home Assistant bridge, for example) that republishes their readings to MQTT. Each tank is added as its own sensor:

  1. In Settings → Integrations → LiveLink, click Add source
  2. Under Mopeka, click Add sensor
  3. Enter a Name (e.g. "Front tank"), pick the Vehicle, and paste the Level topic: the exact MQTT topic the tank's level arrives on
  4. MyGarage listens to the broker and fills in the Other readings (temperature, battery and so on) from what it hears next to the level. Check them, clear any you don't want, and click Add sensor

Your tanks then share a Mopeka tab. Mopeka settings lists each tank with its readings, and lets you rename it, change its vehicle, add another tank or delete one. Deleting a tank also deletes all of its readings.

Alerts: each tank has its own Alerts lines in Mopeka settings. The level warns below Low (25% on a new sensor) and again below Critical (10%), and the sensor battery warns below Low (20%). Leave a line blank to switch it off, then click Save alerts. Each line sends one notification when the reading drops below it, and does not send again until the reading has climbed 5 points back above the Low line, as it does after a refill. These notifications follow the Parameter threshold breaches switch (see Alerts & Notifications).

On the vehicle's Live tab each tank gets its own card, drawn at its level in your accent colour with its other readings beside it. Below a line the tank changes colour and is labelled Low or Critical.

Other MQTT Devices

  1. In Settings → Integrations → LiveLink, click Add source
  2. Under Blank device, enter a Device ID, pick the Vehicle, add an optional Label, and click Create device
  3. The device gets its own tab. Open its settings, and under Advanced: topic mappings add a Topic, a Parameter key and a Unit for each reading, then click Add mapping

Topics must be exact: + and # are refused. To see what a device publishes, use Discover topics in Mosquitto settings: enter a Topic prefix and click Discover to list the topics heard, each with a sample value. Only numbers can be mapped (on/off style values such as ON, TRUE or OPEN count as 1 and 0); a sample that is not a number is flagged.

Each reading in a device's settings has a switch for whether it is shown on the Live tab. Hiding a reading does not stop it being stored.


Using LiveLink

Once a device is linked to a vehicle, a LiveLink tab appears on that vehicle's detail page.

Its sub-tabs depend on what the linked sources send: Live and Charts always, DTCs with a WiCAN, Sessions with a WiCAN or Torque, and Trips with Torque.

Live Tab

Real-time telemetry display with gauge cards for each parameter.

Status indicators:

  • 🟢 Vehicle Running — ECU online, data flowing
  • 🔵 Vehicle Parked — ECU offline, WiCAN still connected
  • 🔴 Device Offline: no communication from the device
  • 🟢 Connected: shown instead of Running or Parked when only sensors are linked, such as a propane tank sensor

Gauge cards show:

  • Parameter name and current value
  • Unit of measurement
  • Warning indicator if threshold exceeded
  • Time of the reading

Propane tanks get their own cards (see Propane Tanks).

Refresh rate: Dashboard polls every 5 seconds when the tab is active.

DTCs Tab

Monitor diagnostic trouble codes reported by the vehicle's ECU.

Features:

  • Filter by: Active, Cleared, or All (active and cleared codes together)
  • Color-coded severity: 🔵 Info, 🟡 Warning, 🔴 Critical
  • First seen / Last seen timestamps
  • User-editable notes per DTC
  • Search Online button — opens external search for the code

Where codes come from: codes are recorded when a WiCAN linked to the vehicle sends them over HTTPS POST. Codes from a WiCAN that sends over MQTT only aren't recorded yet, so the vehicle's DTCs tab stays empty.

Descriptions: the built-in list covers the generic (SAE) codes, which mean the same on every make, such as P0xxx, P2xxx, B0xxx, C0xxx and U0xxx. Manufacturer-specific codes (P1xxx, P30xx to P33xx, and B, C or U codes whose second character is 1 or 2) mean different things on different makes, so the card says the code is manufacturer-specific instead of guessing. To look one up, use Search Online and add your make to the search.

Sessions Tab

Drive session history with statistics for each trip.

Session data:

  • Start and end time
  • Duration
  • Distance traveled, read from the finest distance signal the device publishes
  • Average and max speed
  • Average and max RPM
  • Coolant temperature range
  • Idle time - how much of the session was spent stopped with the engine running
  • Harsh acceleration and braking counts - derived from the speed trace

Session detection: a drive is recorded when the vehicle actually moves. Movement means a speed at or above 5 km/h (about 3 mph), or an odometer reading that has gone up. An engine running while the vehicle sits still does not open a drive on its own, so a remote start, a winter warm-up or an idle in the driveway is not recorded as a trip.

Before v3.3.0 a session opened whenever the device connected, so a parked vehicle checking in became a drive. On the instance this was developed against that was 2,921 of 3,262 recorded sessions. Those rows are kept rather than deleted: the Sessions tab hides the ones in which nothing moved and says how many it is holding back, and one click shows them again.

Two settings in LiveLink settings (the gear on the LiveLink card) control this:

  • Stop before a new drive (default 15 minutes). How long the vehicle can sit still, while still connected, before the next movement counts as a separate drive. A fuel stop or a charging stop stays one drive; a longer stop becomes two. This is deliberately not the five-minute session timeout: a stationary EV reports neither speed nor RPM, so a five-minute window would split a drive at every school pickup.
  • How drives are detected (default By movement). Switching to By device connection restores the pre-v3.3.0 rule. It is an escape hatch for a device whose speed and odometer readings MyGarage does not recognise, not a feature. Settings shows a warning naming any device in that state.

A configurable grace period (0-300s, default 60s) still delays ending a session after WiFi drops, preventing phantom micro-sessions.

Trip-computer (OBC) values from the most recent drive session can auto-fill a new fuel record via the fuel form's Auto-fill from last drive button.

Charts Tab

Historical telemetry visualization.

Features:

  • Time range selector: 1h, 6h, 24h, 7d, 30d
  • Multi-parameter overlay (select multiple metrics)
  • Color-coded legend
  • Min/max/avg statistics per series
  • Export CSV button

Device Management

Viewing Devices

Each source's settings list its devices: open the source's tab in Settings → Integrations → LiveLink and click its settings button (for WiCAN, WiCAN settings). MQTT sensors are covered in MQTT Sensors and Devices.

Device information displayed:

  • Label (click it to rename) and Device ID
  • Device status (online/offline), and for a WiCAN its ECU status
  • Linked vehicle (or "Unlinked")
  • Firmware version for a WiCAN, with an Update badge if a newer one is available

Linking a Device to a Vehicle

  1. In the Devices section, find the unlinked device
  2. Click the vehicle dropdown
  3. Select the vehicle to link
  4. The vehicle's detail page will now show the LiveLink tab

Per-Device Tokens

For enhanced security, you can generate tokens scoped to specific devices:

  1. In the WiCAN's row, click the key icon (Generate device token)
  2. Copy the token (shown once)
  3. Update the WiCAN device to use this token instead of the global token

Per-device tokens can be revoked without affecting other devices. Clicking the key icon again (Revoke device token) sends the device back to the global token.

Firmware Updates

LiveLink checks GitHub daily for new WiCAN firmware releases, matched to your device's track (OBD vs PRO). When an update is available:

  • An update badge appears on the device row
  • Click Open device UI (the link icon in the row) to access WiCAN's web interface
  • Update firmware through WiCAN's built-in updater

⚠️ MyGarage cannot update WiCAN firmware directly — you must use the device's web UI.

Notifications fire once per release. Since v3.5.0 you are told about a given firmware version one time per device, not every day until you update. The next release notifies you again.

Skipping a version. If you do not intend to install a release, click "Skip this version" on the device row. The row then shows Skipped v{version} and that version never notifies again, while the update badge stays visible so you do not forget the device is behind. Resume update notifications undoes it, though a version you were already notified about will not notify a second time. Skipping is per device and admin only.

Unlinking a Device

To move a device to a different vehicle:

  1. In the device's vehicle dropdown, choose Unlinked
  2. Historical data remains with the original vehicle
  3. Link the device to the new vehicle

Note: Deleting a device removes only the device record. Telemetry, sessions, and DTCs are retained with the vehicle. A propane tank sensor is the exception: deleting it deletes its readings too.


Odometer Integration

When your WiCAN configuration includes an odometer PID, LiveLink automatically updates your vehicle's odometer records.

How it works:

  1. At the end of each drive session, LiveLink captures the odometer reading
  2. A new entry is created in the vehicle's odometer history
  3. The entry is marked with a LiveLink badge to distinguish from manual entries

Behavior:

  • ✅ LiveLink never changes an entry it did not make: a manual entry, a service visit's, a fuel-up's or a tire's stays as it is
  • ✅ LiveLink keeps one entry of its own per day and updates it as the odometer climbs; a reading no higher than what is already recorded adds nothing
  • ✅ A vehicle's current odometer is the highest reading of its latest day, whichever record entered it
  • ✅ LiveLink entries integrate with service reminders and fuel economy calculations

Odometer units. A standard A6-ODOMETER PID reports kilometres, per SAE J1979. A custom autopid reports whatever the dash shows, which on a US-market car is usually miles. LiveLink infers the unit from the key shape and you can override it per device: click Device settings (the sliders icon) in the device's row and set Odometer units. Set it if recorded mileage looks wrong. Changing it after a device has recorded readings is refused, with the conversion named, because it would only affect later readings and leave the stored ones in the other unit.

Drive distance is measured separately from the odometer. Many dongles report their odometer coarsely: one WiCAN stepped only every 24 km, which recorded no distance at all for any trip shorter than that, and most trips are shorter than that. LiveLink now reads distance from the finest distance signal the device publishes, such as the standard 31-DISTANCESINCECODECLEAR PID, which resolves to 1 km. A device whose odometer is already at least that fine is unchanged, and a distance counter is never used as a session's odometer reading.

Torque records no odometer until you choose one. In Torque settings, open the source's Device settings and pick its Odometer parameter. Torque keeps its own running total, which drifts when the phone misses a trip.

If odometer isn't syncing:

  • Verify your vehicle supports the odometer PID (not all do)
  • Check WiCAN's AutoPID includes the correct odometer PID for your make/model
  • Some vehicles require manufacturer-specific PIDs
  • Check Odometer units on the device if the reading lands far below the real one: a miles value read as kilometres is discarded by the "must be higher" guard, silently before v3.3.0 and with a log line since

Data Retention

LiveLink can generate significant amounts of data. Configure retention to balance history vs storage.

Settings

Open LiveLink settings (the gear on the LiveLink card) and find Data Retention.

Setting Options Default
Raw telemetry retention 30 / 60 / 90 / 180 / 365 days 90 days
Daily aggregation Enable/Disable Enabled

Daily Aggregation

When enabled, LiveLink creates daily summary records containing:

  • Min, max, and average values for each parameter
  • Sample count

Daily aggregates survive retention cleanup, enabling long-term trend analysis even after raw data is purged.


Alerts & Notifications

LiveLink sends its alerts through MyGarage's notification services (Discord, ntfy, email and the others under Settings → Notifications).

Alert Types

Each alert has a switch under Alerts & Notifications in LiveLink settings. Switched off, that alert is not sent.

Alert Description Default
New device discovered WiCAN with valid token first connects On
Device goes offline No data received for the Device Offline Timeout On (15 min)
Firmware update available Newer WiCAN firmware detected On
Parameter threshold breaches A reading crosses one of its alert lines, such as a propane tank's (see Propane Tanks) On

Alert Cooldown

To prevent notification spam, alerts honor a configurable cooldown (an admin setting): the same alert won't fire again until it expires. A propane tank's alert lines work differently: one notification per crossing (see Propane Tanks).


Troubleshooting

Device Not Discovered

Symptoms: WiCAN is configured but doesn't appear in MyGarage

Check:

  1. Token — Ensure the Bearer token in WiCAN matches MyGarage exactly
  2. URL — Verify the ingestion URL is correct and reachable from WiCAN
  3. Network — WiCAN must be able to reach MyGarage (same network or routed)
  4. Firewall — Ensure no firewall blocking the connection
  5. WiCAN logs — Check WiCAN's web UI for HTTP error codes
  6. LiveLink enabled? With Enable LiveLink off, no new device is discovered

No Telemetry Data

Symptoms: Device appears but no gauges or charts

Check:

  1. Device linked? — Telemetry is only stored for devices linked to vehicles
  2. AutoPID configured? — WiCAN needs PIDs to poll
  3. Decoded output? — Ensure AutoPID outputs decoded JSON, not raw CAN frames
  4. LiveLink enabled? With Enable LiveLink off, nothing is stored
  5. Values rejected? — LiveLink drops readings that fail range or rate-of-change checks (garbage from partial ECU wakes); rejected values are logged

MQTT Connection Failed

Symptoms: MQTT status shows "error" or "disconnected"

Check:

  1. Broker running? — Verify Mosquitto or your broker is active
  2. Host/port correct? — Double-check broker address and port
  3. Authentication — If broker requires auth, ensure credentials are correct
  4. Firewall — Port 1883 (or your configured port) must be accessible
  5. TLS mismatch — If broker requires TLS, enable it in MyGarage

Phantom Devices

Symptoms: Unknown device IDs appear that you don't recognize

Cause: MQTT brokers retain messages. When MyGarage subscribes, it receives old retained messages from other devices.

Solution:

  1. Stop Mosquitto: docker stop mosquitto
  2. Delete persistence: Remove mosquitto.db from the data directory
  3. Start Mosquitto: docker start mosquitto
  4. Delete phantom devices from MyGarage's device list

Data Gaps

Symptoms: Missing telemetry during certain times

Cause: WiCAN only transmits live data when connected to WiFi. When your vehicle is away from home, no live data reaches MyGarage.

Backfill: If your WiCAN logs to an SD card while offline, MyGarage pulls that data to fill the gaps automatically when the device reconnects. To set it up, open the device's Device settings in WiCAN settings, enter its Device address (IP or hostname), switch on Auto SD backfill and click Save. Pull SD logs now runs a backfill on demand.


Best Practices

Security

  • ✅ Use per-device tokens for each WiCAN to limit blast radius if compromised
  • ✅ Use HTTPS with valid certificates for HTTPS POST
  • ✅ Regenerate tokens if you suspect they've been exposed
  • ❌ Don't share tokens publicly or in screenshots

Performance

  • ✅ Set reasonable polling intervals — 5 seconds is usually sufficient
  • ✅ Monitor database size and adjust retention as needed
  • ✅ Use daily aggregation for long-term trends

Reliability

  • ✅ Keep WiCAN firmware updated — fixes bugs and improves stability
  • ✅ Use static IP or DHCP reservation for WiCAN devices
  • ✅ Monitor device status — investigate if devices go offline unexpectedly

Need Help?


Next: Learn about Document Management or explore Authentication.

Clone this wiki locally