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 🙏

© 2026 – Pkg Stats / Ryan Hefner

homebridge-centri-mypropane

v1.0.2

Published

Homebridge plugin for Centri MyPropane propane tank sensors via HomeKit Battery service

Downloads

241

Readme

homebridge-centri-mypropane

A Homebridge plugin that integrates Centri MyPropane / CentriConnect propane tank monitors into Apple HomeKit.

Monitor your propane level as a percentage, estimate gallons remaining, and expose the monitor's actual battery state to HomeKit.


How It Works

Centri MyPropane sensors report tank telemetry to the CentriConnect cloud. This plugin polls the public CentriConnect device-data endpoint on a configurable schedule and exposes your tank to HomeKit using:

  • A Humidity Sensor service so the Home app can display a percentage tile
  • A Battery service for the monitor's real battery percentage and charging state
  • A custom Propane service for gallons remaining and tank capacity metadata

The API endpoint used by this plugin is:

GET https://api.centriconnect.com/centriconnect/<userId>/device/<deviceId>/all-data?device_auth=<deviceAuthCode>

The MyPropane device typically uploads a few times per day. The plugin defaults to polling every 6 hours to match the Home Assistant examples and avoid unnecessary API traffic.


Requirements

  • Homebridge v1.8.5 or later
  • Node.js v20, v22, or v24
  • A Centri MyPropane tank monitor added to the MyPropane app
  • Your Centri userId, deviceId, and deviceAuthCode

Finding Your Credentials

You need three values:

| Field | Where to find it | |---|---| | userId | MyPropane iOS app account/profile settings | | deviceId | Card included with the sensor | | deviceAuthCode | Card included with the sensor |

The card may also include a serial number. The API examples found for CentriConnect use userId, deviceId, and deviceAuthCode; the serial number is not used by this plugin.


Installation

From npm

npm install -g homebridge-centri-mypropane

Then add the platform block to your Homebridge config.json (see Configuration below) and restart Homebridge.

Via Homebridge UI

  1. Open the Homebridge UI
  2. Go to Plugins and search for homebridge-centri-mypropane
  3. Click Install
  4. Configure via the plugin settings form (see Configuration below)
  5. Restart Homebridge

From Source

git clone https://github.com/mdombrowski13/homebridge-centri-mypropane.git
cd homebridge-centri-mypropane
npm install
npm run build
sudo npm install -g .

Configuration

{
  "platforms": [
    {
      "platform": "CentriMyPropane",
      "name": "Propane Tank",
      "userId": "YOUR_USER_ID",
      "deviceId": "YOUR_DEVICE_ID",
      "deviceAuthCode": "YOUR_DEVICE_AUTH_CODE",
      "pollIntervalMinutes": 360,
      "lowThreshold": 30,
      "batteryLowThreshold": 20
    }
  ]
}

Configuration Fields

| Field | Type | Required | Default | Description | |---|---|---|---|---| | platform | string | yes | - | Must be CentriMyPropane | | name | string | yes | Propane Tank | Display name in HomeKit | | userId | string | yes | - | Centri/MyPropane account user ID | | deviceId | string | yes | - | Device ID from the card included with the sensor | | deviceAuthCode | string | yes | - | Device authentication code from the card | | tankCapacityGallons | number | no | API TankSize | Optional tank capacity override | | pollIntervalMinutes | number | no | 360 | How often to poll the API, in minutes | | lowThreshold | number | no | 30 | Propane percentage threshold to use in HomeKit automations from the propane percent sensor | | batteryLowThreshold | number | no | 20 | Monitor battery percentage below which HomeKit reports low battery | | apiBaseUrl | string | no | https://api.centriconnect.com/centriconnect | Advanced override if the API base URL changes |


HomeKit Behavior

| Element | Behavior | |---|---| | Room tile | Shows propane level as a percentage | | Battery service | Shows the monitor's actual battery percentage and charging state | | Low battery alert | Triggers when monitor battery drops below batteryLowThreshold | | Automations | Can trigger from the propane percentage sensor or monitor battery status | | Gallons remaining | Visible in advanced HomeKit apps such as Eve or Home+ |


Known Limitations

  • No local LAN access; this is a cloud polling integration
  • Polling more often than the device posts new data will usually return stale data
  • Gallons remaining is derived from TankLevel and either API TankSize or tankCapacityGallons
  • If the API response does not include a battery percentage, the plugin estimates battery percentage from BatteryVolts
  • If the API response does not include an explicit charging boolean/status, the plugin reports charging state as not chargeable instead of guessing from SolarVolts
  • HomeKit has no native propane tank service, so the plugin maps propane percentage onto HomeKit-compatible services

Acknowledgements

API behavior was cross-checked against Centri/MyPropane Home Assistant community examples and the open-source aiocentriconnect Python client.

License

MIT