Anytime Help Center

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Support
  • Guest
  • Log In
English (US)
US English (US)
DE German
CN Chinese
MX Spanish (Mexico)
Chinese (Simplified)
  • AKG
    Microphones Wireless Integrated Systems Automatic Mixers Headphones Discontinued Products (AKG) General AKG Inquiries Certifications (AKG)
  • AMX
    Networked A/V Distribution (AVoIP) Traditional A/V Distribution Video Signal Processing Architectural Connectivity User Interfaces Control Processing Power (AMX) Programming (AMX) Software (AMX) Discontinued Products (AMX) General AMX Inquiries Certifications (AMX)
  • BSS
    Soundweb™ Omni Soundweb™ London Soundweb™ Contrio™ Software (BSS) Discontinued Products (BSS) General BSS Inquiries Certifications (BSS)
  • Crown
    CDi DriveCore Series CDi Series Commercial Series ComTech Series DCi DriveCore Series I-Tech HD Series XLC series XLi Series XLS DriveCore 2 Series XTi 2 Series Discontinued Products (Crown) Software (Crown) General Crown Inquiries Certifications (Crown)
  • dbx
    CX Series 500 Series DriveRack Personal Monitor Control ZonePRO Zone Controllers FeedBack Suppression Microphone Preamps Dynamics Processors Crossovers Equalizers Software (dbx) Discontinued Products (dbx) General dbx Inquiries Certifications (dbx)
  • Flux::
    Immersive Processing Analysis Subscriptions General FLUX: Inquiries
  • JBL
    Cinema Sound Installed Live Portable Tour Sound Recording & Broadcast Software (JBL) Discontinued Products (JBL) Video Manual Series (JBL) General JBL Inquiries Certifications (JBL)
  • Lexicon
    Plugins Effects Processors Cinema Discontinued Products (Lexicon) Video Manual Series (Lexicon) General Lexicon Inquiries Certifications (Lexicon)
  • Martin
    Atomic ELP ERA Exterior MAC P3 VC VDO Tools Discontinued Products (Martin) General Martin Inquiries Certifications (Martin)
  • Soundcraft
    Digital Analog Connected Analog Only Discontinued Products (Soundcraft) Video Manual Series (Soundcraft) General Soundcraft Inquiries Certifications (Soundcraft)
  • General HARMAN Inquiries
    Dante
+ More
  • Home
  • AMX
  • Software (AMX)
  • MUSE Automator & Extension for VS Code

Muse Automator Bar Graph Examples

Technical Support Guide

Written by Will Fraser

Updated at February 19th, 2026

Table of Contents

Brand: Models: Overview: ​Option 1: Option 2: Option 3:

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": [
            []
        ]
    }
]

Related Videos

framework blueprint

Was this article helpful?

Yes
No
Give feedback about this article

Table of Contents

Brand: Models: Overview: ​Option 1: Option 2: Option 3:

Related Articles

  • Visual Studio Code Notifications
  • Enable Automator (Node-RED) in MUSE
  • Hex String to IP device in Muse Automator
  • Muse Automator Toggle Example
  • Muse Automator: send strings to TCP device example

Related Articles

  • Visual Studio Code Notifications
  • Enable Automator (Node-RED) in MUSE
  • Hex String to IP device in Muse Automator
  • Muse Automator Toggle Example
  • Muse Automator: send strings to TCP device example
Copyright © HARMAN Professional. All rights reserved. Privacy Policy | Terms of Use
Expand