Traccar


Traccar uses GPS for tracking and has support for over 1500 different types of devices. One option is to track the Traccar Client app on a smartphone via webhook. The other option is to connect to an existing Traccar Server installation which is also available as Home Assistant add-on.

Traccar Client

To configure Traccar Client, you must set it up via the integrations panel in the configuration screen. This will give you the webhook URL to use during mobile device configuration. This URL has to be set in the Traccar app.

Traccar Server

To integrate Traccar Server in Home Assistant, add the following section to your configuration.yaml file:

# Example configuration.yaml entry
device_tracker:
  - platform: traccar
    host: IP_ADDRESS
    username: USERNAME
    password: PASSWORD

Configuration Variables

host string Required

The DNS name or IP Address of the server running Traccar.

username string Required

The username for the Traccar server.

password string Required

The password for your given account on the Traccar server.

port integer (Optional, default: 8082)

The port of your Traccar server.

ssl boolean (Optional, default: false)

Use HTTPS to connect to Traccar server. NOTE A host cannot be an IP address when this option is enabled.

verify_ssl boolean (Optional, default: true)

Verify the certification of the system.

max_accuracy integer (Optional, default: 0)

Filter positions with higher accuracy than specified.

skip_accuracy_filter_on list (Optional)

Skip filter position by “max_accuracy filter” if any of specified attributes are pressent on the traccar message.

monitored_conditions list (Optional)

Additional traccar computed attributes or device-related attributes to include in the scan.

event list (Optional)

Traccar events to include in the scan and fire within Home Assistant. NOTE For more info regarding Traccar events please refer to Traccar’s documentation: https://www.traccar.org/documentation/events/.

device_moving string (Optional)

deviceMoving event.

command_result string (Optional)

commandResult event.

device_fuel_drop string (Optional)

deviceFuelDrop event.

geofence_enter string (Optional)

geofenceEnter event.

device_offline string (Optional)

deviceOffline event.

driver_changed string (Optional)

driverChanged event.

geofence_exit string (Optional)

geofenceExit event.

device_overspeed string (Optional)

deviceOverspeed event.

device_online string (Optional)

deviceOnline event.

device_stopped string (Optional)

deviceStopped event

maintenance string (Optional)

maintenance event.

alarm string (Optional)

alarm event.

text_message string (Optional)

textMessage event.

device_unknown string (Optional)

deviceUnknown event.

ignition_off string (Optional)

ignitionOff event.

ignition_on string (Optional)

ignitionOff event.

all_events string (Optional)

allEvents catchall for all event types.

The parameter monitored_conditions allows you to track non standard attributes from the traccar platform and use them in your Home Assistant. For example if you need to monitor the state of the non standard attribute alarm and a custom computed attribute mycomputedattribute just fill the configuration with:

device_tracker:
  - platform: traccar
    ...
    monitored_conditions: ['alarm', 'mycomputedattribute']

The parameter event allows you to import events from the traccar platform (https://www.traccar.org/documentation/events/) and fire them in your Home Assistant. It accepts a list of events to be monitored and imported and each event must be listed in lowercase snakecase. The events will be fired with the same event name defined in the aforementioned list preceded by the prefix traccar_. For example if you need to import the Traccar events deviceOverspeed and deviceFuelDrop in Home Assistant, you need to fill the event parameter with:

device_tracker:
  - platform: traccar
    ...
    event: ['device_overspeed', 'device_fuel_drop']

and as soon as Home Assistant receives those events from the platform, they will be fired as traccar_device_overspeed and traccar_device_fuel_drop. NOTE Specify all_events if you want to import all events.