Template Guide

I am looking for either a good training video or guides for building templates in cnMaestro. Any one have any links to share?

Thanks,

Ben

Hi Ben,

The "Configuration: Fixed Wireless" section in the manual goes over Configuration template creation and usage in detail.

https://cnmaestro-help.cloud.cambiumnetworks.com/1.6.2/index.htm#UG_files/Configuration%20Update/Configuration.htm%3FTocPath%3D_____11

The Knowledge Base article below also goes over the process for building configuration templates in cnMaestro.  The article focuses on AP Group (Profile) configuration for cnPilot devices but the basics are the same for Templates.  The main difference is that you'll be using the template text in the Template creation view rather then the User-defined Variables view of AP Groups.  So use it as a general example and not a 1-to-1 set of instructrions.

http://community.cambiumnetworks.com/t5/cnMaestro/Unique-per-device-values-in-Profiles-using-User-defined/m-p/63560#M45

The main points of interest are:


[...] they support replacement variable in the format of ${VARIABLE_NAME} or ${VARIABLE_NAME=Optional default value}.  Not providing a default value will force you to set a value per device before pushing the [configuration template]
[...]

The process for creating your own configuration template for use as [a configuration Template] is:

  1. On a test device configure the parameters you are interested in overriding with values that will be easy to search for. This can be done either directly on the device web UI or via a cnMaestro Profile.
  2. Export the device configuration. Via cnMaestro this is done by navigating to Configure -> Devices, selecting the device in the left-hand tree and then clicking the View Device Configuration link. This can also be done via the device web GUI, typically in the Administration or Operations section where there will be an Export button for configuration.
  3. View the configuration file in a text editor like Notepad++ and search for the values you entered in step 1. You can also search for the parameter name to try to find the correct lines.
  4. Copy and paste the relevant lines [sections] into a new file.
  5. [Optional] Replace the values with replacement variable text. This will allow you to set the value per device.

Once you have this partial template it can be copied into the [Template creation view] and saved.  Before pushing a [template] to a device you will need to enter unique values for the replacement variables unless a default value is defined.  This can be done by clicking the gear icon in the higher level table views or by navigating directly the device in the left-hand tree.  A [template] must be selected before the User-Defined Overrides section will appear at the bottom.




I also highly recommend that you check your template against https://jsonlint.com/ to validate that the basic format is correct.  The article also has a couple screenshots detailing how device-specific values are set using a single template.

These videos may also be useful:

1 Like

Great information. Thanks Jordan!

Ben

1 Like

Using the guides I have now been able to change many settings including speeds. What I am struglling on right now is difserv. I must be missing something? The below example is to change code point 6 to priorty 7. For some reason it pushes it and says complete but nothing happens. Any thoughts?

{
"userParameters": {
"diffServ": {
"6": 7
}
},
"cfgFileString": "Canopy configuration file",
"cfgFileVersion": "1.0"
}

1 Like

Try this:

{
	"userParameters": {
		"networkConfig": {
			"diffServ": {
				"6": 7
			}
		}
	},
	"cfgFileString": "Canopy configuration file",
	"cfgFileVersion": "1.0"
}

It looks like diffServe needs to be nested inside of networkConfig. 

I found that linting the exported configuration file from a device while debugging this made it a little bit easier to visually process the structure with the more pronouced tab indenting.  However, you may not want to be pasting a full configuration file into a web form depending on how sensitive the information is.

1 Like

This worked perfect. At one point I actually had the networkconfig statment but I must have had something else wrong. Thanks much for all your help!

Ben

2 Likes

Glad you got it working!  For future reference, which of the resource types did you find most useful for setting up templates for all the different settings you've begun to configure?  i.e. Official manual, video guides, Knowledge Base article.

The three videos were good. I found that exporting a config file and using it as a base works well. I didnt really understand JSON but your link to https://jsonlint.com did help with that.

Thanks again.

1 Like