mqtt2atlonamatrix
Bridge from MQTT to Atlona HDMI matrix switches. Attempts to follow mqtt-smarthome pattern.
mqtt2atlonamatrix
is a Node.js application that links Atlona HDMI matrix switches to an MQTT broker. It is designed to be used to integrate these devices into a home automation system à la mqtt-smarthome.
Getting Started
mqtt2atlonamatrix
is distributed through NPM:
npm install -g mqtt2atlonamatrix # or, if you prefer: yarn global add mqtt2atlonamatrix
Running it is likewise easy:
mqtt2atlonamatrix # if your MQTT broker is running on localhost mqtt2atlonamatrix -b mqtt://<hostname> # if your broker is running elsewhere mqtt2atlonamatrix --help # to see the full usage documentation
Topics and Payloads
This app is intended to conform to the mqtt-smarthome architecture. These are the topics used by mqtt2atlonamatrix
:
Topics Published
Topic | Purpose |
---|---|
atlonamatrix/connected |
0 = not connected to anything 1 = connected to MQTT but not DVR 2 = connected to both. |
atlonamatrix/status/isOn |
Power state of the switch as a boolean |
atlonamatrix/status/hardwareInfo |
JSON-encoded hardware info; format: { "type": "", "version": "" } |
atlonamatrix/status/outputStatus |
The current status of each output as a lis |
Topics Subscribed
For performance reasons, no argument checking is done: commands are passed diectly to the switch.
Topic | Purpose |
---|---|
atlonamatrix/get/isOn |
Force a refresh of the current power state |
atlonamatrix/get/hardwareInfo |
Force a refresh of the hardware info |
atlonamatrix/get/outputStatus |
Force a refresh of the current output status |
atlonamatrix/set/isOn |
Set the system to Off. |
atlonamatrix/set/output/{n}/input/{m} |
Set output n to display input m |
atlonamatrix/set/output/{n}/off |
Turn off output n |
atlonamatrix/set/safeOff |
Turn off the switch if all outputs are off |
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 mqtt2atlonamatrixyarn
And the development workflow is likewise straightforward:
# make a change to the src/ file, then... yarn buildnode dist/index.js # or if you want to clean up all the leftover build products: yarn run clean
Release History
- 1.0.0
- The first release.
Meta
Zach Bean – zb@forty2.com
Distributed under the MIT license. See LICENSE for more detail.