Using Muse Automator to Build Your Own Debug Connection
Technical Support Guide
Brand:
- AMX
Models:
- MU-1000
- MU-1300
- MU-2300
- MU-3300
Overview:
When working with Muse Automator flows there may be instances in which you need to debug directly from the Muse controller without having Muse Automator connected. In this case you can create a TCP server in Automator that will allow you to connect to the Muse using a Telnet client like Putty. You can then send any debug info that you would normally send to a Debug Node into your TCP Reply Nodes and that info will be forwarded to your TCP connection.
Import the code snippet below into Muse Automator to see the example flow.
[
{
"id": "65e087124d1b39f2",
"type": "tab",
"label": "TCP Debug",
"disabled": false,
"info": "",
"env": []
},
{
"id": "1ff1ea7d00e324b4",
"type": "group",
"z": "65e087124d1b39f2",
"name": "Most Basic Option",
"style": {
"label": true
},
"nodes": [
"1350e2e330c329a3",
"64f824796af0bf42",
"68418e9b2f48ce1d",
"aa96f7341016611d",
"1194531e8126e779",
"123b9024355184e2"
],
"x": 54,
"y": 79,
"w": 872,
"h": 222
},
{
"id": "239cb2f8564723d5",
"type": "group",
"z": "65e087124d1b39f2",
"name": "Option to Filter Debug by Device",
"style": {
"label": true
},
"nodes": [
"52b9d39a944ffb5c",
"361bce62476a903e",
"0eeec96aa3118594",
"9e3253a3238efdb0",
"8d44a11dbeaff09e",
"ebcc386b5ac4b34c",
"8c0109e6eb7eb491",
"3fe62ccaf85fec36",
"f8ed3208247674f4"
],
"x": 54,
"y": 379,
"w": 1312,
"h": 1208
},
{
"id": "ebcc386b5ac4b34c",
"type": "group",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "Repeating messages for example",
"style": {
"label": true
},
"nodes": [
"94cfe3425889dcc2",
"05ac21c365ce66b6",
"267eb0bd03aa9e34",
"00b659dba096ba95",
"c60e59f970719f66",
"ebf6d3611c63ad10",
"76212548532766eb"
],
"x": 94,
"y": 1339,
"w": 692,
"h": 222
},
{
"id": "f8ed3208247674f4",
"type": "group",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "Enable or Disable Debugging on Device 3",
"style": {
"label": true
},
"nodes": [
"bf553e5eb10198df",
"35e8c3883b6c0b58",
"c6f7fd541386dd8a",
"0b1b82c82fa4b1ec"
],
"x": 94,
"y": 739,
"w": 372,
"h": 122
},
{
"id": "8c0109e6eb7eb491",
"type": "group",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "Enable or Disable Debugging on Device 1",
"style": {
"label": true
},
"nodes": [
"461ed9620c484c1a",
"3995c4d779e031a7",
"e1a487e67aa744b9",
"74a99b17aec8dbd1"
],
"x": 94,
"y": 459,
"w": 372,
"h": 122
},
{
"id": "52b9d39a944ffb5c",
"type": "group",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"style": {
"stroke": "#3d3e46",
"stroke-opacity": "1",
"fill": "#21222c",
"fill-opacity": "0.5",
"label": true,
"label-position": "nw",
"color": "#f8f8f2"
},
"nodes": [
"0895570044d904b6",
"abde70ef3d479774",
"5b195b578471345f",
"54094ce781f7727b",
"691ef598f8d73743",
"be6e96ad9d8fc5c2",
"909b8a197a972411",
"8b1127bc672af67c",
"6fcb15317a1c9fa9",
"7422b88f7dba55cb",
"1b1c49da1948ab34",
"4d541b1ea59d4fa9",
"e0889fd990914270",
"991589788fadb923",
"5bb5b20e3f9646d3",
"98e2839e8fce2873",
"6c5400e2c6d0bc66",
"602430241b393f72",
"b50a8b059c8b3e99"
],
"x": 94,
"y": 899,
"w": 932,
"h": 382
},
{
"id": "3fe62ccaf85fec36",
"type": "group",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "Enable or Disable Debugging on Device 2",
"style": {
"label": true
},
"nodes": [
"a8873db7f3f1976c",
"e002d9456e0ccf1d",
"277f14d6a3b45f2f",
"dfda52c1007b3cb1"
],
"x": 94,
"y": 599,
"w": 372,
"h": 122
},
{
"id": "1350e2e330c329a3",
"type": "tcp out",
"z": "65e087124d1b39f2",
"g": "1ff1ea7d00e324b4",
"name": "TCP Reply Port 3335",
"host": "",
"port": "3335",
"beserver": "server",
"base64": false,
"end": false,
"tls": "",
"x": 810,
"y": 200,
"wires": []
},
{
"id": "64f824796af0bf42",
"type": "template",
"z": "65e087124d1b39f2",
"g": "1ff1ea7d00e324b4",
"name": "debugMessages",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "debugMsgPayload: {{payload}}\ndebugMsgTopic: {{topic}}\n",
"x": 560,
"y": 200,
"wires": [
[
"1350e2e330c329a3"
]
]
},
{
"id": "68418e9b2f48ce1d",
"type": "link in",
"z": "65e087124d1b39f2",
"g": "1ff1ea7d00e324b4",
"name": "tcp debug",
"links": [
"aa96f7341016611d",
"7e532be7d7aa7e4c"
],
"x": 275,
"y": 200,
"wires": [
[
"64f824796af0bf42"
]
]
},
{
"id": "aa96f7341016611d",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "1ff1ea7d00e324b4",
"name": "to tcp debug",
"mode": "link",
"links": [
"68418e9b2f48ce1d"
],
"x": 165,
"y": 200,
"wires": []
},
{
"id": "0895570044d904b6",
"type": "switch",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "if debugDV3=True",
"property": "debugDV3",
"propertyType": "global",
"rules": [
{
"t": "true"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 440,
"y": 1180,
"wires": [
[
"98e2839e8fce2873"
]
]
},
{
"id": "abde70ef3d479774",
"type": "tcp out",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "TCP Reply port 3336",
"host": "",
"port": "3336",
"beserver": "server",
"base64": false,
"end": false,
"tls": "",
"x": 910,
"y": 1020,
"wires": []
},
{
"id": "5b195b578471345f",
"type": "template",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "debugAll No Filter",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "debugMsgPayload: {{payload}}\ndebugMsgTopic: {{topic}}\n",
"x": 680,
"y": 940,
"wires": [
[
"abde70ef3d479774"
]
]
},
{
"id": "54094ce781f7727b",
"type": "link in",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "tcp debug",
"links": [
"691ef598f8d73743"
],
"x": 285,
"y": 940,
"wires": [
[
"5b195b578471345f"
]
]
},
{
"id": "691ef598f8d73743",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "to tcp debug",
"mode": "link",
"links": [
"54094ce781f7727b"
],
"x": 205,
"y": 940,
"wires": []
},
{
"id": "bf553e5eb10198df",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "f8ed3208247674f4",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 200,
"y": 820,
"wires": [
[
"35e8c3883b6c0b58"
]
]
},
{
"id": "35e8c3883b6c0b58",
"type": "change",
"z": "65e087124d1b39f2",
"g": "f8ed3208247674f4",
"name": "debugDV3=True",
"rules": [
{
"t": "set",
"p": "debugDV3",
"pt": "global",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 360,
"y": 820,
"wires": [
[]
]
},
{
"id": "c6f7fd541386dd8a",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "f8ed3208247674f4",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 200,
"y": 780,
"wires": [
[
"0b1b82c82fa4b1ec"
]
]
},
{
"id": "0b1b82c82fa4b1ec",
"type": "change",
"z": "65e087124d1b39f2",
"g": "f8ed3208247674f4",
"name": "debugDV3=False",
"rules": [
{
"t": "set",
"p": "debugDV3",
"pt": "global",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 360,
"y": 780,
"wires": [
[]
]
},
{
"id": "be6e96ad9d8fc5c2",
"type": "link in",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "debugDevice3",
"links": [
"909b8a197a972411",
"05ac21c365ce66b6"
],
"x": 285,
"y": 1180,
"wires": [
[
"0895570044d904b6"
]
]
},
{
"id": "909b8a197a972411",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "to debugDevice3",
"mode": "link",
"links": [
"be6e96ad9d8fc5c2"
],
"x": 205,
"y": 1180,
"wires": []
},
{
"id": "8b1127bc672af67c",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "This template will prepend msg.payload with debugXXX.Payload: and msg.topic with debugXXX.Topic",
"info": "",
"x": 430,
"y": 1000,
"wires": []
},
{
"id": "6fcb15317a1c9fa9",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "If you need other object keys you can add those into the template node",
"info": "",
"x": 350,
"y": 1040,
"wires": []
},
{
"id": "7422b88f7dba55cb",
"type": "switch",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "if debugDV1=True",
"property": "debugDV1",
"propertyType": "global",
"rules": [
{
"t": "true"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 440,
"y": 1100,
"wires": [
[
"6c5400e2c6d0bc66"
]
]
},
{
"id": "461ed9620c484c1a",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "8c0109e6eb7eb491",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 200,
"y": 540,
"wires": [
[
"3995c4d779e031a7"
]
]
},
{
"id": "3995c4d779e031a7",
"type": "change",
"z": "65e087124d1b39f2",
"g": "8c0109e6eb7eb491",
"name": "debugDV1=True",
"rules": [
{
"t": "set",
"p": "debugDV1",
"pt": "global",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 360,
"y": 540,
"wires": [
[]
]
},
{
"id": "e1a487e67aa744b9",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "8c0109e6eb7eb491",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 200,
"y": 500,
"wires": [
[
"74a99b17aec8dbd1"
]
]
},
{
"id": "74a99b17aec8dbd1",
"type": "change",
"z": "65e087124d1b39f2",
"g": "8c0109e6eb7eb491",
"name": "debugDV1=False",
"rules": [
{
"t": "set",
"p": "debugDV1",
"pt": "global",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 360,
"y": 500,
"wires": [
[]
]
},
{
"id": "1b1c49da1948ab34",
"type": "link in",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "debugDevice1",
"links": [
"4d541b1ea59d4fa9",
"267eb0bd03aa9e34"
],
"x": 285,
"y": 1100,
"wires": [
[
"7422b88f7dba55cb"
]
]
},
{
"id": "4d541b1ea59d4fa9",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "to debugDevice1",
"mode": "link",
"links": [
"1b1c49da1948ab34"
],
"x": 205,
"y": 1100,
"wires": []
},
{
"id": "e0889fd990914270",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "to debugDevice2",
"mode": "link",
"links": [
"991589788fadb923"
],
"x": 205,
"y": 1140,
"wires": []
},
{
"id": "991589788fadb923",
"type": "link in",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "debugDevice2",
"links": [
"e0889fd990914270",
"00b659dba096ba95"
],
"x": 285,
"y": 1140,
"wires": [
[
"5bb5b20e3f9646d3"
]
]
},
{
"id": "5bb5b20e3f9646d3",
"type": "switch",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "if debugDV2=True",
"property": "debugDV2",
"propertyType": "global",
"rules": [
{
"t": "true"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 440,
"y": 1140,
"wires": [
[
"602430241b393f72"
]
]
},
{
"id": "a8873db7f3f1976c",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "3fe62ccaf85fec36",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 200,
"y": 680,
"wires": [
[
"e002d9456e0ccf1d"
]
]
},
{
"id": "e002d9456e0ccf1d",
"type": "change",
"z": "65e087124d1b39f2",
"g": "3fe62ccaf85fec36",
"name": "debugDV2=True",
"rules": [
{
"t": "set",
"p": "debugDV2",
"pt": "global",
"to": "true",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 360,
"y": 680,
"wires": [
[]
]
},
{
"id": "277f14d6a3b45f2f",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "3fe62ccaf85fec36",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 200,
"y": 640,
"wires": [
[
"dfda52c1007b3cb1"
]
]
},
{
"id": "dfda52c1007b3cb1",
"type": "change",
"z": "65e087124d1b39f2",
"g": "3fe62ccaf85fec36",
"name": "debugDV2=False",
"rules": [
{
"t": "set",
"p": "debugDV2",
"pt": "global",
"to": "false",
"tot": "bool"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 360,
"y": 640,
"wires": [
[]
]
},
{
"id": "361bce62476a903e",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "You can connect to the Muse controller on port 3336 to receive these messages",
"info": "",
"x": 330,
"y": 420,
"wires": []
},
{
"id": "1194531e8126e779",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "1ff1ea7d00e324b4",
"name": "You can connect to the Muse controller on port 3335 to receive these messages",
"info": "",
"x": 330,
"y": 120,
"wires": []
},
{
"id": "0eeec96aa3118594",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "Since the idea behind this debugging is to run on the Muse controller only, the debug variables are set to true on startup.",
"info": "",
"x": 880,
"y": 480,
"wires": []
},
{
"id": "9e3253a3238efdb0",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "Once debugging is complete those variables can be set to false on startup",
"info": "",
"x": 760,
"y": 520,
"wires": []
},
{
"id": "602430241b393f72",
"type": "template",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "debugDV2 Template",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "debugDV2.Payload: {{payload}}\ndebugDV2.Topic: {{topic}}\n",
"x": 670,
"y": 1140,
"wires": [
[
"abde70ef3d479774"
]
]
},
{
"id": "6c5400e2c6d0bc66",
"type": "template",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "debugDV1 Template",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "debugDV1.Payload: {{payload}}\ndebugDV1.Topic: {{topic}}\n",
"x": 670,
"y": 1100,
"wires": [
[
"abde70ef3d479774"
]
]
},
{
"id": "98e2839e8fce2873",
"type": "template",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "debugDV3 Template",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "debugDV3.Payload: {{payload}}\ndebugDV3.Topic: {{topic}}\n",
"x": 670,
"y": 1180,
"wires": [
[
"abde70ef3d479774"
]
]
},
{
"id": "123b9024355184e2",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "1ff1ea7d00e324b4",
"name": "Copy/Paste and Connect this link out node anywhere you would like to receive debug messages",
"info": "",
"x": 380,
"y": 260,
"wires": []
},
{
"id": "b50a8b059c8b3e99",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "52b9d39a944ffb5c",
"name": "Copy/Paste and Connect the above link out nodes anywhere you would like to receive debug messages",
"info": "",
"x": 440,
"y": 1240,
"wires": []
},
{
"id": "8d44a11dbeaff09e",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "239cb2f8564723d5",
"name": "You can also enable and disable the debug variable on any combination of devices to only receive debug messages from specific devices",
"info": "",
"x": 930,
"y": 560,
"wires": []
},
{
"id": "94cfe3425889dcc2",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "ebcc386b5ac4b34c",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "5",
"crontab": "",
"once": true,
"onceDelay": "1",
"topic": "to device1",
"payload": "helloWorld",
"payloadType": "str",
"x": 240,
"y": 1440,
"wires": [
[
"267eb0bd03aa9e34"
]
]
},
{
"id": "05ac21c365ce66b6",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "ebcc386b5ac4b34c",
"name": "to debugDevice3",
"mode": "link",
"links": [
"be6e96ad9d8fc5c2"
],
"x": 395,
"y": 1520,
"wires": []
},
{
"id": "267eb0bd03aa9e34",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "ebcc386b5ac4b34c",
"name": "to debugDevice1",
"mode": "link",
"links": [
"1b1c49da1948ab34"
],
"x": 395,
"y": 1440,
"wires": []
},
{
"id": "00b659dba096ba95",
"type": "link out",
"z": "65e087124d1b39f2",
"g": "ebcc386b5ac4b34c",
"name": "to debugDevice2",
"mode": "link",
"links": [
"991589788fadb923"
],
"x": 395,
"y": 1480,
"wires": []
},
{
"id": "c60e59f970719f66",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "ebcc386b5ac4b34c",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "5",
"crontab": "",
"once": true,
"onceDelay": "2",
"topic": "to device2",
"payload": "helloWorld",
"payloadType": "str",
"x": 240,
"y": 1480,
"wires": [
[
"00b659dba096ba95"
]
]
},
{
"id": "ebf6d3611c63ad10",
"type": "inject",
"z": "65e087124d1b39f2",
"g": "ebcc386b5ac4b34c",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "5",
"crontab": "",
"once": true,
"onceDelay": "3",
"topic": "to device3",
"payload": "helloWorld",
"payloadType": "str",
"x": 240,
"y": 1520,
"wires": [
[
"05ac21c365ce66b6"
]
]
},
{
"id": "76212548532766eb",
"type": "comment",
"z": "65e087124d1b39f2",
"g": "ebcc386b5ac4b34c",
"name": "When connected to port 3336 on your Muse you should see these messages repeating every 5 seconds. ",
"info": "",
"x": 440,
"y": 1380,
"wires": []
}
]