Skip to main content
The configuration file is essential for the proper functioning of the controller, as it includes important settings related to its communication interfaces, such as MQTT, CAN, Telegram, and NATS. The configuration file supports the following entries:

Required Entries

These entries must be configured for each controller:
  • plcnext
  • nats

Optional Entries

These entries can be added to enable additional functionality. If included, their parameters must be configured correctly:
  • mqtt - configures the MQTT broker connection
  • can - configures CAN bus interfaces
  • telegram - enables Telegram notifications and alerts
  • dcide - enables live data and power flow on your DCIDE project
Below, we will provide detailed information on each entry, including the required parameters and any optional ones. The configuration file can be found in the /etc folder of the ppl-base repository and is listed as config.json.

plcnext

Required Parameters

string
required
This is the IP address of the controller. It should always be configured to the controller’s current IP address, as it is used to create sockets.Example: 192.168.1.10

Optional Parameters

Though these parameters are not required for the controller to operate, it is good practice to include them in the configuration file to avoid losing track of login credentials.
string
The username for logging into the WBM of the controller or a shell session. This should be set to admin.Example: admin
string
The password for logging into the WBM of the controller or a shell session.Example: password

nats

Required Parameters

The required parameters are used to set up a local NATS server on the controller. This NATS server is used to integrate with custom applications developed by the customer.
object
required
The required parameters are used to set up a local NATS server on the controller. This NATS server is used to integrate with custom applications developed by the customer.Example:

Optional Parameters

The optional parameters are used for setting up a NATS connection to the cloud, which hosts a database for storing data. By providing these parameters, the controller can periodically push data to the cloud.
object
The optional parameters are used for setting up a NATS connection to the cloud, which hosts a database for storing data. By providing these parameters, the controller can periodically push data to the cloud.Example:

mqtt (optional)

Required Parameters

object
required
This entry contains all relevant information for the MQTT broker.Example:

can (optional)

The can entry is an optional array that configures the CAN bus interfaces on the controller. Each entry in the array represents a CAN bus interface. If this entry is included, the following parameters are required.

Required Parameters

array
required
An array of CAN bus interface configurations.Example:

telegram (optional)

The telegram entry is optional and can be used to enable notifications and alerts. These include livebit messages every 24 hours and alerts for critical device failures in the system. If the customer does not wish to receive updates via Telegram, they simply need to omit this entry from the config file. If this entry is included, the following parameters are required.

Required Parameters

string
required
Represents the unique chat ID of the Telegram channel. Each Telegram channel has its own unique ID.Example: 123456789
string
required
A token consisting of letters and numbers, required for authorizing the bot and sending requests to the Bot API. The Bot API is already added to the Telegram channel.Example: 123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ

dcide (optional)

The dcide entry is optional and enables live data and live power flow on your DCIDE project single line diagram. By adding this entry with the required parameters, live data from your microgrid is fed back into the DCIDE project and power flow is shown on the diagram. This includes power flow, current flow, voltage levels, battery state of charge, and device status.

Required Parameters

string
required
The project ID of your DCIDE project. You can find it in the DCIDE project settings tab by activating live data and copying the Project ID that is listed there.Example: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
string
required
The secret for your DCIDE project’s live data connection. You can find it in your DCIDE project by going to settings, enabling live data, and then modifying the secret there. The secret in your DCIDE project should match the secret you fill in in the config file on the controller.Example: my-dcide-secret

File Validator

Use the File Validator to verify that your config.json is correct, contains no errors, and includes all required parameters so the PPL controller can start up properly.

Open File Validator

Validate your configuration files before uploading them to the controller.