Skip to content
A custom component for Home Assistant to detect iPhones connected to local LAN, even if the phone is in deep sleep.
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
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
README.md Update README.md Jul 6, 2019
info.md Update info.md Jul 6, 2019

README.md

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

device_tracker:
  - platform: iphonedetect
    consider_home: 60
    new_device_defaults:
      track_new_devices: true
      hide_if_away: false
    hosts:
      hostname1: 192.168.0.17
      hostname2: 192.168.0.24

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.

Note
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
  icon:
  mac:
  name: hostname1
  picture:
  track: true

Buy Me A Coffee

You can’t perform that action at this time.