The "more than one thing" from the other side, too...

I'm actually pretty happy with my current project, except for the daunting task of completing RMS integration. I've got one or two controllers running 20 classrooms (only 6 of which are online so far), and I'm struggling to be able to get stuff like source selection tracking working for each room under those circumstances. Now I've realized that my redundant controller strategy also might create that problem from the other side: I probably can't get RMS to allow me to have two different controllers alternately report on a single room.

Any tips / tricks / suggestions? Anyone ever face or try this before? It seems like an Eric Medley is about the only answer.


  • ericmedleyericmedley Senior Member - 3709 Posts Posts: 4,119
    Bear in mind - in reality there is just "Locations" and "Assets" The only reason that a master shows up as a new location is that the RMS software is set up to automatically make a new location when a previously unknown master reports in and says "hello"

    Once it has done the hello - you are perfectly okay to move that master to an existing "Location" other than the one it currently resides. Similarly, you can manually create your own location and put whatever you want there.

    On a similar note: things like control methods (stuff like "Power On A Room" or "Select Source X"
    ) are again nothing more than commands that get sent back and forth to/from a master. If you watch your vdvRMS device in notfiations, you'll see the control method command come in. You can simply parse for this command and then write code on the master of location X and have it do whatever you want.

    To see the actual commands that are being sent between the RMS server and the SDK look at the tail end of your manual. It's much easier in my mind to just speak directly to RMS than to try to get my head around the SDK and now it does things. It's honestly not as complicated as the SDK seems to make it.

  • viningvining X Member Posts: 4,301
    It seems like an Eric Medley is about the only answer.
    Yeah, if it wasn't for Eric's contribution to this forum there wouldn't be one any more. Ahhh, a once vibrant forum and a once respected brand. :(
  • fogled@mizzou[email protected] h4x354x0r Posts: 510
    I'm pretty sure I have the appropriate data structure and methodology in place to just send commands directly to and from the vdvRMS when appropriate, and skip everything else. At first some success with the SDK materials seemed easy, but after the 3rd or 4th roadblock with those materials, rolling my own looks a lot more attractive. Thanks for the encouragement Eric, I think you've tried to assure me it's not that complicated 3 or 4 times now; I'm finally hearing you. Cheers!
  • Andy ForwardAndy Forward Junior Member Posts: 3
    I may be guilty of skim reading a little bit but it looks as though you've stumbled across the same issue i found recently where the SDK source usage is set up to deal with a single room in a single gateway. There is a workaround. I haven't tested it yet but it's compiled and the logic seems sound to me.

    I've attached an example of the amended source usage file I'm intending on using. In essence create a NX Virtual Dev for each room.

    Aside from that I second what Eric is saying above. RMS Enterprise has allowed that extra layer as it were to enable you to drag and drop assets around regardless of the gateway they are using.
  • ericmedleyericmedley Senior Member - 3709 Posts Posts: 4,119
    Just in case it wasn't said - let me do so now. Whether or not you use the SDK - the method for doing more than one room (location) from a single master (Gateway) is the same basic steps.

    the order of things is:

    a new master comes online for the first time in RMS. It will then ask you to assign that master (gateway) a Location; either currently in the database or a new one.

    Once assigned to a location - all the devices (assets - NXBs/Touch Panels/Axlink stuff/ etc...) will then be automatically assigned to whatever location it's parent Gateway is.

    You then need to manually create new "Locations" in RMS that represent the other rooms you want stuff to live in.

    Then go into the Asset's properties and move it to the new location.
  • RMSDevRMSDev Junior Member Posts: 7
    I'd like to understand why you're creating 'redundant' controllers. Is it really for redundancy, are are you just spreading the load between two controllers? I'd also love to hear more about the use cases y'all are dealing with that involve more than one active source usage device at a time. Are y'all dealing with large locations that have multiple output devices?

    One last little nugget of information - there is a help command in the newer versions of the SDK. Rather than just observing the chatter between your NetLinx program and the RMS Client, you can issue a command like the following to get quick access to the available APIs.

    send_command vdvRMS, '?-<help-search-filter>'
  • fogled@mizzou[email protected] h4x354x0r Posts: 510
    RMSDev wrote: »
    I'd like to understand why you're creating 'redundant' controllers.

    Thanks for the info. Yes, this is a system where a central controller is running 21 rooms, and we're trying to build in some redundancy in the event of a controller failure. The client had asked for it anyway, and I've already had 2 brand new NX-3200 controllers fail in this installation while we were building it.

    Overall I'm pretty happy with the controller redundancy. Both controllers run the exact same code and can handle all 21 rooms. Half the rooms normally run on one controller, the other half on the other. If I need to move a room from one controller to another, all I have to do is change a DNS alias (which controller the panel, SDX, and DX-RX point to), and reboot the panel. NOTE: If AMX equipment honored DNS TTL, I wouldn't even need to reboot the devices, but none of them honor DNS TTL values; they need rebooted or power cycled to refresh DNS cache. So: change DNS, reboot the panel.

    On panel offline, it closes all outbound IP connections (projector, rear display, and audio control). On Panel online event, it opens up all outbound IP connections, and checks to see if the SDX and DX-RX are online. If not, it telnets into them and force reboots them. When a rebooted SDX or DX-RX comes back up, it will get the new DNS and connect to the new controller.

    In practice, the SDX and DX-RX are incredibly inconsistent about the time they take to connect to a controller. It can be anywhere from a few seconds, to a couple of minutes! I'm seriously thinking about just using Telnet connections to control the devices because of the inconsistency of reconnect time. But for now, even with the sketchy device connection times, I can recover from a controller failure and move 10 or 11 rooms to another controller and have the entire system and a dozen rooms up and running again in about 5 minutes. I think that's pretty damned good as far as disaster recovery from a controller failure.
  • fogled@mizzou[email protected] h4x354x0r Posts: 510
    RMSDev wrote: »
    Are y'all dealing with large locations that have multiple output devices?

    YES. Reference the "Pod" and "Flipped" classroom phenomenon. We frequently have rooms with multiple (3-10) displays. We need to track multiple device states, and multiple source selections for each device, in a single room. And yes the other way too, multiple controllers for a single logical system, that controls 21 rooms, all with more than one output device in each room.

    This is not an exception. This is becoming the norm.
  • RMSDevRMSDev Junior Member Posts: 7
    Thanks for the info. You mention moving devices between controllers - have you assigned global keys to your non-AMX devices, or do you have two sets of assets in RMS for the same set of devices?
  • fogled@mizzou[email protected] h4x354x0r Posts: 510
    I haven't done either, yet. That's my struggle, which to do, what works best for this scenario? I'm not entirely sure what you mean by assigning global keys to my non-amx devices in this case.
Sign In or Register to comment.