Skip to content
A custom component for Home Assistant to detect iPhones connected to local LAN, even if the phone is in deep sleep.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
custom_components/iphonedetect Name change Jun 30, 2019
LICENSE Add files via upload Jun 18, 2019 Update Jul 6, 2019 Update Jul 6, 2019

hacs_badge GitHub release GitHub issues GitHub pull requests

iPhone Detect

This integration sends a message to the defined hosts on udp port 5353.
iPhone's responds, even when in deep sleep, and an entry in the arp cache is made .

Uses Home Assistant's Ping device_tracker and idea/script from return01

Only ip addresses will work, no hostnames!
You have to assign a static ip address(es) to your iPhone's, probably in your router.

The interval_seconds time must be shorter then the arp cache is cleared (usally 15-45sec), or the phone will be marked not_home. So, leave it at the default value (12sec) or make it shorter.

Example configuration.yaml

  - platform: iphonedetect
    consider_home: 60
      track_new_devices: true
      hide_if_away: false

This will create device_tracker.hostname1 and device_tracker.hostname2 once the devices has been detected on your wifi.
Cycle wifi on your device to trigger their creation on first run.

If you have track_new_devices: false (in this or any integrations specified before this) for the device_tracker component you need to manually change track: to true for each device in known_devices.yaml
(see component settings for device_tracker)

  hide_if_away: false
  name: hostname1
  track: true

Buy Me A Coffee

You can’t perform that action at this time.