/mqtt-dmx-sequencer

Control DMX devices via Art-Net by MQTT. Includes a simple sequencer. 💡🎬

Primary LanguageJavaScriptMIT LicenseMIT

mqtt-dmx-sequencer

mqtt-smarthome NPM version Dependency Status Build Status XO code style License

Control DMX devices via Art-Net by MQTT.

This is the headless counterpart to the MQTT DMX Controller. Uses scenes and sequences created with - and exported from - the MQTT DMX Controller that can be controlled via MQTT.

Installation

Node.js >= 6 needed.

sudo npm install -g mqtt-dmx-sequencer
mqtt-dmx-sequencer --help

Usage

Usage: mqtt-dmx-sequencer [options]

Options:
  -v, --verbosity  possible values: "error", "warn", "info", "debug"
                                                               [default: "info"]
  -a, --address    artnet host address              [default: "255.255.255.255"]
  -p, --port       artnet host port                              [default: 6454]
  -n, --name       instance name. used as mqtt client id and as prefix for
                   connected topic                              [default: "dmx"]
  -j, --scenes     json file containing scene definitions              [default:
         "/Users/basti/WebstormProjects/mqtt-dmx-sequencer/example-scenes.json"]
  -s, --sequences  json file containing sequence definitions           [default:
      "/Users/basti/WebstormProjects/mqtt-dmx-sequencer/example-sequences.json"]
  -u, --url        mqtt broker url. See
                   https://github.com/mqttjs/MQTT.js#connect-using-a-url
                                                   [default: "mqtt://127.0.0.1"]
  -h, --help       Show help                                           [boolean]
  --version        Show version number                                 [boolean]


MQTT Topics

Topic structure follows mqtt-smarthome architecture.

dmx/set/channel/<channel>

set a channels value

payload: integer number. channel value, min 0, max 255

dmx/set/scene/<scene>

call a scene

payload (optional): float number. transition time in seconds.

dmx/set/sequence/<sequence>

start a sequence or change options of a running sequence

payload (optional): json object with following attributes:

  • repeat (boolean)
  • shuffle (boolean)
  • speed (float number)

dmx/set/sequence/<sequence>/stop

stop a running sequence

dmx/set/sequence/all/stop

stop all running sequences

License

MIT © Sebastian Raff