Muse Automator Module Setup
Table of Contents
How to setup a module in Muse Automator
This is an example Muse Automator flow that shows how to setup and initialize a Duet module and how to verify the module is online and communicating with the device.
In this example, there is a controller in this flow so it would be best to import it into a new project, which will run in simulator mode, and not a project with an existing controller.
Article: Import Flows into Muse Automator
To use this example in simulator mode you will have to upload the Duet module into the Providers section of your controller node and add the device named dvPR0602 into the Device section of your controller node.
[
{
"id": "9a2a9e68f91ea0a7",
"type": "tab",
"label": "pr0602 Module",
"disabled": false,
"info": "",
"env": []
},
{
"id": "088aea96c60457fd",
"type": "group",
"z": "9a2a9e68f91ea0a7",
"name": "Module Status Check",
"style": {
"label": true,
"label-position": "n"
},
"nodes": [
"950f571dcde364bf",
"6c32850d07f3043f",
"59fdeb3a4457cfaa",
"df26a3516131afa1",
"35001f5ab9fe3edb",
"109249221e62208b",
"aff958bca32a4de8"
],
"x": 74,
"y": 339,
"w": 912,
"h": 282
},
{
"id": "fb4a1a6082260cf8",
"type": "group",
"z": "9a2a9e68f91ea0a7",
"name": "Module Online Event",
"style": {
"label": true,
"label-position": "n"
},
"nodes": [
"8739aae39e254eef",
"53eea32a043ac9c2",
"1feb776cbe50d45f",
"491ffab4489ead42",
"c0d6f15cabcd73da",
"68ffd4d5e6039aef",
"aef0934f7e809082",
"4a9cd164bc280d75",
"645507dfbfcdae6f"
],
"x": 74,
"y": 79,
"w": 952,
"h": 202
},
{
"id": "8739aae39e254eef",
"type": "inject",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 180,
"y": 200,
"wires": [
[
"53eea32a043ac9c2"
]
]
},
{
"id": "53eea32a043ac9c2",
"type": "Command",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "uName",
"mojo": {
"device": "dvPR0602",
"command": "//module/setInstanceProperty",
"normalized": false,
"args": {
"value": "admin",
"key": "User_Name"
},
"cmdvalue": "Manual configuration"
},
"x": 350,
"y": 240,
"wires": [
[
"c0d6f15cabcd73da"
]
]
},
{
"id": "1feb776cbe50d45f",
"type": "Command",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "ipCommType - ssh",
"mojo": {
"device": "dvPR0602",
"command": "//module/setInstanceProperty",
"normalized": false,
"args": {
"value": "SSH",
"key": "IP_COMM_TYPE"
},
"cmdvalue": "Manual configuration"
},
"x": 760,
"y": 240,
"wires": [
[
"491ffab4489ead42"
]
]
},
{
"id": "491ffab4489ead42",
"type": "Command",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "Reinit",
"mojo": {
"device": "dvPR0602",
"command": "//module/reinitialize",
"normalized": false,
"cmdvalue": "Manual configuration"
},
"x": 910,
"y": 240,
"wires": [
[]
]
},
{
"id": "950f571dcde364bf",
"type": "Status",
"z": "9a2a9e68f91ea0a7",
"g": "088aea96c60457fd",
"name": "Online",
"mojo": {
"device": "dvPR0602",
"parameter": "//Online"
},
"x": 510,
"y": 500,
"wires": [
[
"35001f5ab9fe3edb"
]
]
},
{
"id": "6c32850d07f3043f",
"type": "Status",
"z": "9a2a9e68f91ea0a7",
"g": "088aea96c60457fd",
"name": "dataInitialized",
"mojo": {
"device": "dvPR0602",
"parameter": "//module/dataInitialized"
},
"x": 510,
"y": 580,
"wires": [
[
"35001f5ab9fe3edb"
]
]
},
{
"id": "59fdeb3a4457cfaa",
"type": "Status",
"z": "9a2a9e68f91ea0a7",
"g": "088aea96c60457fd",
"name": "deviceOnline",
"mojo": {
"device": "dvPR0602",
"parameter": "//module/deviceOnline"
},
"x": 510,
"y": 540,
"wires": [
[
"35001f5ab9fe3edb"
]
]
},
{
"id": "df26a3516131afa1",
"type": "inject",
"z": "9a2a9e68f91ea0a7",
"g": "088aea96c60457fd",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 180,
"y": 540,
"wires": [
[
"950f571dcde364bf",
"59fdeb3a4457cfaa",
"6c32850d07f3043f"
]
]
},
{
"id": "35001f5ab9fe3edb",
"type": "debug",
"z": "9a2a9e68f91ea0a7",
"g": "088aea96c60457fd",
"name": "debug 30",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 880,
"y": 540,
"wires": []
},
{
"id": "c0d6f15cabcd73da",
"type": "Command",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "pWord",
"mojo": {
"device": "dvPR0602",
"command": "//module/setInstanceProperty",
"normalized": false,
"args": {
"value": "admin",
"key": "Password"
},
"cmdvalue": "Manual configuration"
},
"x": 470,
"y": 240,
"wires": [
[
"68ffd4d5e6039aef"
]
]
},
{
"id": "68ffd4d5e6039aef",
"type": "Command",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "ipAddress",
"mojo": {
"device": "dvPR0602",
"command": "//module/setInstanceProperty",
"normalized": false,
"args": {
"value": "10.35.88.121",
"key": "IP_Address"
},
"cmdvalue": "Manual configuration"
},
"x": 600,
"y": 240,
"wires": [
[
"1feb776cbe50d45f"
]
]
},
{
"id": "aef0934f7e809082",
"type": "Event",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "Online Event",
"mojo": {
"device": "dvPR0602",
"event": "//Online",
"eventKind": "Parameter",
"paramType": "Boolean",
"boolParamFilter": "Any"
},
"x": 180,
"y": 240,
"wires": [
[
"53eea32a043ac9c2"
]
]
},
{
"id": "2a9c720558151667",
"type": "Controller",
"z": "9a2a9e68f91ea0a7",
"name": "Controller",
"mojo": {
"controller": "simulator",
"protocol": "http",
"host": "tsmu3300",
"port": 80,
"username": "admin",
"password": "12rms34"
},
"x": 140,
"y": 40,
"wires": []
},
{
"id": "4a9cd164bc280d75",
"type": "comment",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": "This section sets up the module with the required parameters using an Online Event. You can also manually trigger the setup with the Inject Node.",
"info": "",
"x": 570,
"y": 120,
"wires": []
},
{
"id": "645507dfbfcdae6f",
"type": "comment",
"z": "9a2a9e68f91ea0a7",
"g": "fb4a1a6082260cf8",
"name": " (Other modules maybe require different parameters to be configured)",
"info": "",
"x": 560,
"y": 160,
"wires": []
},
{
"id": "109249221e62208b",
"type": "comment",
"z": "9a2a9e68f91ea0a7",
"g": "088aea96c60457fd",
"name": "This section allows you to manually check the module status using the Inject Nodes. ",
"info": "",
"x": 540,
"y": 380,
"wires": []
},
{
"id": "aff958bca32a4de8",
"type": "comment",
"z": "9a2a9e68f91ea0a7",
"g": "088aea96c60457fd",
"name": "For the module to function properly you would want to see online, deviceOnline, and dataInitialized all report as TRUE",
"info": "",
"x": 550,
"y": 420,
"wires": []
}
]
Table of Contents