RDM Discovery - Version 2.0.1.BETA4#
Module Summary#
Discovers RDM-enabled fixtures and notifies of changes, including newly discovered, re-discovered, and missing fixtures.
Module Status#
Note: Please be aware that this is an BETA version of this IO Module which has not yet been fully tested.
Known issues and limitations#
Designer v2.9.2#
[MAG-11352] The controller may unexpectedly reboot on the first discovery run after upload, subsequent discoveries operate without failure
VLC/Atlas hardware#
RDM Is not supported on these hardware platforms
If you encounter any issues with this module, or have any feedback regarding its operation, please contact our support team.
Release Notes#
Version 2.0.1.BETA4#
Added support for Rio G4
Version 2.0.1.BETA3#
Removed “Discovery Finished” Trigger
Added “Discovery Report” trigger, with user customisable report messages
Removed “Discovery Abort” options
Internal#
Module will not see multi-element fixtures as patched (MAG-9286).
Every command is now broadcast but will only ever run on all controllers or a specific controller (including network primary).
Network primary handles all Action and Trigger handling (broadcast back when discovery has finished on another controller).
Limitations#
Fixture names are currently just placeholders and generated by the module.
Minor point releases (eg. 1.1.x) will be for small fixes and may not be listed here.
See bottom of readme for full version history.
Operation#
As of 2.0.1.BETA1, the module can be run on any controller on a network.
Discovery Actions are called from the network-primary. Discovery status and data is fed back to the network primary to handle actions and triggering.
If the network primary is not online, the module will not run.
A non-network-primary controller can only be responsible for universes it has configured and data will only show in the web interface if the Controller Number matches the controller number in the network tab.
Instance Properties#
Controller Number defines which controller should run the discovery.
A non-network-primary controller can only be responsible for universes it has configured and data will only show in the web interface if the Controller Number matches the controller number in the network tab.
Specific universes and ports for supported protocols are specified in the DMX Ports, Art-Net Universes, EDN 10 Ports and EDN 20 ports in comma-dash range format, eg. 0-1, 7, 9, 11-18
DMX | Physical DMX port, indexed from 1 eg. 1 or 1-4
|
Art-Net | Art-Net Universe as an integer, indexed from 0 eg. 1 or 0,2,4
|
EDN 10, EDN 20, Rio G4 | EDN number and ports, indexed from 1 Formatted as: [EDN number]:[port numbers] eg. 1,2:1-10 will be EDNs 1 and 2 and ports 1-10 on both EDNs.
|
The Monitored Fixture Range defines which patched fixtures are to be monitored or leave blank to monitor all patched fixtures on the Universe/Ports.
Discovered fixtures not in Monitored Fixture Range will be treated as unpatched and therefore fire Unpatched Fixture Discovered Triggers.<br They will still be displayed in the status variables along with all other discovered fixtures.
Checking the Log Discovered Fixture checkbox will print out a detailed table of all discovered fixtures, on completion of a Discover Fixtures Action.
Checking the Log Triggers and Conditions checkbox will provide more detailed logs message for Trigger and Condition matching.
This is for diagnostic purposes and should be disabled during running to maintain controller performance.
Export Data defines whether the device information displayed in the status variables and Trigger variables is As Description or As JSON, As Lua or None.
User Message 1-3 are user customisable messages which can be used by the Trigger Discovery Report.
Various arguments can be used, and will be automatically substituted upon use.
Argument | Details |
---|---|
\n | Insert a new line |
\f | Insert a formfeed |
{instanceName} | Module instance name |
{controllerNumber} | Controller number associated with the module instance |
{controllerName} | Controller name associated with the module instance |
{patchedCount} | Number of patched fixtures |
{patchedList} | List (Fixture Number) of patched fixtures |
{onlinePatchedCount} | Number of patched, online, fixtures |
{onlinePatchedList} | List (Fixture Number) of patched, online, fixtures (Fixture Number) |
{offlinePatchedCount} | Number of patched, but offline, fixtures |
{offlinePatchedList} | List (Fixture Number) of patched, but offline, fixtures (Fixture Number) |
{unpatchedCount} | Number of discovered, but unpatched, fixures |
{unpatchedList} | List (RDM UID) of discovered, but unpatched, fixures |
Status Variables#
The IO Modules tab of the web interface provides status variables to shows information about the module and monitor its state.
Variable | Details |
---|---|
Universes/Ports | Description of the instance protocol/ and universes/ports. |
Total Discovered Fixtures | Total number of fixtures discovered, along with how many are patched and how many are unpatched. |
Warnings | A description of discovery errors such as fixture patched to the same address and undiscovered patched fixture. |
Online Patched Fixtures | All patched fixtures on the specified universes that have been discovered. |
Missing Fixture Number | All patched fixtures on the specified universes that have previously been discovered but are now missing. |
Discovery Status | A description of the current/last discovery progress eg. waiting to discovery, the current universe, when a discovery is complete or whether it failed. |
Export Data | Details of all fixtures that have ever been discovered, whether patched or not in the Export Data format. |
Triggers#
Discovery Report#
Fires once discovery is complete on all defined Universes, whether successful or not.
The returned variable is depended on the selected Report Message
Export Data: Formatted data for parsing all patched and non-patched fixtures, format type selectable by instance properties.
User message 1-3: Formatted user string, with substituted arguments, message and arguments selectable by instance properties.
# | Type | Details |
---|---|---|
1 | string | Report message |
Patched Fixture Discovered#
Fires when a fixture has been discovered for the first time. A Trigger will be fired for each fixture in the Fixture Number Range.
The Fixture Number Range must be in the comma-dash range format, eg. 0-1, 7, 9, 11-18
or if it left blank, any fixture number will match.
# | Type | Details |
---|---|---|
1 | integer | Fixture number |
2 | integer | DMX Address |
3 | string | RDM UID |
4 | integer | Footprint |
5 | integer | Model ID |
6 | string | Universe description (for reference) |
Patched Fixture Re-Discovered#
Fires when a fixture has been re-discovered (i.e. not on first discovery), a fixture previously discovered was missing in a previous discovery, but was re-discovered in the most recent discovery. A Trigger will be fired for each fixture in the Fixture Number Range that was rediscovered.
The Fixture Number Range must be in the comma-dash range format, eg. 0-1, 7, 9, 11-18
or if it left blank, any fixture number will match.
# | Type | Details |
---|---|---|
1 | integer | Fixture number |
2 | integer | DMX Address |
3 | string | RDM UID |
4 | integer | Footprint |
5 | integer | Model ID |
6 | string | Universe description (for reference) |
Patched Fixture Missing#
Fires when a fixture is deemed missing, i.e. has previously been discovered but was not discovered on the most recent discovery.
A Trigger will be fired for each fixture in the Fixture Number Range.
n.b. Discoveries do not currently persist power cycles
The Fixture Number Range must be in the comma-dash range format, eg. 0-1, 7, 9, 11-18
or if it left blank, any fixture number will match.
# | Type | Details |
---|---|---|
1 | integer | Fixture number |
2 | integer | DMX Address |
3 | string | RDM UID |
4 | integer | Footprint |
5 | integer | Model ID |
6 | string | Universe description (for reference) |
Unpatched Fixture Discovered#
Fires when an unpatched fixture has been discovered, whether previously seen or not.
A Trigger will be fired for each fixture, if the fixture address is within the Start Address Minimum and Start Address Maximum range, and the footprint is between the Footprint Minimum and Footprint Maximum range.
# | Type | Details |
---|---|---|
1 | string | "[unpatched]" (to match order of patched triggers) |
2 | integer | DMX Address |
3 | string | RDM UID |
4 | integer | Footprint |
5 | integer | Model ID |
6 | string | Universe description (for reference) |
Actions#
Discover Fixtures#
Sends an RDM discovery on all defined Universes.
The response from each will fire the respective Triggers.
Once all discovery is complete, whether successful or not, the Discovery Report Trigger will be fired.
Support#
If you encounter any issues with this module, please contact our support team.
Previous Versions#
Version 2.0.1.BETA2#
Remove Start/Stop polling actions. Scheduled polling can be performed by real time triggers.
Working multi-controller discovery.
Clarified “Discovery Finished” Trigger return variables.
Fixed “Patched Fixture Missing” trigger.
Version 2.0.1.BETA1#
Added multi-controller support so individual controllers can do their own discovery and display their own information (as well as firing triggers on the network primary).
Added Controller Number to the instance property.
Added support for multiple protocols per module instance (but limited to a controller).
Removed Protocol and Universe/Ports and replaced with individual protocol fields.
Option in Discovery Finished to filter by
Patched
orUnpatched
fixtures.Added additional Trigger variables for all triggers.
Re-ordered Trigger variables for consistency across Triggers - see below for new additional Trigger variables for all triggers.
sensor_count, current_personality and personality_count now display correct values (in 2.9.BETA4).
Version 2.0.DEBUG5#
Removed redundant status variables.
Added Total Discovered Fixtures status variable, including number of patched and unpatched fixtures.
Renamed Instance Data instance property to Export Data Format.
Added Warnings status variable to display errors such as fixture patched to the same address and undiscovered patched fixture.
Merged Last Discovery Started and Last Discovery Finished status variable to Discovery Status.
More real-time discovery statuses such as the current universe being discovered.
Added Abort Discoveries In Progress option to the Discover Action.
Improved fixture table logging to include fixture name and duplicated patched fixtures.
Updated export data strings to include UID and name.
Updated documentation.
Version 2.0.BETA2#
Added Unpatched Fixture Discovered Trigger.
General fixes.
Updated documentation.
Version 2.0.BETA1#
Added Export Data instance property to display fixture data in description, JSON or Lua format.
Added more detailed device info (MAG-8901).
Added Poll Interval option (requires further work).
Added Start Polling Action.
Added Stop Polling Action.
Added Log Discovered Fixtures option to instance (Extended logging level).
Reworked data structure to use store data using UID (internal).
Added support for duplicate addressed fixtures detection (internal).
Added fixture and universe iterators (internal).
Version 2.0.DEBUG3#
Renamed Fixture Number Range to Monitored Patched Fixtures.
Added Last Discovery Started status variable.
Added Last Discovery Finished status variable.
Added Export Data status variable with description of both patched and unpatched fixtures.
Added Abort All Discovery Action.
Fixed Trigger matching.
Updated documentation.
Version 2.0.DEBUG2#
Added Undiscovered Fixtures status variable.
Reformatted status variables to show ranges of fixtures instead of individual numbers.
Improved Trigger match logging.
Modified DMX and EDN port numbers so the user-facing port is 1-based.
Re-named Triggers.
Version 2.0.DEBUG1#
Added Discovery Finished Trigger.
Added Patched Fixture Discovered Trigger.
Added Patch Fixture Re-Discovered Trigger.
Added Patched Fixture Missing Trigger.
Added Discover Fixtures Action.
Added status variables for Online Fixture Numbers and Offline Fixture Numbers.
Added support for multiple universes.
Added description handlers.
Added error checking for invalid universes in description handlers and log.
Added fixture re-sorting and re-ordering (description handlers and internal).
Added readme.