diff --git a/docs/core/entity/device-tracker.md b/docs/core/entity/device-tracker.md new file mode 100644 index 00000000..f4349550 --- /dev/null +++ b/docs/core/entity/device-tracker.md @@ -0,0 +1,44 @@ +--- +title: Device Tracker Entity +sidebar_label: Device Tracker +--- + +A device tracker is a read-only entity that provides presence information. There are two types of device tracker entities, a ScannerEntity and a TrackerEntity. + +## ScannerEntity + +A ScannerEntity reports the connected state of a device on the local network. If the device is connected the ScannerEntity will have state `home` and if the device is not connected the state will be `not_home`. + +### Properties + +:::tip +Properties should always only return information from memory and not do I/O (like network requests). Implement `update()` or `async_update()` to fetch data. +::: + +| Name | Type | Default | Description | +| ------------- | ------- | ------------ | ------------------------------------------------- | +| source_type | string | **Required** | The source type, eg `gps` or `router`, of the device. | +| is_connected | boolean | **Required** | The connection state of the device. | +| battery_level | integer | `None` | The battery level of the device. | +| ip_address | string | `None` | The IP address of the device. | +| mac_address | string | `None` | The MAC address of the device. | +| hostname | string | `None` | The hostname of the device. | + +## TrackerEntity + +A TrackerEntity tracks the location of a device and reports it either as a location name, a zone name or `home` or `not_home` states. A TrackerEntity normally receives GPS coordinates to determine its state. + +### Properties + +:::tip +Properties should always only return information from memory and not do I/O (like network requests). Implement `update()` or `async_update()` to fetch data. +::: + +| Name | Type | Default | Description | +| ----------------- | ------- | ------------ | ------------------------------------------------- | +| source_type | string | **Required** | The source type, eg `gps` or `router`, of the device. | +| latitude | string | **Required** | The latitude coordinate of the device. | +| longitude | string | **Required** | The longitude coordinate of the device. | +| battery_level | integer | `None` | The battery level of the device. | +| location_accuracy | integer | `None` | The location accuracy (m) of the device. | +| location_name | string | `None` | The location name of the device. | diff --git a/sidebars.js b/sidebars.js index 3eba69b6..8a26704b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -141,6 +141,7 @@ module.exports = { "core/entity/binary-sensor", "core/entity/climate", "core/entity/cover", + "core/entity/device-tracker", "core/entity/fan", "core/entity/humidifier", "core/entity/light",