bitfocus / companion-module-requests

Repository for tracking module requests
98 stars 10 forks source link

Request for Musco Lighting Control Module #1525

Open RobarePruyn opened 3 months ago

RobarePruyn commented 3 months ago

Musco is a provider of professional Sports and Effects lighting for large public venues.

Their system is typically controllable by sending ASCII strings matching preset names via UDP to a SonicWall appliance that nats and forwards to the Musco system.

I have tested the generic TCP/UDP module but have no yet managed to get this functional. Would love to see a full module built and would be happy to support/aid development.

MeestorX commented 3 months ago

Please post the protocol docs here. If you do not have them, please contact the manufacturer.

RobarePruyn commented 3 months ago

This is all that Musco actually provides (they are accustomed to interfacing with Ross) and the documentation is extremely limited. Ross Integration.pdf

MeestorX commented 3 months ago

This is all that Musco actually provides (they are accustomed to interfacing with Ross) and the documentation is extremely limited. Ross Integration.pdf

From that doc: "A Guide will be provided that shows you which numbers correlate to which buttons on the touch screen"

Honestly, though, you're not likely to have anyone jump on this unless they can have the device in their hands for a significant period of time, AND get the support of the manufacturer to supply all the protocol docs, and ideally, actual support from them.

RobarePruyn commented 2 months ago

So let me run through how I have this working today in Companion without a dedicated module:

Generic TCP/UDP Module Musco provides a Sonicwall appliance between their internally managed equipment and their controller. Control messages are sent as UDP to the Sonicwall appliance IP at port 6000 Messages are sent raw ASCII with no end Command End character.

Musco provides the list of preset commands (although they have a history of providing them with caps errors)

In the implementation I just worked through, the message was in the following format: Cue 0001 Go

Case sensitivity was the biggest problem - the command string was provided to the end customer with CUE in all caps which was not correct.

So long and short - it would be good to have a named module that spells some of this out. To be frank, I want to get into building modules and supporting this community in the long term but would need a starting point.