• Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Send ArtDMX to an Art-Net node (DMX512, Stage Lighting) 💡🎬

artnet

NPM version Dependency Status Build Status XO code style License

This is a Node.js module that can be used to send ArtDMX packages to an Art-Net node.

Usage

connect, set channel 1 to 255, disconnect.

var options = {
    host: '172.16.23.15'
}

var artnet = require('artnet')(options);

// set channel 1 to 255 and disconnect afterwards.
artnet.set(1, 255, function (err, res) {
    artnet.close();
});

The set method can set multiple channels at once:

Use an array to set subsequent channels...

// set channel 100 to 10, channel 101 to 20 and channel 102 to 30
artnet.set(100, [10, 20, 30]);

...if you want to keep certain channels unchanged set them to null

// set channel 50 to 255 and channel 52 to 127
artnet.set(50, [255, null, 127]);

you can omit the channel, it defaults to 1

// Set channel 1 to 255 and channel 2 to 127:
artnet.set([255, 127]);

Additionally, you can send trigger macros to devices.

// Send key 3, subkey 1 to all devices.
artnet.trigger(1, 3);

// Send key 2, subkey 71 (the letter 'G') to ArtNet Devices responding to 0x6A6B.
artnet.trigger(27243, 71, 2);

This lib throttles the maximum send rate to ~40Hz. Unchanged data is refreshed every ~4s.

Options

  • host (Default "255.255.255.255")
  • port (Default 6454)
  • refresh (millisecond interval for sending unchanged data to the Art-Net node. Default 4000)
  • iface (optional string IP address - bind udp socket to specific network interface)
  • sendAll (sends always the full DMX universe instead of only changed values. Default false)

Methods

set( [ [ uint15 universe , ] uint9 channel , ] uint8 value [ , function(err, res) callback ] )

set( [ [ uint15 universe , ] uint9 channel , ] array[uint8] values [ , function(err, res) callback ] )

Every parameter except the value(s) is optional. If you supply a universe you need to supply the channel also. Defaults: universe = 0, channel = 1

Callback is called with (error, response) params. If error and response are null data remained unchanged and therefore nothing has been sent.

trigger( [ [ uint15 oem , ] uint9 subkey , ] uint8 key [ , function(err, res) callback ] )

Sends an ArtNet ArtTrigger packet. ArtTriggers are typically device specific and perform functions like starting and stopping shows.

Every parameter except the key is optional. If you supply an oem, you need to supply a subkey also.

Defaults:

  • oem = 0xFFFF
  • subkey = null

Callback is called with (error, response) params.

triggers are NEVER throttled, as they are time sensitive. They are always sent immediately upon processing.

close( )

Closes the connection and stops the send interval.

setHost( string host )

Change the Art-Net hostname/address after initialization

setPort( number port )

Change the Art-Net port after initialization. Does not work when using the broadcast address 255.255.255.255.

Further Reading

License

The MIT License (MIT)

Copyright (c) 2014-2017 Sebastian Raff and Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Credits

Art-Net™ Designed by and Copyright Artistic Licence Holdings Ltd.

More Repositories

1

awesome-mqtt

A curated list of MQTT related stuff. ✨
2,017
star
2

homekit2mqtt

HomeKit to MQTT bridge 🏡📱
JavaScript
337
star
3

homematic-manager

Homematic Device Configuration and Administration
JavaScript
189
star
4

mqtt-admin

MQTT Web Frontend: Publish, Subscribe and see Topic Status in a comfortable UI
JavaScript
124
star
5

lgtv2mqtt

Interface between LG WebOS Smart TVs and MQTT 📺
JavaScript
103
star
6

node-red-contrib-zigbee

Node-RED Nodes for ZigBee Devices 🐝
JavaScript
86
star
7

unifi2mqtt

Connect Ubiquiti UniFi controller to MQTT 📡
JavaScript
72
star
8

ccu.io

[DEPRECATED] Extend your Homematic CCU. Script-Engine, Adapters, Logging, Webserver. Socket.IO based, implements Homematic xmlrpc_bin protocol.
JavaScript
65
star
9

mqtt-dmx-controller

A simple ArtNet / DMX Controller with MQTT Interface 💡🎬
JavaScript
64
star
10

arcticfox-config

Configuration Tool for Vape Battery Mods with Arcticfox Firmware. ☁️ 🔧 Works on MacOS and Linux.
HTML
63
star
11

node-movehub

Node.js interface for the Lego Boost Move Hub 🤖 🐱 🎸 🚚
JavaScript
62
star
12

node-red-contrib-lgtv

Node-RED Nodes to control LG webOS Smart TVs 📺
JavaScript
59
star
13

mqtt-scripts

Node.js based script runner for use in MQTT based Smart Home environments
JavaScript
56
star
14

