/iphonedetect

A custom component for Home Assistant to detect iPhones connected to local LAN, even if the phone is in deep sleep.

Primary LanguagePythonMIT LicenseMIT

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 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
    scan_interval: 12
    new_device_defaults:
      track_new_devices: true
    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)

hostname1:
  icon:
  mac:
  name: hostname1
  picture:
  track: true

Buy Me A Coffee