Muse Automator Bar Graph Examples
Technical Support Guide
Brand:
- AMX
Models:
- Muse Automator
Overview:
The example flow below contains 3 options for controlling volume on an HControl device and getting feedback to a bar graph on a touch panel.
Option 1:
This uses a display only bar graph to display level feedback and separate volume up and down buttons to control the volume.
Option 2:
This uses an active bar graph that sends level events to the device that is being controlled as the bar graph is ramped up or down on the touch panel. There is an optional filter node that will allow you to filter out some of the level events if needed. This example also uses a variable to track if the bar graph is actively being pressed and it will only send feedback to the touch panel if it is not being pressed at the time.
Option 3:
This uses an active bar graph but only sends the level event to the device that is being controlled when the bar graph is released.
[
{
"id": "5984f1bdb28f9656",
"type": "tab",
"label": "Bar Graph Controls",
"disabled": false,
"info": "",
"env": []
},
{
"id": "9eb6042597aa2ff3",
"type": "group",
"z": "5984f1bdb28f9656",
"name": "Active Bargraph",
"style": {
"label": true
},
"nodes": [
"5fa32d6ed68e4b99",
"b58fd77bb5f66c70",
"b86781131ae117ef",
"d0f8f3a4e6361f0e",
"801859c67c899447",
"205e4552ebb0ac2a",
"e190ec09086986ef",
"cef1487a02988818",
"984d8f1efd5b8e21"
],
"x": 54,
"y": 639,
"w": 952,
"h": 282
},
{
"id": "b6368d157a2e5110",
"type": "group",
"z": "5984f1bdb28f9656",
"name": "On Release Bargraph",
"style": {
"label": true
},
"nodes": [
"7fb8622dc8c0349c",
"7db4272097ed1a49",
"e37b0a8569d259e3",
"7ad2cedc3628c8b9",
"2f7a19288b2af955",
"d214e0307955d954",
"7125bd62540664b9"
],
"x": 54,
"y": 1019,
"w": 972,
"h": 202
},
{
"id": "55368d9badc81afb",
"type": "group",
"z": "5984f1bdb28f9656",
"name": "Vol +/- Buttons with Display Only Bar Graph",
"style": {
"label": true
},
"nodes": [
"bb3ee2d381c7f6f9",
"a0b4b8abe9ed63f9"
],
"x": 48,
"y": 93,
"w": 984,
"h": 474
},
{
"id": "bb3ee2d381c7f6f9",
"type": "group",
"z": "5984f1bdb28f9656",
"g": "55368d9badc81afb",
"name": "+/- buttons",
"style": {
"label": true
},
"nodes": [
"49addb399463c1bd",
"ed1b2708d9f79b1b",
"6bf159b354c7c560",
"fdb8b822ef2a177c",
"aa177150002824da",
"e0c95c72dd762587",
"5ce8e1f87019f97d",
"f913d2b2c94c6323",
"094983ef0bbacfef",
"5de399867e29d07c",
"715a7c9c07307f99"
],
"x": 74,
"y": 119,
"w": 912,
"h": 242
},
{
"id": "a0b4b8abe9ed63f9",
"type": "group",
"z": "5984f1bdb28f9656",
"g": "55368d9badc81afb",
"name": "Display Only Bargraph Feedback",
"style": {
"label": true
},
"nodes": [
"9b2266f0f38f71b8",
"bc7be4fcf0784a49",
"138ff03f72b39ee6",
"e6aa43862ba4330c"
],
"x": 74,
"y": 419,
"w": 932,
"h": 122
},
{
"id": "5fa32d6ed68e4b99",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "Active Bar Graph lvl Event",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "LEVEL",
"path": "//1/1",
"locator": {
"ccode": 1,
"cport": 1,
"lcode": 1,
"lport": 1
}
},
"x": 180,
"y": 760,
"wires": [
[
"b58fd77bb5f66c70"
]
]
},
{
"id": "b58fd77bb5f66c70",
"type": "Command",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "4321 mainVol",
"mojo": {
"device": "tsN4321D",
"command": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false,
"cmdvalue": "Message payload"
},
"x": 910,
"y": 760,
"wires": [
[]
]
},
{
"id": "b86781131ae117ef",
"type": "rbe",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "Optional filter if you want to limit the amount of volume steps sent",
"func": "deadbandEq",
"gap": "5",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 540,
"y": 740,
"wires": [
[]
]
},
{
"id": "49addb399463c1bd",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "+ pushed",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "BUTTON",
"path": "//1/4",
"locator": {
"ccode": 11,
"cport": 1
},
"buttonType": "MOMENTARY",
"trigger": "PUSH",
"state": "NONE"
},
"x": 160,
"y": 160,
"wires": [
[
"e0c95c72dd762587"
]
]
},
{
"id": "ed1b2708d9f79b1b",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "- pushed",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "BUTTON",
"path": "//1/5",
"locator": {
"ccode": 12,
"cport": 1
},
"buttonType": "MOMENTARY",
"trigger": "PUSH",
"state": "NONE"
},
"x": 150,
"y": 280,
"wires": [
[
"094983ef0bbacfef"
]
]
},
{
"id": "6bf159b354c7c560",
"type": "Command",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "4321 Main Vol",
"mojo": {
"device": "tsN4321D",
"command": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false,
"cmdvalue": "Message payload"
},
"x": 890,
"y": 240,
"wires": [
[]
]
},
{
"id": "fdb8b822ef2a177c",
"type": "Status",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "volStatus",
"mojo": {
"device": "tsN4321D",
"parameter": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false
},
"x": 540,
"y": 180,
"wires": [
[
"aa177150002824da"
]
]
},
{
"id": "aa177150002824da",
"type": "function",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "payload+2",
"func": "msg.payload = msg.payload+2\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 700,
"y": 180,
"wires": [
[
"6bf159b354c7c560"
]
]
},
{
"id": "bc7be4fcf0784a49",
"type": "Event",
"z": "5984f1bdb28f9656",
"g": "a0b4b8abe9ed63f9",
"name": "lineOutVol Event",
"mojo": {
"device": "tsN4321D",
"event": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false,
"eventKind": "Parameter",
"paramType": "Integer",
"normalized": false
},
"x": 170,
"y": 500,
"wires": [
[
"9b2266f0f38f71b8",
"138ff03f72b39ee6"
]
]
},
{
"id": "9b2266f0f38f71b8",
"type": "Command",
"z": "5984f1bdb28f9656",
"g": "a0b4b8abe9ed63f9",
"name": "lvl to Display Only Bar Graph",
"mojo": {
"device": "AMX-10150",
"command": "//port/1/level/3",
"onebased": true,
"args": "",
"cmdvalue": "Message payload"
},
"x": 410,
"y": 500,
"wires": [
[]
]
},
{
"id": "e0c95c72dd762587",
"type": "trigger",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "",
"op1": "1",
"op2": "0",
"op1type": "str",
"op2type": "str",
"duration": "-500",
"extend": false,
"overrideDelay": false,
"units": "ms",
"reset": "false",
"bytopic": "all",
"topic": "topic",
"outputs": 1,
"x": 350,
"y": 180,
"wires": [
[
"fdb8b822ef2a177c"
]
]
},
{
"id": "5ce8e1f87019f97d",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "+ release",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "BUTTON",
"path": "//1/4",
"locator": {
"ccode": 11,
"cport": 1
},
"buttonType": "MOMENTARY",
"trigger": "RELEASE",
"state": "NONE"
},
"x": 160,
"y": 200,
"wires": [
[
"e0c95c72dd762587"
]
]
},
{
"id": "f913d2b2c94c6323",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "- release",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "BUTTON",
"path": "//1/5",
"locator": {
"ccode": 12,
"cport": 1
},
"buttonType": "MOMENTARY",
"trigger": "RELEASE",
"state": "NONE"
},
"x": 150,
"y": 320,
"wires": [
[
"094983ef0bbacfef"
]
]
},
{
"id": "094983ef0bbacfef",
"type": "trigger",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "",
"op1": "1",
"op2": "0",
"op1type": "str",
"op2type": "str",
"duration": "-500",
"extend": false,
"overrideDelay": false,
"units": "ms",
"reset": "false",
"bytopic": "all",
"topic": "topic",
"outputs": 1,
"x": 350,
"y": 300,
"wires": [
[
"5de399867e29d07c"
]
]
},
{
"id": "5de399867e29d07c",
"type": "Status",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "volStatus",
"mojo": {
"device": "tsN4321D",
"parameter": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false
},
"x": 540,
"y": 300,
"wires": [
[
"715a7c9c07307f99"
]
]
},
{
"id": "715a7c9c07307f99",
"type": "function",
"z": "5984f1bdb28f9656",
"g": "bb3ee2d381c7f6f9",
"name": "payload-2",
"func": "msg.payload = msg.payload-2\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 700,
"y": 300,
"wires": [
[
"6bf159b354c7c560"
]
]
},
{
"id": "138ff03f72b39ee6",
"type": "function",
"z": "5984f1bdb28f9656",
"g": "a0b4b8abe9ed63f9",
"name": "^TXT to update Bar Graph",
"func": "msg.payload = \"^TXT-1,1&2,\"+msg.payload\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 410,
"y": 460,
"wires": [
[
"e6aa43862ba4330c"
]
]
},
{
"id": "e6aa43862ba4330c",
"type": "Command",
"z": "5984f1bdb28f9656",
"g": "a0b4b8abe9ed63f9",
"name": "send_command to 10150",
"mojo": {
"device": "AMX-10150",
"command": "//port/1/send_command",
"onebased": true,
"cmdvalue": "Message payload"
},
"x": 880,
"y": 460,
"wires": [
[]
]
},
{
"id": "7fb8622dc8c0349c",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "b6368d157a2e5110",
"name": "onRelease Bar Graph lvl Event",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "LEVEL",
"path": "//1/11",
"locator": {
"acode": 1,
"aport": 1,
"ccode": 5,
"cport": 1,
"lcode": 5,
"lport": 1
}
},
"x": 190,
"y": 1060,
"wires": [
[
"7db4272097ed1a49"
]
]
},
{
"id": "7db4272097ed1a49",
"type": "change",
"z": "5984f1bdb28f9656",
"g": "b6368d157a2e5110",
"name": "",
"rules": [
{
"t": "set",
"p": "vol",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 390,
"y": 1060,
"wires": [
[]
]
},
{
"id": "e37b0a8569d259e3",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "b6368d157a2e5110",
"name": "onRelease Button Event",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "BUTTON",
"path": "//1/11",
"locator": {
"acode": 1,
"aport": 1,
"ccode": 5,
"cport": 1,
"lcode": 5,
"lport": 1
},
"buttonType": "MOMENTARY",
"trigger": "RELEASE",
"state": "NONE"
},
"x": 180,
"y": 1100,
"wires": [
[
"2f7a19288b2af955"
]
]
},
{
"id": "7ad2cedc3628c8b9",
"type": "Command",
"z": "5984f1bdb28f9656",
"g": "b6368d157a2e5110",
"name": "4321 mainVol",
"mojo": {
"device": "tsN4321D",
"command": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false,
"cmdvalue": "Message payload"
},
"x": 930,
"y": 1100,
"wires": [
[]
]
},
{
"id": "2f7a19288b2af955",
"type": "change",
"z": "5984f1bdb28f9656",
"g": "b6368d157a2e5110",
"name": "payload = flow.vol",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "vol",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 400,
"y": 1100,
"wires": [
[
"7ad2cedc3628c8b9"
]
]
},
{
"id": "d0f8f3a4e6361f0e",
"type": "Event",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "lineOutVol Event",
"mojo": {
"device": "tsN4321D",
"event": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false,
"eventKind": "Parameter",
"paramType": "Integer",
"normalized": false
},
"x": 150,
"y": 880,
"wires": [
[
"205e4552ebb0ac2a"
]
]
},
{
"id": "801859c67c899447",
"type": "Command",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "lvl to Active Bar Graph",
"mojo": {
"device": "AMX-10150",
"command": "//port/1/level/1",
"onebased": true,
"cmdvalue": "Message payload"
},
"x": 880,
"y": 880,
"wires": [
[]
]
},
{
"id": "205e4552ebb0ac2a",
"type": "switch",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "check flow.activeBgState to see if BG is being pressed",
"property": "activeBgState",
"propertyType": "flow",
"rules": [
{
"t": "false"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 500,
"y": 880,
"wires": [
[
"801859c67c899447"
]
]
},
{
"id": "e190ec09086986ef",
"type": "UI Control",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "Active BG Press",
"mojo": {
"cp": "80ed9236e284148e",
"panel_group": "",
"type": "BUTTON",
"path": "//1/1",
"locator": {
"ccode": 1,
"cport": 1,
"lcode": 1,
"lport": 1
},
"buttonType": "MOMENTARY",
"trigger": "ANY",
"state": "NONE"
},
"x": 150,
"y": 800,
"wires": [
[
"cef1487a02988818"
]
]
},
{
"id": "cef1487a02988818",
"type": "change",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "",
"rules": [
{
"t": "set",
"p": "activeBgState",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 420,
"y": 800,
"wires": [
[]
]
},
{
"id": "984d8f1efd5b8e21",
"type": "comment",
"z": "5984f1bdb28f9656",
"g": "9eb6042597aa2ff3",
"name": "This will only send updates to the bar graph if the bar graph is not actively being pressed on the TP. ",
"info": "",
"x": 510,
"y": 680,
"wires": []
},
{
"id": "d214e0307955d954",
"type": "Event",
"z": "5984f1bdb28f9656",
"g": "b6368d157a2e5110",
"name": "lineOutVol Event",
"mojo": {
"device": "tsN4321D",
"event": "//audioTrans/audioMatrix/mainAudio/MainVol",
"onebased": false,
"eventKind": "Parameter",
"paramType": "Integer",
"normalized": false
},
"x": 150,
"y": 1180,
"wires": [
[
"7125bd62540664b9"
]
]
},
{
"id": "7125bd62540664b9",
"type": "Command",
"z": "5984f1bdb28f9656",
"g": "b6368d157a2e5110",
"name": "lvl to onRelease Bar Graph",
"mojo": {
"device": "AMX-10150",
"command": "//port/1/level/5",
"onebased": true,
"cmdvalue": "Message payload"
},
"x": 890,
"y": 1180,
"wires": [
[]
]
}
]