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 🙏

© 2024 – Pkg Stats / Ryan Hefner

nixfilter-rtble

v0.0.1

Published

Filter for setting the target temperature of a eqiva eQ-3 Bluetooth Smart Radiator Thermostat

Downloads

9

Readme

nixfilter-rtble

Filter (non-interactive command-line tool reading from STDIN and writing to STDOUT) for controlling the target temperature of an eqiva eQ-3 Bluetooth Smart Radiator Thermostat.

Installation

$ npm install -g --unsafe-perm nixfilter-rtble

Requires Node.js and Bluetooth 4.x capable hardware.

Command-line tools

nixfilter-rtble-temperature

nixfilter-rtble-temperature reads and writes the target temperature of an eqiva eQ-3 Bluetooth Smart Radiator Thermostat. To set the target temperature, write a line with a float value in degrees celsius to the program's STDIN. If the target temperature changes, the program will write the new target temperature to STDOUT.

In order to save the thermostat's battery, the Bluetooth connection will be automatically closed after --auto_disconnect_time seconds of inactivity. In order to also recognize and output manual changes to the target temperature, the program requests status updates every --status_update_time seconds. This requires connecting to the thermostat, so in order to save the thermostat's battery, it is advised to set this value as high as possible, as low as necessary. Or, simply turn status updates off by setting --status_update_time to 0.

$ nixfilter-rtble-temperature -h

usage: nixfilter-rtble-temperature [-h] [--address ADDRESS]
                                   [--auto_disconnect_time AUTO_DISCONNECT_TIME]
                                   [--status_update_time STATUS_UPDATE_TIME]
                            

Control the target temperature of a eQ-3 eqiva radiator thermostat. Reads the 
target temperature to set as input lines from STDIN, outputs the actual 
current target temperature to STDOUT (all temperatures in degrees celsius).

Optional arguments:
  -h, --help            Show this help message and exit.
  --address ADDRESS, -a ADDRESS
                        The MAC address of the radiator thermostat. If 
                        omitted (not recommended), the first radiator 
                        thermostat found will be used
  --auto_disconnect_time AUTO_DISCONNECT_TIME, -adt AUTO_DISCONNECT_TIME
                        The auto-disconnect time, in seconds. A value of 0 
                        will deactivate auto-disconnect (usually not 
                        recommended, drains battery) (default: 1)
  --status_update_time STATUS_UPDATE_TIME, -sut STATUS_UPDATE_TIME, -t STATUS_UPDATE_TIME
                        The status update time, in seconds. A value of 0 will 
                        deactivate status updates (default: 0)

Using nixfilter-rtble-temperature as a Filter

nixfilter-rtble-temperature is intended to be used as a Filter, reading from STDIN and writing to STDOUT. The following command line demonstrates how to make use of this, by using the mosquitto-clients tools (sudo apt-get install mosquitto-clients) to make the radiator thermostat accessable via MQTT:

$ mosquitto_sub -h 192.168.0.12 -t "thermostat/temperature/set" | nixfilter-rtble-temperature -a 00:11:22:33:44:55 -sut 300 | mosquitto_pub -l -r -h 192.168.0.12 -t "thermostat/temperature"

The above command assumes a MQTT broker with IP address 192.168.0.12 and a radiator thermostat with MAC address 00:11:22:33:44:55. In order to set the target temperature, publish a MQTT message like "23.5" (=degrees celsius) to MQTT topic "thermostat/temperature/set". The actual target temperature will automatically be published as retained messages to MQTT topic "thermostat/temperature", and will be checked for changes every 300 seconds.