npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-icloud

v1.2.0

Published

homebridge integration to create switches to initiate a "Find my Device" request

Downloads

27

Readme

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": "[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>")
  • 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