homebridge-icloud

1.2.0 • Public • Published

GitHub license GitHub last commit GitHub issues Npm package version Npm package total downloads

homebridge-icloud

homebridge-icloud is a Homebridge plugin that exposes your Apple devices to Apple's HomeKit smart home platform as stateless switches, which when turned on, activates the "Find my Device" functionality.

Use Cases

This plugin is designed to expose a button that assists in finding one's phone or other devices. The "Find my Phone" features of iCloud bypass any Do not Disturb or Silent settings on the phone, and plays an audible chime. Ideally, the buttons are to be triggered by Alexa (thanks, of course, to homebridge-alexa), as an alternative to constantly asking [her] to call my phone - which, if on silent, may not be easily found. An Alexa Routine triggers the switch:

Installation Instructions

Option 1: Install via Homebridge Config UI X

Search for "icloud" in homebridge-config-ui-x and install homebridge-icloud.

Option 2: Manually Install

sudo npm install -g homebridge-icloud

Configuration

Device names (labels) can be found in your "Find My" app in the Devices tab

Example

platforms: [
    {
        "platform": "HomebridgeiCloud",
        "username": "you@apple.com",
        "password": "yourPassword",
        "devices": [
            {
                "name": "iPhone SE"
            },
            {
                "name": "iPhone 13",
                "nameOverride": "Find My Thirteen"
            }
        ],
        "name": "iCloud",
        "debug": false
    }
]
  • platform (mandatory): the name of the plugin
  • username (mandatory): your Apple iCloud username
  • password (mandatory): your Apple iCloud password
  • devices (mandatory): array containing your devices' labels
    • name (mandatory): the name/identifier of your accessory (find in your iCloud dashboard)
    • nameOverride (optional): a customized name for the accessory (default: "Find My <name>")
  • name (optional): platform name to display in logs
  • debug (optional): boolean to enable more verbose logging

Limitations

This plugin relies on the npmjs package "find-my-iphone" v1.1.2, which does not appear to support App-specific passwords. Similarly, it does not provide a great way to catch login / device errors, and the platform will restart. It is highly recommended to run this as a child bridge, so that you do not impact other plugins!

fatalerror

Multiple Accounts / Family Devices

"find-my-iphone" v1.1.2 does not appear to expose/support "family devices," so if you need to find a device from another iCloud account, you should set up a second child bridge with alternative credentails (ex. your spouse's credentials):

twoChildBridges

In particular, you'll want to modify the following to be unique:

  • Name
  • _bridge.username
  • _bridge.port

Two Child Bridges will display:

dashboardDisplay

Note: You'll need to directly configure the settings of the second bridge in your config.json - the Plugins page will only show the config UI for the first bridge




Package Sidebar

Install

npm i homebridge-icloud

Weekly Downloads

11

Version

1.2.0

License

MIT

Unpacked Size

420 kB

Total Files

14

Last publish

Collaborators

  • steveredden