Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/steveredden/homebridge-icloud
A homebridge plugin to create switches to initiate the "Find My Phone" features of iCloud
https://github.com/steveredden/homebridge-icloud
find-my-iphone homebridge homebridge-plugin homekit smarthome
Last synced: about 2 months ago
JSON representation
A homebridge plugin to create switches to initiate the "Find My Phone" features of iCloud
- Host: GitHub
- URL: https://github.com/steveredden/homebridge-icloud
- Owner: steveredden
- License: mit
- Created: 2021-09-28T21:13:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-04T14:26:36.000Z (about 3 years ago)
- Last Synced: 2024-10-28T11:12:57.859Z (2 months ago)
- Topics: find-my-iphone, homebridge, homebridge-plugin, homekit, smarthome
- Language: JavaScript
- Homepage:
- Size: 349 KB
- Stars: 14
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![GitHub license](https://badgen.net/github/license/steveredden/homebridge-icloud)](https://github.com/steveredden/homebridge-icloud/blob/main/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/steveredden/homebridge-icloud.svg?style=flat-square)](https://github.com/steveredden/homebridge-icloud)
[![GitHub issues](https://img.shields.io/github/issues/steveredden/homebridge-icloud.svg)](https://GitHub.com/steveredden/homebridge-icloud/issues/)
[![Npm package version](https://badgen.net/npm/v/homebridge-icloud)](https://npmjs.com/package/homebridge-icloud)
[![Npm package total downloads](https://badgen.net/npm/dt/homebridge-icloud)](https://www.npmjs.com/package/homebridge-icloud)# homebridge-icloud
`homebridge-icloud` is a [Homebridge](https://homebridge.io) plugin that exposes your Apple devices to [Apple's](https://www.apple.com) [HomeKit](https://www.apple.com/ios/home) 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](https://github.com/NorthernMan54/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](https://github.com/oznu/homebridge-config-ui-x) and install `homebridge-icloud`.
#### Option 2: Manually Install
```sh
sudo npm install -g homebridge-icloud
```## Configuration
Device names (labels) can be found in your "Find My" app in the Devices tab
### Example
```json
platforms: [
{
"platform": "HomebridgeiCloud",
"username": "[email protected]",
"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* (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](https://www.npmjs.com/package/find-my-iphone), 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](https://github.com/homebridge/homebridge/wiki/Child-Bridges), so that you do not impact other plugins!
![fatalerror](img/childbridgerestart.png)
### Multiple Accounts / Family Devices
["find-my-iphone" v1.1.2](https://www.npmjs.com/package/find-my-iphone) 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](https://github.com/homebridge/homebridge/wiki/Child-Bridges) with alternative credentails (ex. your spouse's credentials):
![twoChildBridges](img/twoChildBridge.png)
In particular, you'll want to modify the following to be unique:
* Name
* _bridge.username
* _bridge.portTwo [Child Bridges](https://github.com/homebridge/homebridge/wiki/Child-Bridges) will display:
![dashboardDisplay](img/dashboard2Bridge.png)
***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*