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-emerald-hws

v1.1.3

Published

Homebridge plugin for Emerald Heat Pump Hot Water Systems.

Readme

homebridge-emerald-hws

Homebridge plugin for Emerald Heat Pump Hot Water Systems.
Provides monitoring and basic control of the Emerald HWS through Apple HomeKit.


Features

  • Turn heating on or off
  • View current tank temperature
  • View target temperature (read-only)
  • Turn Boost Mode on or off
  • View water level (exposed as a humidity sensor)
  • Report online/offline system status
  • Uses the standard HomeKit Heater/Cooler service with additional accessories where appropriate

HomeKit Screenshots

Add your screenshots to the images/ folder and update the paths below.

Main Control Interface

Accessory Tiles


Requirements

Python 3.9 or newer

This plugin relies on the emerald_hws_py Python library, which requires Python to be installed on the system running Homebridge.

Install Python on Debian/Ubuntu (including Raspberry Pi OS)

Update packages and install Python:

sudo apt update
sudo apt install -y python3 python3-pip

Confirm installation:

python3 --version
pip3 --version

Homebridge (hb-service) installations

When Homebridge is installed using hb-service, Python must still be installed system-wide using the commands above.
The library will then be installed under the Homebridge user.


emerald_hws_py Python library

This library must be installed under the Homebridge service user (usually homebridge).
It should not be installed as root.

Install:

sudo -u homebridge pip3 install emerald_hws_py

Verify:

sudo -u homebridge python3 -c "import emerald_hws"

If no output or errors appear, the installation is correct.


Installation

Install the plugin:

sudo npm install -g homebridge-emerald-hws

Configuration

Add the following to your Homebridge config.json:

{
  "platform": "EmeraldHWS",
  "devices": [
    {
      "name": "Emerald HWS",
      "username": "YOUR_EMERALD_EMAIL",
      "password": "YOUR_EMERALD_PASSWORD",
      "pollInterval": 60
    }
  ]
}

Configuration Options

| Key | Description | |----------------|-------------| | name | Accessory display name in HomeKit | | username | Emerald account email | | password | Emerald account password | | pollInterval | Data refresh interval in seconds (default and recommended: 60) |


How It Works

This plugin communicates with the Emerald cloud API through the
emerald_hws_py Python library.

The plugin retrieves:

  • Current tank temperature
  • Target temperature (read-only)
  • Water level
  • Heating state
  • Boost state
  • Online/offline availability

It can also send commands to control heating and Boost Mode.

All data is exposed to HomeKit using standard HomeKit services.
If the system becomes unreachable, the accessory will report "No Response" until the next successful update.


Troubleshooting

emerald_hws_py not found

Install under the Homebridge user:

sudo -u homebridge pip3 install emerald_hws_py

Python not in Homebridge PATH

Edit the service file:

sudo nano /etc/systemd/system/homebridge.service

Add the following line:

Environment=PATH=/usr/bin:/usr/local/bin

Reload:

sudo systemctl daemon-reload
sudo systemctl restart homebridge

Frequent "No Response"

Increase the polling interval:

"pollInterval": 60

Acknowledgements

This plugin relies on the emerald_hws_py Python library created and maintained by
ross-w: https://github.com/ross-w/emerald_hws_py

Without this library, Homebridge integration for Emerald HWS would not be possible.


Changelog

See GitHub releases:
https://github.com/Faisalthe01/homebridge-emerald-hws/releases


License

MIT License