/haiku2mqtt

A bridge between Haiku smart fans and MQTT.

Primary LanguageJavaScriptMIT LicenseMIT

haiku2mqtt

A bridge between Haiku smart fans and MQTT.

NPM Version GitHub license

haiku2mqtt is a Node.js application that links SenseME-enabled devices by Haiku to an MQTT broker. It is designed to be used to integrate these devices into a home automation system.

Getting Started

haiku2mqtt is distributed through NPM:

npm install -g haiku2mqtt

Running it is likewise easy:

haiku2mqtt                      # if your MQTT broker is running on the same system
haiku2mqtt -b mqtt://<hostname> # if your broker is running elsewhere
haiku2mqtt --help               # to see the full usage documentation

Topics and Payloads

This app is intended to conform to the mqtt-smarthome architecture. The topics used by the app are generally of the form:

Topic Template Purpose
haiku:<id>/status/path/to/prop New values will be published here as the device reports them
haiku:<id>/set/path/to/prop New values published to these topics will be propagated to the device.
haiku:<id>/get/path/to/prop Publishing anything to these topics will request updated values from the device.

To see a complete list, including sample values, see TOPICS

Contributing

Contributions are of course always welcome. If you find problems, please report them in the Issue Tracker. If you've made an improvement, open a pull request.

Getting set up for development is very easy:

git clone <your fork>
cd haiku2mqtt
npm install -g babel-cli # if you don't already have it
npm install

And the development workflow is likewise straightforward:

# make a change to the src/ file, then...
npm run build
node dist/index.js

# or if you want to clean up all the leftover build products:
npm run clean

Release History

  • 1.1.0

    • Small bugfix for error handling
    • Update haiku-senseme
    • Switch to yalm for logging
  • 1.0.0

    • The first release.

Meta

Zach Bean – zb@forty2.com

Distributed under the MIT license. See LICENSE for more detail.