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 🙏

© 2025 – Pkg Stats / Ryan Hefner

homebridge-firebase-nodes

v2.5.1

Published

Homebridge Switch Plugin for Firebase

Readme

Homebridge Firebase Nodes Plugin

This is a module for Homebridge that connects to Firebase through the provided configuration. The operation of this simple version entails establishing a real-time connection to a Firebase database, which must be configured beforehand.

Suppose we develop an application for this database on a NodeMCU, or alternatively, on a Raspberry Pi Zero or a MicroBit, capable of reading the data in this database. Subsequently, based on the value of the node, we can trigger a digital pin connected to an array of relays or, alternatively, to a LED strip. This enables us to effectuate direct changes from the Firebase database, greatly simplifying the task of DIY home automation.

The concept is straightforward: the module itself doesn't connect to any devices; rather, the device continuously listens to Firebase, while the module directly modifies the database.

Configuration

We need to access https://console.firebase.google.com/. Once there, we create a new project, prompting us to give it a name such as 'Example-HomeBridge-Firebase' feel free to choose your preferred name. Next, it asks if we wish to enable Google Analytics; I recommend deactivating this option. After clicking 'Continue,' we'll have our Firebase project ready for use.

For security measures, we create an Auth by navigating to the left-hand options bar and selecting 'Auth.' From there, we choose 'Sign-in method,' creating an Email/Password method. Here, we input our email of choice and a password, making sure to remember it. Upon completion, we'll see a table displaying our email, the provider, two dates, and a UID. It's crucial to copy this UID and save it separately.

Next, we proceed to the Realtime Database section and create a new database structured like this:

{
  "board1": {
    "outputs": {
      "digital": {
        "2": 1,
        "12": 1,
        "13": 1,
        "14": 1
      }
    }
  }
}

It's essential to note that this is an example JSON; you can tailor the structure to your specific needs. Once the structure is created, we need to separately save the nodes and the URL, resembling something like this:

https://example-homebridge-firebase-771ac-default-rtdb.firebaseio.com/board1/outputs/digital/2

With this in place, we navigate to our project's settings, then to 'Service accounts,' where we'll find a page with a large button saying 'Generate new private key.' Clicking it downloads a JSON file containing the necessary data to populate our module's configuration JSON.

Add this to your '~/.homebridge/config.json' as an accessory:

{
    "projectId": "",
    "privateKeyId": "",
    "privateKey": "-----BEGIN PRIVATE KEY-----\-----END PRIVATE KEY-----\n",
    "clientEmail": "firebase-adminsdk-{}@{}.iam.gserviceaccount.com",
    "clientId": "",
    "client509CertUrl": "https://www.googleapis.com/robot/v1/metadata/x509/{}",
    "uid": "",
    "databaseURL": "https://{}.firebaseio.com/",
    "nodo": "board1/outputs/digital/2",
    "accessory": "FireNode",
    "name": "NodeMCU Led"
}