No description
Find a file
Sebastian Wiedenroth 53463ad32a Note new irc network
2021-05-23 22:47:49 +02:00
.editorconfig modernized code and enforced eslint rules 2018-12-27 21:51:25 +00:00
.eslintrc modernized code and enforced eslint rules 2018-12-27 21:51:25 +00:00
.gitignore modernized code and enforced eslint rules 2018-12-27 21:51:25 +00:00
com.dmx-web.server.example.plist Commit missing file 2017-07-29 20:18:56 -07:00
dmx-web-example.conf Add animation preset example 2018-07-10 00:10:53 +02:00
dmx-web.js fix library name 2019-04-18 17:36:32 +02:00
index.html Fixed a NPE in decoding the RGB values (#62) 2018-11-14 19:24:27 +00:00
LICENSE add license file based on package.json 2018-01-04 19:34:39 +01:00
package.json update names for recent reshuffeling once more 2019-01-15 13:47:53 +01:00
readme.md Note new irc network 2021-05-23 22:47:49 +02:00

node-dmx

Webinterface and HTTP API using node-dmx

Install

npm install -g dmx-web

Webinterface

Configuration

The Daemon dmx-web looks for a configuration file in /etc/dmx-web.json. An alternate location can be passed as a command line argument.

This configuration file consists of three sections:

  • Server
  • Universes
  • Presets

In the Server section you can set the listen port and host. Under Universes you describe the DMX Universes with details like which output driver to use and which devices are at which address. The presets section allows you to specify a state some channels should be set when the preset is called.

A example configuration is in the repository by the name dmx-web-example.conf

Run

dmx-web [-c <full-path to config file>]

Run as a service

On MacOS you can run dmx-web as a service by adding a launch script to /Library/LaunchDaemons. See the example file.

Animation HTTP API

A List of Channel Transistions can be POSTed to /animation/<universe>. Each transistion is a JSON Object with at least the to property present. The Value of which also has to be an Object describing the channel end-states.

A duration for this transistion can be given in the duration property. If not specified 0ms is assumed.

Example:

[
	{"to": {"10": 0, "20": 0}},
	{"to": {"10": 255}, "duration": 2000},
	{"to": {"20": 255}, "duration": 1000}
]

This sets channels 10 and 20 to zero. Then transistions channel 10 to 255 in 2 seconds. After that channel 20 is faded to 255 in 1 second.

Community

We're happy to help. Chat with us on IRC in #dmx on libera.chat.