Ping (ICMP)

There is currently support for the following device types within Home Assistant:

Binary sensor

The ping binary sensor platform allows you to use ping to send ICMP echo requests. This way you can check if a given host is online and determine the round trip times from your Home Assistant instance to that system.

To use this sensor in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: ping

Configuration Variables

host string Required

The IP address or hostname of the system you want to track.

count integer (Optional, default: 5)

Number of packets to be sent up to a maximum of 100.

name string (Optional, default: Ping [hostname])

Let you overwrite the name of the device.

The sensor exposes the different round trip times in milliseconds measured by ping as attributes:

  • round_trip_time_mdev
  • round_trip_time_avg
  • round_trip_time_min
  • round_trip_time_max

The default polling interval is 5 minutes. As many integrations based on the entity class, it is possible to overwrite this scan interval by specifying a scan_interval configuration key (value in seconds). In the example below we setup the ping binary sensor to poll the device every 30 seconds.

# Example configuration.yaml entry to ping host with 2 packets every 30 seconds.
  - platform: ping
    name: "device name"
    count: 2
    scan_interval: 30
When run on Windows systems, the round trip time attributes are rounded to the nearest millisecond and the mdev value is unavailable.

Presence detection

The ping device tracker platform offers presence detection by using ping to send ICMP echo requests. This can be useful when devices are running a firewall and are blocking UDP or TCP packets but responding to ICMP requests (like Android phones). This tracker doesn’t need to know the MAC address since the host can be on a different subnet. This makes this an option to detect hosts on a different subnet when nmap or other solutions don’t work since arp doesn’t work.

Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.


To use this presence detection in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: ping

Configuration Variables

hosts map Required

Map of device names and their corresponding IP address or hostname. Device names must conform to the standard requirements of lower case, numbers and underscore only - see entity names.

count integer (Optional)

Number of packet used for each device (avoid false detection).

See the person integration page for instructions on how to configure the people to be tracked.