Home

Awesome

mqtt2atlonamatrix

Bridge from MQTT to Atlona HDMI matrix switches. Attempts to follow mqtt-smarthome pattern.

NPM Version GitHub license

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

TopicPurpose
atlonamatrix/connected0 = not connected to anything<br>1 = connected to MQTT but not DVR<br>2 = connected to both.
atlonamatrix/status/isOnPower state of the switch as a boolean
atlonamatrix/status/hardwareInfoJSON-encoded hardware info; format: { "type": "", "version": "" }
atlonamatrix/status/outputStatusThe 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.

TopicPurpose
atlonamatrix/get/isOnForce a refresh of the current power state
atlonamatrix/get/hardwareInfoForce a refresh of the hardware info
atlonamatrix/get/outputStatusForce 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}/offTurn off output n
atlonamatrix/set/safeOffTurn 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 mqtt2atlonamatrix
yarn

And the development workflow is likewise straightforward:

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

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

Release History

Meta

Zach Bean – zb@forty2.com

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