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-terma-moa-blue

v0.0.5

Published

Homebridge plugin to control TERMA's MOA Blue range of bluetooth-enabled towel rail heaters.

Readme

Donate

homebridge-TERMA-MOA-Blue

A HomeBridge interface for the TERMA MOA Blue range of bluetooth enabled towel rail heating elements.

Note: This plugin presents a thermostat to HomeKit. If this does not appear, try running this through a child bridge and adding that to Home.

WARNING:

Water heaters can be dangerous. Please read and understand the warnings in the included web server, moa-web-server.py, before using this software.

DO NOT REMOVE ANY PROTECTION OR VALIDATION LOGIC.

ALL TOWEL RAILS REQUIRE EXPANSION SPACE TO ACCOMODATE THE EXPANSION OF THEIR CONTENTS WHEN HEATED SUFFICIENT TO ACCOMODATE THE CONTENTS AT THE MAXIMUM POSSIBLE TEMPERATURE.

SELF-PROTECTION MECHANISMS OF THE TERMA ELEMENTS ARE NOT MADE PUBLIC AND IT IS ABSOLUTELY POSSIBLE TO CONFIGURE THESE DEVICES TO EXCEED THEIR DESIGN MAXIMUM WATER TEMPERATURE OF 60°C.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

THE INTENDED USE OF THE SOFTWARE IS TO PROVIDE THE END-USER WITH EXAMPLE CODE SHOWING METHODS TO CONNECT THE TERMA "MOA BLUE" RANGE OF BLUETOOTH ENABLED ELECTRIC TOWEL RAIL HEATING ELEMENTS TO HOMEKIT. THE SOFTWARE HAS NOT BEEN TESTED IN ALL POSSIBLE SCENARIOS AND IS NOT A FINISHED PRODUCT IN ITSELF. THE END USER IS RESPONSIBLE FOR TESTING THE COMPLETE SYSTEM AND ALL LIABILITY ARISING FROM ITS USE.

BY USING THIS SOFTWARE, YOU ARE ACCEPTING THESE TERMS OF USE.

Key features:

  • Control of one or more heating elements via Homekit, exposing them as Thermostat accessories.

Plugin Configuration

Installed through HomeBridge plugins UI, the settings are fully configurable in the UI.

Solution Architecture

The plugin accesses the configured heating element(s) via the included Python web server - moa_web_server.py - which connects to elements by bluetooth and exposes a simple HTTP API to provide control over them.

The web server needs to be deployed somewhere physically close enough to the elements to provide reliable a Bluetooth connection to the target heating element. This web server needs to be installed manually on that device (see INSTALLATION for instructions), and can be deployed on the Homekit server itself if required.

This approach eliminates range issues since using a Pi Zero 2W, for example, the web server can be deployed cheaply wherever needed without needing to maintain multiple instances of Homebridge.

Issues and Contact

Please raise an issue should you come across one via Github.