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-smarthq-client

v1.2.5

Published

Plugin for controlling GE refrigerator, dishwasher, air conditioner via SmartHQ API.

Readme

Homebridge-SmartHQ Client

A homebridge plugin for GE appliances using the SmartHQ API s (Identity and Access Management API, Digital Twin API) from npm pkg 'ge-smarthq'. The following devices are implemented:

  • refrigerator
  • dishwasher
  • air conditioner
  • Other devices will be discovered and service information could be written to the log to assist in adding support for more devices.

The refrigerator services include controls for:

  • refrigerator temperature
  • freezer temperature
  • controls lock
  • convertible drawer modes
  • dispenser light
  • icemaker
  • interior light
  • sabbath mode
  • temperature units
  • turbo cool modes refrigerator & freezer
  • water filter maintenance (see notes)
  • additional switches are used to implement notifications

The dishwasher services include controls for:

  • Wash cycle presets
  • Wash temperatures
  • Dry temperatures
  • Wash zones
  • Options for steam, bottlewash, silverware, sabbath mode, controls lock

The air conditioner services include controls for:

  • AC temperature
  • AC fan speed
  • AC modes (Cool, ECO, Dry, Fan Only)

Installation

Option 1: Homebridge UI

Go to the 'Plugins' page, search for homebridge-smarthq-client, and click 'Install'.

Option 2: Manually

Run the following command to install the plugin globally:

$ sudo npm install homebridge-smarthq-client -g

Requirements

The SmartHQ API uses an OAuth 2.0 authentication process. The steps required to setup an account in order to use the API are

  • Follow the steps at Get Started - SmartHQ Docs
    (The Callback URL specified in step 2.4 must match the corresponding field in the plugin config setup (recommended http://localhost:8888/callback)

  • When step 2 from Get Started is complete and you have created an app, click on the app to display your apps page. Find the Credentials tab and copy the Client Id, Client Secret and Callback URL to the plugin config.

Configuration

Use the Homebridge UI to configure this plugin. See Requirements for steps to obtain a Client Id and Client Secret.

  • Select the services you want to add for the appliance in the plugin config.

  • Select Logging options.

    • Plugin Debug Logging will log additional messages to the Homebridge log.
    • Display Service Details for all discovered device services will log sorted information about all services for each discovered device.
      (This info is used to add support for other appliances.)
    • Display Service Details for only refrigerator services will only log sorted information about all services for refrigerator.
    • Display Service Details for only dishwasher services will only log sorted information about all services for dishwasher.
  • Save plugin config and restart child bridge.

Or manually edit the config file with

{
    "name": "GE SmartHQ",
    "redirectUri": "http://localhost:8888/callback",
    "addControlLock": true,
    "addConvertibleDrawer": true,
    "addDispenserLight": true,
    "addIceMaker": true,
    "addInteriorLight": true,
    "addSabbathMode": true,
    "addTemperatureUnits": true,
    "addEnergyMonitor": true,
    "addTurboCool": true,
    "addWaterFilter": true,
    "addAlerts": true,
    "addDwSabbath": true,
    "addDwSound": true,
    "addDwFanFresh": true,
    "addDwControlLock": true,
    "debugLogging": true,
    "clientId": "your client Id",
    "clientSecret": "your client Secret",
    "_bridge": {
        "name": "Homebridge GE SmartHQ",
        "username": "0E:1B:48:E5:A4:B9",
        "port": 50928
    },
    "debugServicesFridge": false,
    "debugServicesDishwasher": false,
    "debugServicesAll": false,
    "platform": "SmartHqPlatform"
}

Initial Authentication

(If access token does not exist). Check the Homebridge log for a highlighted localhost URL.

======================================================================= 
Click to login for SmartHQ Auth setup ===>: http://localhost:8888/login
=======================================================================  

Click on the URL to be redirected to a SmartHQ authorization screen. Login to your SmartHQ account to complete the process. Once an access (and refresh) token have been saved this step will only be needed if the file used to store your tokens is deleted. When an access token expires the plugin will use the refresh token to obtain a new access token automatically.

(for Raspberry pi OS users)

To complete the authentication flow will require the Raspberry pi OS to have a desktop and browser installed. For assistance in installing these components please see this article

Notifications (for refrigerators)

API device alerts are monitored for the following conditions:

  • Door left open
  • Temperature alert (either fridge or freezer)
  • Water pitcher leak
  • Filter maintenance
  • Firmware

If selected during configuration, switches are added that will be turned on temporarily
when a corresponding alert is triggered. Using these switches in conjunction with a 3rd party service (e.g PushOver, PushCutter etc)
an Apple Home automation can be set up to issue notifications for your iOS devices.

These switches will appear in Accessories as Alert Door, Alert Temp, Alert Leak, Alert Filter, Alert Firm

Documentation

SmartHQ Documentation

Notes

(for refrigerator) The water filter maintenance option uses the Filter Maintenance Service in the Homebridge API.
The service exists in HomeKit but has not been implemented in the Apple Home app.
If selected in the plugin config you will notice a tile on the Homebridge Accessories page but there
will not be any tile/device shown in the Home app.

2/11/26 Added a lightbulb service Brightness characteristic to show remaining water filter %. (this will be displayed in HomeKit)

Acknowledgements

donavanbecker for the excellent 'ge-smarthq' pkg.
evan robert for contributing air conditioner device code GE SmartHQ API Client

Feedback

If you have any feedback, please reach out at: [email protected]

If you have GE smart appliances other than refrigerator or dishwasher you can capture the following information (after adding the appliance to your SmartHQ account)

  • Update the plugin config to select 'Display Service Details for all discovered device services'
  • Restart the child bridge.
  • Copy log output including 'SmartHQ Discovered device: newDevice Model: deviceModelNumber'
    plus all logged services and forward the file to me. As my time permits I will attempt to add support for new devices.

Or fork the repository to add support for other devices.