hanmatek-hm310p

Electron based application for the Hanmatek HM310P DC Power Supply, offers Charts and CSV Export.
JavaScript
50
star
15

airtunes2mqtt

Multi-Room Audio based on Airplay/Airtunes with MQTT support 🔈
JavaScript
50
star
16

awesome-zigbee

Curated List of ZigBee related stuff
49
star
17

DashUI

[deprecated] Template-based HTML5 framework for smarthome user interfaces
JavaScript
39
star
18

influx4mqtt

Insert incoming MQTT values into InfluxDB. Follows mqtt-smarthome architecture.
JavaScript
36
star
19

hmcon

Homematic Interface and Configuration
Shell
30
star
20

hue2mqtt.js

Gateway between a Philips Hue bridge and MQTT 💡
JavaScript
30
star
21

dna-monitor

A simple device monitoring tool for e-cigarettes with Evolv DNA chipset ☁️ 📈 Works with macOS and Linux
HTML
29
star
22

nice-portal

dead simple - but nice - portal webpage 🏰
JavaScript
27
star
23

cul

nodejs module to interact with busware cul / culfw
JavaScript
26
star
24

mqttDB

JSON Store with MQTT Interface 📚📂📡
JavaScript
25
star
25

rpi2mqtt

Connect RaspberryPi GPIOs and 1-Wire temperature sensors to MQTT 🍰🔘📡
JavaScript
22
star
26

lirc2mqtt

An Interface that connects LIRC (Infrared Transceiver) to MQTT. 📺 📻
JavaScript
22
star
27

mqtt-dmx-sequencer

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

arcticfox-monitor

A simple device monitoring tool for vape battery mods with Arcticfox firmware. ☁️ 📈 Works on macOS and Linux.
HTML
22
star
29

node-red-contrib-polymer

A Polymer based Dashboard UI for Node-RED
HTML
21
star
30

hm2mqtt.js

Node.js based Interface between Homematic and MQTT
JavaScript
20
star
31

node-red-contrib-wled

Node-RED nodes for WLED
JavaScript
19
star
32

dna-commands

A list of serial commands for Evolv DNA devices ☁️
18
star
33

dashbutton2mqtt

Publish dash button presses to a MQTT broker 🔘📡
JavaScript
16
star
34

speedtest2mqtt

Run speedtest-cli and publish results via MQTT
Shell
15
star
35

binrpc

HomeMatic xmlrpc_bin:// protocol server and client
JavaScript
15
star
36

mqtt-wildcard

Match a MQTT Topic against Wildcards
JavaScript
14
star
37

waldorf

Simple Mattermost Bot 🤡🤠
JavaScript
14
star
38

lirc-client

Node.js module to connect to a LIRC daemon.
JavaScript
11
star
39

yahui

[deprecated] yet another homematic user interface, based on jQuery Mobile, runs on CCU.IO
JavaScript
11
star
40

nodemcu-gpiomqtt

lua scripts to connect esp8266 gpios to mqtt
Lua
10
star
41

arcticfox

Node module that abstracts the HID communication with the ArcticFox Firmware
JavaScript
10
star
42

mqttpc

Advanced process control via MQTT 📡
JavaScript
10
star
43

homematic-hue

DEPRECATED: Control Philips Hue Lights with the HomeMatic CCU
Tcl
10
star
44

pm2-elasticsearch-logger

Send logs of processes controlled by PM2 to Elasticsearch 📒🔍
JavaScript
10
star
45

mqtt-forget

Command line tool to remove retained MQTT topics by wildcard
JavaScript
10
star
46

persist-path

Get OS-specific path to store persistent data 📁
JavaScript
10
star
47

cul2mqtt

Interface between Busware CUL and MQTT
JavaScript
9
star
48

camo-purge

Purge Github Image Cache for Readme Badges :octocat:🚿
JavaScript
8
star
49

check_pm2

Nagios/Icinga Plugin to check PM2 Processes
JavaScript
8
star
50

node-red-contrib-lab

Node-RED nodes to interact with laboratory equipment 👨‍🔬 (Multimeter UNI-T UT803, Power Supply Hanmatek HM310P, Electronic Load XY-FZ35)
JavaScript
8
star
51

check_nextcloud

Nagios/Icinga Nextcloud Security Check ☁️ 🔐 ☑️
JavaScript
7
star
52

flowerpower2mqtt

Publish values from Parrot Flower Power to MQTT
JavaScript
7
star
53

homematic-rega

Node.js Homematic CCU ReGaHSS Remote Script Interface
JavaScript
7
star
54

amixer-web

alsa mixer web frontend
JavaScript
7
star
55

CCU-IO-Highcharts

[deprecated] Visualisierung der CCU.IO Logs mittels Highcharts/Highstock
JavaScript
7
star
56

