Skip to main content

Device tracker entity

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.

Derive a platform entity from homeassistant.components.device_tracker.config_entry.ScannerEntity

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.

NameTypeDefaultDescription
battery_levelint | NoneNoneThe battery level of the device.
hostnamestr | NoneNoneThe hostname of the device.
ip_addressstr | NoneNoneThe IP address of the device.
is_connectedboolRequiredThe connection state of the device.
mac_addressstr | NoneNoneThe MAC address of the device.
source_typeSourceTypeSourceType.ROUTERThe source type of the device.

DHCP discovery

If the device tracker source_type is router and the ip_address, mac_address, and hostname properties have been set, the data will speed up DHCP discovery as the system will not have to wait for DHCP discover packets to find existing devices.

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. Either location_name or latitude and longitude should be set to report state.

Derive a platform entity from homeassistant.components.device_tracker.config_entry.TrackerEntity

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.

NameTypeDefaultDescription
battery_levelint | NoneNoneThe battery level of the device.
latitudefloat | NoneNoneThe latitude coordinate of the device.
location_accuracyint0The location accuracy (m) of the device.
location_namestr | NoneNoneThe location name of the device.
longitudefloat | NoneNoneThe longitude coordinate of the device.
source_typeSourceTypeSourceType.GPSThe source type of the device.