Summary
Netron EN and EN-12 are EtherDMX gateways that bridge Ethernet-based lighting control protocols (Art-Net and sACN) to DMX512 output. Up to 12 DMX ports on the EN12 model with RDM, merging, cloning, and preset recall capabilities. The device is configured via a web browser interface at its IP address and onboard display menus; remote triggers are issued as DMX/Art-Net/sACN values at a configured Universe/Address.
Transport
protocols:
- http # web browser remote configuration interface (Tier 1: web browser mentioned)
- udp # inferred: Art-Net and sACN remote triggers documented (Tier 2)
addressing:
base_url: http://{device_ip} # web browser access; device IP shown in display, set via IP Address menu
port: null # UNRESOLVED: web interface TCP port not stated in source
auth:
type: none # inferred: no login/password procedure documented for web interface access
Traits
# UNRESOLVED: powerable - no power on/off commands documented; device is a gateway
# UNRESOLVED: routable - DMX port routing configured via menus/web UI, not discrete commands
# UNRESOLVED: queryable - device state observable via web UI and onboard display, no query command protocol documented
Actions
# Device operates as a gateway. No ASCII/serial command strings documented.
# Control payloads are: (a) DMX/Art-Net/sACN values at configured Universe/Address for remote triggers,
# (b) HTTP requests to specific web UI pages,
# (c) menu operations performed via display/web UI.
# --- Remote Input triggers (source §DMX Map for Remote Trigger) ---
# Each of 10 remote input slots is configurable. Trigger fires when DMX value at the slot's
# configured Universe/Address falls within the slot's value range.
- id: trigger_remote_input
label: Trigger Remote Input
kind: action
command: "DMX value {value} at Universe {universe} Address {address}" # sent over DMX In / Art-Net / sACN per slot Source config
params:
- name: value
type: integer
description: "DMX value 0-255. Range mapping per source: 0-10 Idle, 11-20 Input 1, 21-30 Input 2, 31-40 Input 3, 41-50 Input 4, 51-60 Input 5, 61-70 Input 6, 71-80 Input 7, 81-90 Input 8, 91-100 Input 9, 101-110 Input 10, 111-255 Idle"
- name: universe
type: integer
description: "Remote trigger Universe (configured per slot)"
- name: address
type: integer
description: "Remote trigger DMX Address (configured per slot)"
# Each remote slot can be assigned one of the following actions when triggered:
- id: remote_recall_cue
label: Recall Cue (Remote Trigger Assignment)
kind: action
command: "configure slot assignment = Cue; fire trigger_remote_input"
params:
- name: cue
type: integer
description: "Cue number 1-99"
- id: remote_recall_netron_preset
label: Recall Netron Preset (Remote Trigger Assignment)
kind: action
command: "configure slot assignment = Netron Preset; fire trigger_remote_input"
params:
- name: preset
type: string
description: "Netron preset label a, b, c, …"
- id: remote_recall_user_preset
label: Recall User Preset (Remote Trigger Assignment)
kind: action
command: "configure slot assignment = User Preset; fire trigger_remote_input"
params:
- name: preset
type: integer
description: "User preset 1-10"
- id: remote_disable_dmx
label: Disable DMX Output (Remote Trigger Assignment)
kind: action
command: "configure slot assignment = Disable DMX; fire trigger_remote_input"
params: []
notes: "Stops all DMX output for as long as contact/trigger is active"
- id: remote_send_value
label: Send Static DMX Value (Remote Trigger Assignment)
kind: action
command: "configure slot assignment = Send Value; fire trigger_remote_input"
params:
- name: value
type: integer
description: "DMX value 0-255 sent on all ports while contact/trigger is active"
# --- Web UI HTTP actions (source §Web Remote Menu: Inputs - Owner Preset) ---
- id: lock_owner_preset
label: Lock Owner Preset
kind: action
command: "GET http://{device_ip}/Preset_Owner.htm" # hidden web UI page; select preset, activate lock, click Update
params:
- name: preset
type: integer
description: "User preset 1-10 to lock as owner"
# --- System menu operations (source §Menu: System) ---
- id: lock_device
label: Lock Device
kind: action
command: "System > Lock Device > Manual Lock; PIN required (default 011)"
params: []
- id: unlock_device
label: Unlock Device
kind: action
command: "System > Lock Device > Unlock; PIN required (default 011)"
params: []
- id: save_backup_config
label: Save Backup Configuration
kind: action
command: "System > Backup Config > Save Config"
params: []
- id: load_backup_config
label: Load Backup Configuration
kind: action
command: "System > Backup Config > Load Config"
params: []
- id: enable_rdm_all
label: Enable RDM Processing (All Ports)
kind: action
command: "System > RDM Processing > All Enable"
params: []
- id: disable_rdm_all
label: Disable RDM Processing (All Ports)
kind: action
command: "System > RDM Processing > All Disable"
params: []
- id: factory_reset_full
label: Factory Reset (Full)
kind: action
command: "System > Factory Reset; PIN 011; Confirm Yes/No"
params: []
notes: "Resets to factory default. Reloads NETRON Preset 1. All cues deleted, all settings to default."
- id: factory_reset_user_preset
label: Factory Reset (User Preset 1)
kind: action
command: "System > Factory Reset; PIN 007; Confirm Yes/No"
params: []
notes: "Resets device to User Preset 1."
# --- Firmware update (source §Firmware Updates) ---
- id: firmware_update_display_nfw
label: Firmware Update - Display NFW
kind: action
command: "Web UI > System > Maintenance; upload Display NFW file"
params: []
notes: "Do not power cycle during update. One of two files required for full upgrade."
- id: firmware_update_web_img
label: Firmware Update - Web IMG
kind: action
command: "Web UI > System > Maintenance; upload Web IMG file"
params: []
notes: "Do not power cycle during update. One of two files required for full upgrade."
- id: recovery_firmware_update
label: Recovery Firmware Update
kind: action
command: "GET http://{device_ip}/update.html" # used when System menu is corrupt; substitute actual device IP
params: []
Feedbacks
# No discrete response strings documented. Device sends no unsolicited ASCII commands.
# DMX port status observable via LED indicators per source §DMX Port Status Indicator LEDs:
- id: dmx_port_status_led
type: enum
values: [red_solid_error, green_solid_dmx_in, green_blink_dmx_lost, blue_solid_dmx_out_stable, blue_blink_dmx_lost, white_flash_rdm_packet]
description: "LED color + behavior indicates DMX port state"
Variables
# DMX Port Settings (per port 1-12 on EN12; per port 1-4 on EN4/EP4) - source §Menu: DMX Ports
- id: port_mode
type: enum
values: [disable, input, output, send_value]
description: "Per-port DMX mode"
- id: port_send_value
type: integer
range: [0, 255]
description: "Static DMX value sent when port mode = send_value"
- id: port_universe
type: integer
range: [1, 32767]
description: "Per-port EtherDMX Universe selection"
- id: port_protocol
type: enum
values: [artnet, sacn, none]
description: "Per-port EtherDMX protocol"
- id: port_framerate
type: enum
values: [10, 15, 20, 25, 30, 35, 40]
description: "Per-port DMX frame rate (fps)"
- id: port_rdm
type: enum
values: [disable, enable]
description: "Per-port RDM traffic enable (default enable)"
- id: port_merge
type: enum
values: [off, htp, ltp, toggle, backup]
description: "Per-port merge mode"
- id: port_clone
type: enum
values: [none, port_2, port_3, port_4]
description: "Replicates identical DMX data from another port"
- id: port_range_from
type: integer
range: [1, 512]
description: "DMX range start address"
- id: port_range_to
type: integer
range: [1, 512]
description: "DMX range end address"
- id: port_offset_addr
type: integer
range: [0, 511]
description: "Offset start address; off=0, otherwise 2-511. Incoming channel X is sent as channel X+Offset; channels cut off if exceed 512."
# Remote Input Settings (per slot 1-10) - source §Menu: Remote Input
- id: remote_cue
type: integer
range: [1, 99]
description: "Cue number recalled when slot is triggered"
- id: remote_cue_mode
type: enum
values: [trigger, toggle]
description: "Trigger: cue activated each time contact fires. Toggle: cue alternates on contact open/close."
- id: remote_netron_preset
type: string
description: "Netron preset label (a, b, c, …) recalled when slot is triggered"
- id: remote_user_preset
type: integer
range: [1, 10]
description: "User preset recalled when slot is triggered"
- id: remote_disable_dmx
type: boolean
description: "If true, slot assignment stops all DMX output while contact/trigger active"
- id: remote_send_value
type: integer
range: [0, 255]
description: "Static DMX value sent on all ports while slot contact/trigger active"
- id: remote_source
type: enum
values: [disabled, dmx_port, artNet, sacn]
description: "Source for the remote trigger"
- id: remote_dmx_port
type: integer
description: "DMX input port number used when source = dmx_port (port must be set as Input)"
- id: remote_universe
type: integer
description: "Universe for Art-Net/sACN remote trigger"
- id: remote_address
type: integer
description: "DMX Address for Art-Net/sACN remote trigger"
# IP Address Settings - source §Menu: IP Address
- id: ip_mode
type: enum
values: [dhcp, automatic_2x, automatic_10x, automatic_192x, automatic_172x, custom]
description: "IP address assignment mode"
- id: ip_address
type: string
description: "Device IP address (format x.x.x.x). Unique 2.x.x.x assigned at factory."
- id: ip_subnet
type: string
description: "Subnet mask (format x.x.x.x). Default 255.0.0.0 for auto modes."
# System Settings - source §Menu: System
- id: device_name
type: string
description: "12-character device label"
- id: device_id
type: integer
range: [0, 999]
description: "Optional device ID"
- id: display_timeout
type: enum
values: [disable, 10s, 30s, 1m, 5m, 10m]
description: "Display sleep timeout"
- id: screen_brightness
type: integer
range: [1, 10]
description: "Internal display brightness"
- id: led_brightness
type: integer
range: [0, 10]
description: "Front LED brightness (0 disables LEDs)"
- id: home_screen
type: enum
values: [device_info, cue_browser]
description: "Default home screen content"
- id: artnet_start
type: enum
values: [universe_0, universe_1]
description: "Art-Net start universe mapping. Universe 0: Universe 1 sent to Art-Net 0-0. Universe 1: Universe 1 sent to Art-Net 0-1."
- id: lock_mode
type: enum
values: [disable, timeout, manual]
description: "Device lock behavior"
- id: lock_pin
type: string
description: "Device lock PIN (default 011)"
- id: startup_behavior
type: enum
values: [cue, wait_for_data, send_0]
description: "Startup DMX behavior"
- id: startup_cue
type: integer
description: "Cue run at startup when startup_behavior = cue"
- id: signal_loss_behavior
type: enum
values: [hold_last_look, fade_to_0, cue, disable_dmx]
description: "Behavior on DMX signal loss"
- id: signal_loss_hold_timeout
type: enum
values: [forever, 0s, 10s, 30s, 1m, 5m, 10m, 60m]
description: "Timeout for Hold Last Look before transitioning to signal_loss_behavior"
- id: signal_loss_fade_time
type: integer
range: [0, 60]
description: "Crossfade time to DMX 0 (seconds); default 30s; 0 = instant"
- id: signal_loss_cue
type: integer
description: "Cue started on signal loss when behavior = cue"
Events
# UNRESOLVED: no unsolicited notification protocol documented
Macros
# Cue recall (1-99) via Remote Input trigger
# Netron Preset recall (a, b, c, …) via Remote Input trigger
# User Preset recall (1-10) via Remote Input trigger
# Disable DMX via Remote Input trigger
# Send static DMX value (0-255) via Remote Input trigger
# Signal Loss sequence: Hold Last Look → timeout → {Fade to 0 | Cue | Disable DMX}
# Startup sequence: {Cue | Wait for Data | Send 0}
Safety
confirmation_required_for:
- factory_reset_full
- factory_reset_user_preset
interlocks:
- "Do not power cycle during firmware update (Display NFW or Web IMG)"
# UNRESOLVED: no other safety-critical commands or interlock procedures stated in source
Notes
- Device configured entirely via onboard display menus and web browser UI — no discrete serial command protocol exists.
- Up to 10 Netron devices can be daisy-chained via Ethernet; exceeding 10 in one chain is not recommended.
- Default IP mode: factory-assigned unique 2.x.x.x address (subnet 255.0.0.0). Auto modes also for 10.x, 192.x, 172.x; DHCP supported. EP4 (no display) defaults to 2.0.0.1.
- If DHCP fails for 30s, device auto-assigns a 169.254.x.x address but continues monitoring DHCP.
- RDM not supported on sACN; supported on Art-Net.
- DMX output connectors: EN12 uses 5-pin female XLR (pin 1 Com, pin 2 Data−, pin 3 Data+; pins 4/5 unused — ESTA compliant); EN12-45 uses RJ45 (pin 1 Data+, pin 2 Data−, pins 7/8 Com, shield Earth).
- Device lock PIN default is 011; full factory reset PIN is 011; user-preset reset PIN is 007.
- Firmware update requires two files (Display NFW + Web IMG) uploaded via System > Maintenance web interface; do not power cycle during update.
- Recovery update URL: http://{device_ip}/update.html (used when System menu is corrupt).
- Owner Preset lock accessed via hidden URL http://{device_ip}/Preset_Owner.htm — not part of main web UI.
- DMX port status LEDs: Red solid = error; Green solid = DMX In, Green blink = DMX Lost; Blue solid = DMX Out Stable, Blue blink = DMX Lost; White flashing = RDM packets.
- Source references EN4/EP4 models in some menus; this spec covers EN and EN-12 only.
- Art-Net™ incorporated under Artistic License Holdings Ltd design/copyright.
Spec upgraded. Added: 16 actions (DMX trigger + 5 remote assignments + owner-preset lock + lock/unlock + save/load config + RDM enable/disable + 2 factory resets + 2 firmware uploads + recovery update), 30+ variables (per-port DMX, per-slot remote, IP, system, signal-loss), LED feedback enum, safety confirmations. Bumped revision 1→2, fixed transport tcp→http+udp.
## Provenance
```yaml
source_domains:
- ltb.no
- obsidiancontrol.com
- forum.obsidiancontrol.com
source_urls:
- "https://ltb.no/media/multicase/documents/netron/netron%20en4%20ep4%20en12%20en12-45%20-%20user%20guide%202022-05-25.pdf"
- https://www.obsidiancontrol.com/products/en4
- https://www.obsidiancontrol.com/products/en12
- https://forum.obsidiancontrol.com
retrieved_at: 2026-07-17T16:13:31.305Z
last_checked_at: 2026-07-21T23:41:22.994Z
Verification Summary
verdict: verified
checked_at: 2026-07-21T23:41:22.994Z
matched_actions: 18
action_count: 18
confidence: medium
summary: "All 18 spec actions matched to source commands; no extraneous commands; transport parameters verified. (12 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "Art-Net (6454) and sACN (5568) UDP port numbers not stated in source"
- "web interface HTTP port not stated in source"
- "no ASCII/serial command reference — control via web UI, device menus, and DMX value triggers only"
- "web interface TCP port not stated in source"
- "powerable - no power on/off commands documented; device is a gateway"
- "routable - DMX port routing configured via menus/web UI, not discrete commands"
- "queryable - device state observable via web UI and onboard display, no query command protocol documented"
- "no unsolicited notification protocol documented"
- "no other safety-critical commands or interlock procedures stated in source"
- "Art-Net (6454) and sACN (5568) UDP ports not stated in source"
- "firmware version compatibility not stated in source"
- "protocol versions (Art-Net 3/4, sACN E1.31) not stated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0