snowboy2mqtt

Publish MQTT Messages on Snowboy Hotword Detection 🎤
JavaScript
6
star
57

mqtt-wrapper

Polymer Element that wraps other Elements and links them to MQTT topics
JavaScript
6
star
58

aqara2mqtt

Attach Aqara Smart Hubs to MQTT
JavaScript
6
star
59

hm-discover

Discover Homematic Devices
JavaScript
6
star
60

mqtt-connection

Polymer Element that connects to a MQTT broker
JavaScript
6
star
61

obj-ease

handle javascript objects with ease 🏄
JavaScript
6
star
62

check_homematic

Nagios/Icinga Plugin for checking Homematic CCU
JavaScript
5
star
63

check_os_release

Nagios/Icinga Plugin for checking OS Release Schedule
Shell
5
star
64

streamdeck-plugin-mqtt

Publish MQTT messages and control titles, images and states via MQTT subscriptions
JavaScript
5
star
65

xyz2mqtt-skeleton

a skeleton for creation of mqtt interface daemons following mqtt-smarthome architecture
JavaScript
4
star
66

mosquitto-acl-parser

Parse and Stringify Mosquitto ACLs
JavaScript
4
star
67

speedtest

4
star
68

semantic-compare

Compare version strings according to Semantic Versioning 2.0.0
JavaScript
4
star
69

hm-simulator

Simulates (partly) a Homematic CCU
JavaScript
3
star
70

node-red-contrib-mqtt-json

Node-RED MQTT input node that parses JSON payloads
HTML
3
star
71

bcontrol2mqtt

Publish Measurements from B-Control Energy Manager Smart Meters on MQTT 🔌 📈
JavaScript
3
star
72

node-red-contrib-lescan

Node-RED node that uses hcitool lescan to find Bluetooth devices in range 🔎📡
JavaScript
3
star
73

streamdeck-plugin-tuneblade

Control Tuneblade AirPlay receivers with Elgato Stream Deck
JavaScript
3
star
74

siriproxy-homematic

[deprecated] A Plugin for Siriproxy: Control Homematic Devices via Siri
Ruby
3
star
75

homematic-rf2wired

Homematic-Wired Dimmer mit Homematic-RF Fernbedienung steuern.
JavaScript
3
star
76

fsuxx

Trivially round a number and return fixed digit string 🐳
JavaScript
3
star
77

check_speedport

Nagios/Icinga Plugin to Check DSL Status of Speedport Routers
JavaScript
3
star
78

mqtt2elasticsearch

Send MQTT messages to Elasticsearch
JavaScript
3
star
79

yalm

simple javascript logging module
JavaScript
3
star
80

arcticfox-encryption

Node module to Encode and Decode ArcticFox Config Files (.afc)
JavaScript
3
star
81

electron-ipc-rpc

Simple and tiny RPC wrapper around electron ipc
JavaScript
3
star
82

ioBroker.highcharts

Draw charts with Highcharts/Highstock (free for non-commercial use only!)
JavaScript
2
star
83

ccu-addon-redis

Redis packaged as Addon for Homematic CCU3 and RaspberryMatic
Shell
2
star
84

mqttws

Fork of the Eclipse Paho JavaScript client
JavaScript
2
star
85

dna75c

My Configs and Themes for DNA75c Vape Mods ☁️ 🔋 🔧
2
star
86

passwd-file

Node.js Password File CLI Tool and Lib 🔐
JavaScript
2
star
87

node-red-contrib-movehub

Node-RED Nodes to control LEGO Boost's Move Hub 🤖 🐱 🎸 🚚
HTML
2
star
88

mattermost-update

Simple script for comfortable update of Mattermost
Shell
2
star
89

jqhomematic

[deprecated] Projekt auf Eis gelegt, geht teilweise in ccu.io auf.
JavaScript
1
star
90

website-ccuio

CSS
1
star
91

ioBroker.cul

JavaScript
1
star
92

r-test

1
star
93

hobbyquaker.github.io

HTML
1
star
94

persist-json

Persist an object as plain JSON file
JavaScript
1
star
95

package

Node Package Skeleton
1
star
96

wifi-usb-relay

Simple Wi-Fi relay with USB-C in and USB-A out
1
star
97

Patcher

Patch Frontend Addon for the Homematic CCU3
JavaScript
1
star
98

SlimUI

[deprecated] a very lightweight framework for CCU.IO WebUIs. Made for old browsers and slow clients
JavaScript
1
star
99

xmlbuilder-js

fork of https://github.com/oozcitak/xmlbuilder-js @0.4.2
1
star
100

piplate2mqtt

Connect Adafruit PiPlate (i2c module with 16x2 text display and 5 buttons) to MQTT.
JavaScript
1
star