1

Topic: Third Party (Crestron/AMX) Control Updates.

Here is a unique way for Crestron/AMX/(Insert your favorite controller here) to update many controls quickly and easily.

Start by bringing the controls that you would like to be updated together in a block, or to a separate page, and place these to the left.  To keep this simple, limit this to just ten controls for now.  Add a Master Wire Node in Control Properties to these controls.

Now bring in a Generic Control with “String† as the type of control (since this is a string, values don’t matter).  Copy out the Generic String control as far to the right as you can.  Open the String’s Device properties and add a Slave wire node and a Control Alias.

Now, for the middle part, bring in a “String Multiplexer† (found towards the bottom of the Control Folder) with 10 as the Input count.  Wire the left side of the String MUX to the actual controls, and the right side to the Generic String control.

Now Emulate (don’t forget to bring in a NioNode), and see the magic.

If everything has been done correctly, the values of the connected Controls will be outputted to the String Control in the order the controls are connected to the Multiplexer.  You can go to the Device Properties of the String and change the font size and the control size so the string can be more easily read.

Now, when the Crestron does a Page Turn on the TouchPanel, during the actual page turn, it can do a ControlGet of the Generic Control’s Alias, parse, and fill in the blanks of the TouchPanel before the page turn is done.  With this process, and how fast it works, it is much easier for Nion and Controller to remain in sync.

This could also be used to eliminate the need for RATC2 ChangeGroupSchedule command.  Because AMX/Crestron can poll (do a ControlGet) a single Control Alias, parse and fill in the blank with the response far better than they can receive an “uncalled† packet and figure out what next to do, the chances of overwhelming the AMX/Crestron’s buffers would be far less.

Creating a balance of “how many controls to a single string/how often can the AMX or Crestron poll/how many Telnet sessions are required† will need to be done to make sure the AMX/Crestron doesn’t get overwhelmed.  If you should think the Nion is becoming overworked, you can look at the new System Status page (introduced with release 1.2.6) to monitor the CPU load.  More than likely, it will be the third party controller that is giving up.

Here is another tidbit, the Multiplexer/De-multiplexer were created to increase the amount of controls the Project Linkers can share.  You can only link a total of 256 controls between two projects.  But if you use a Multiplexer to MUX many controls to a single “Read or Peer† node, and then connect a De-Multiplexer to the “Write or Peer† node at the other end, you can then link far more controls.  You could (at least theoretically) connect 64 controls to 256 MUX units that are connected to the Project Linkers.  But sharing 16,384 controls between Projects is pretty excessive.  I would NEVER expect that to work.

Make it intuitive, never leave them guessing.

2

Re: Third Party (Crestron/AMX) Control Updates.

What System Status Page?

3

Re: Third Party (Crestron/AMX) Control Updates.

Great idea this works well ...... so those string multiplexers did do something after all!

Also it would be useful for all the same reasons to do the same in reverse, ie set multiple controls from AMX to RATC using a string demultiplexer.


However I can not find the correct syntax that lets me set a string such as  "true""true""true""true" using the RATC2 controlSet command,

controlSet testinput "true""true""true""true" gives me a bad argument count,

controlSet testinput ""true""true""true""true"" actually sends  true""true""true""true""

.......how can I embed the "" characters in a string using RATC2.

The alternative is I suppose just to use a script and choose a different delimiter such as a comma, but it seems a shame when the solution is so close.

4

Re: Third Party (Crestron/AMX) Control Updates.

The System Status Page is part of the front panel display.

The only true wisdom is in knowing you know nothing. -Socrates