Common Output Module Options

While each Output Module has it's own distinct set of options, there are a few that are common to all modules.

These are usually used to allow you to filter your data or only output specific kinds of information, giving you control over exactly what is recorded.

Filtering

The filter option allows you to enter a regular expression that is used to filter the name of the output point.

For example, if you have the following outputs…

Output Name
Machine.Input.Speed
Machine.Input.Temperature
Machine.Output.Vibration

…you can choose to only transmit the output values using the regular expression

.*?\.Output\.*?

Tags

The source of the output may also optionally include certain tags. For example, ModelHost will include the input tag when transmitting a new input value, and the output tag when transmitting an output value.

You can control which tags are accepted or rejected using the allow and deny parameters.

Point NameTags
Machine SpeedInput Decimal
Machine TemperatureInput Decimal
Machine VibrationOutput Decimal
Machine StatusOutput Text

In the above example, you could do the following…

"deny": "text"

This would prevent any text values from being recorded.

"allow": "output"

This would only send output data to the output module

"allow": "output decimal"

This would only allow output data that is also decimal data.

Timezone and Date Formats

Most event-based output methods have options to correct the UTC dates and time according to a specific time-zone, and to modify the formatting of your dates.

"timezone": "Australia/Sydney",
"dateformat": "%Y-%m-%d %H:%M:%S"

This would ensure that all dates and times are in Y-M-D h:m:s format, and that the times are in the correct timezone for Sydney, Australia

Shared Configuration Files

The modular output system can use a single configuration file for different types of output. For instance, the output modules for key-value data are quite different for those for event data.

You can use the type parameter to choose which type of output the module applies to. A type of value is for key-value data, and a type of event is for event-based data.

[
	{
		"type": "value",
		"method": "prometheus",
		"port": 9306
	},
	{
		"type": "event",
		"method": "logfile",
		"filename": "spikes.log"
	}
]

In the above configuration, events are recorded to a log file while live values are available to Prometheus.