OK, I think that's precisely the step I'm struggling with - parsing the correct information...
Announcement
Collapse
No announcement yet.
RS232 or IP control of Martin Logan MDA-16 Zoned Amp
Collapse
X
-
1. Proposed solution was for the case of 8 zones input as it was presented originally.
Try this as name expression for more flexibility. Remember to use straight quotes " " ONLY.
Substring((Split(input, ";")[0]),0,5)&& Substring((Split(input, ";")[1]),0,5)&& ... Substring((Split(input, ";")[7]),0,5)
This would change only the respective zone in the case of single zone action and response.
Furthermore, it will manage other actions such as VOL for example if the responses are uniform.
For Example if you receive a response
Z4VOL15
than Big5 will create HS3 device
Z4VOL = 15
However if the responses are not uniform than you have to create different TCP for different actions.
2. Examples
If a response arrives for a single zone (zone4 in the example below) like this
Z4POW1
than what happens is
BEFORE
Z1POW = 1 (because the names were fixed and the value of the first (and only ) input goes to Name #1 which is Z1POW)
NOW with the new name expression
Z4POW = 1 (because the name is not fixed but retrieved from the input )
3. Avoid disappointments and red ink. Always test your expressions before deploying
GoTo HS3-->Plugins-->Big5-->Documentation Scroll down to the sandbox
Example:
Input box - Z4POW1
Expression box (always wrap your expression in ${....} wrapper) - ${Substring((Split(input, ";")[0]),0,5)}
Result - Z4POW
Comment
-
Originally posted by Stevemeck View PostThats great and I'm very keen to become self sufficient with this, however coming from zero working knowledge I don't know how to test scenarios in the sandbox. I tried last night at length. Could you please show me a specific example of how I would sandbox the power commands, for example?
Z1POW0;Z2POW0;Z3POW0;Z4POW0;Z5POW0;Z6POW0;Z7POW0;Z8POW0; (Put this in the variable input of the sanbox)
In the expression box you can use: ${ Substring(input, 5, 1) } ${ Substring(input, 12, 1) }
This will result in 0 0
You can also use the more sophisticated commands to do it smarter. But I suggest to go the easy way and optimize when it is working.
---
John
Comment
Comment