mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-30 14:56:50 +00:00
172 lines
5.7 KiB
Markdown
172 lines
5.7 KiB
Markdown
---
|
|
title: Traccar
|
|
description: Instructions how to use Traccar GPS tracker to track devices in Home Assistant.
|
|
ha_release: 0.83
|
|
ha_category:
|
|
- Presence Detection
|
|
ha_iot_class: Local Polling
|
|
ha_config_flow: true
|
|
ha_codeowners:
|
|
- '@ludeeus'
|
|
ha_domain: traccar
|
|
---
|
|
|
|
`Traccar` uses GPS for tracking and has support for over 1500 different types of devices. One option is to track the [Traccar Client](https://www.traccar.org/client/) app on a smartphone via `webhook`. The other option is to connect to an existing [Traccar Server](https://www.traccar.org/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:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
device_tracker:
|
|
- platform: traccar
|
|
host: IP_ADDRESS
|
|
username: USERNAME
|
|
password: PASSWORD
|
|
```
|
|
|
|
{% configuration %}
|
|
host:
|
|
description: The DNS name or IP Address of the server running Traccar.
|
|
required: true
|
|
type: string
|
|
username:
|
|
description: The username for the Traccar server.
|
|
required: true
|
|
type: string
|
|
password:
|
|
description: The password for your given account on the Traccar server.
|
|
required: true
|
|
type: string
|
|
host:
|
|
description: The DNS name or IP Address of the server running Traccar.
|
|
required: true
|
|
type: string
|
|
port:
|
|
description: The port of your Traccar server.
|
|
required: false
|
|
default: 8082
|
|
type: integer
|
|
ssl:
|
|
description: Use HTTPS to connect to Traccar server. *NOTE* A host *cannot* be an IP address when this option is enabled.
|
|
required: false
|
|
default: false
|
|
type: boolean
|
|
verify_ssl:
|
|
description: Verify the certification of the system.
|
|
required: false
|
|
type: boolean
|
|
default: true
|
|
max_accuracy:
|
|
description: Filter positions with higher accuracy than specified.
|
|
required: false
|
|
type: integer
|
|
default: 0
|
|
skip_accuracy_filter_on:
|
|
description: Skip filter position by "max_accuracy filter" if any of specified attributes are pressent on the traccar message.
|
|
required: false
|
|
type: list
|
|
monitored_conditions:
|
|
description: Additional traccar computed attributes or device-related attributes to include in the scan.
|
|
required: false
|
|
type: list
|
|
event:
|
|
description: "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/."
|
|
required: false
|
|
type: list
|
|
keys:
|
|
device_moving:
|
|
description: "**deviceMoving** event."
|
|
required: false
|
|
type: string
|
|
command_result:
|
|
description: "**commandResult** event."
|
|
required: false
|
|
type: string
|
|
device_fuel_drop:
|
|
description: "**deviceFuelDrop** event."
|
|
required: false
|
|
type: string
|
|
geofence_enter:
|
|
description: "**geofenceEnter** event."
|
|
required: false
|
|
type: string
|
|
device_offline:
|
|
description: "**deviceOffline** event."
|
|
required: false
|
|
type: string
|
|
driver_changed:
|
|
description: "**driverChanged** event."
|
|
required: false
|
|
type: string
|
|
geofence_exit:
|
|
description: "**geofenceExit** event."
|
|
required: false
|
|
type: string
|
|
device_overspeed:
|
|
description: "**deviceOverspeed** event."
|
|
required: false
|
|
type: string
|
|
device_online:
|
|
description: "**deviceOnline** event."
|
|
required: false
|
|
type: string
|
|
device_stopped:
|
|
description: "**deviceStopped** event"
|
|
required: false
|
|
type: string
|
|
maintenance:
|
|
description: "**maintenance** event."
|
|
required: false
|
|
type: string
|
|
alarm:
|
|
description: "**alarm** event."
|
|
required: false
|
|
type: string
|
|
text_message:
|
|
description: "**textMessage** event."
|
|
required: false
|
|
type: string
|
|
device_unknown:
|
|
description: "**deviceUnknown** event."
|
|
required: false
|
|
type: string
|
|
ignition_off:
|
|
description: "**ignitionOff** event."
|
|
required: false
|
|
type: string
|
|
ignition_on:
|
|
description: "**ignitionOff** event."
|
|
required: false
|
|
type: string
|
|
all_events:
|
|
description: "**allEvents** catchall for all event types."
|
|
required: false
|
|
type: string
|
|
{% endconfiguration %}
|
|
|
|
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:
|
|
|
|
```yaml
|
|
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 abovementioned 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:
|
|
|
|
```yaml
|
|
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.
|