Self-configured energy meter (*special support terms apply)
When your energy meter has configurable modbus addresses (or when your energy meter is not in the list of supported devices) , we supply a feature to configure an energy meter yourself. It's a process that allows you to set up the energy meter as a modbus slave, enabling it to communicate with the SmartgridOne Controller.
Attenzione
WARNING: Special support terms apply: *Please note that this feature is provided “as-is” and should be used at your own risk. If you run into any issues or need dedicated assistance, we’re happy to help under a support contract. Contact sales@smartgridone.com for pricing and availability.
Step 1
Connect the meter to the SmartgridOne Controller using RS485 or Modbus TCP.
- For Modbus-TCP ethernet: Please follow the guidelines for ethernet wiring. For correct ethernet wiring:
- For RS485: Please follow the guidelines for RS485 wiring
Also, check your meter's manual for the correct wiring and connection details and check if any settings need to be changed to enable the modbus communication.
Step 2
Collect the following information from your energy meter:
- Modbus address: The address of the energy meter on the RS485 bus.
- Baud rate: The communication speed of the energy meter (e.g., 9600, 19200, etc.).
- Parity: The parity setting of the energy meter (e.g., None, Even, Odd).
- Register information: For each measurement you want to read, you'll need:
- Register address (in decimal)
- Data type (e.g., int16, uint32, float32)
- Word order (if applicable for multi-register values)
- Any scaling factor or offset needed
- The type of measurement (e.g., voltage, current, power)
Step 3
Open the SmartgridOne Controller web interface and navigate to the energy meter configuration section. Then, find the "Generic" driver:
Select the interface you'd like to use (RS485 or Modbus TCP).
Step 4:
You'll need to provide a JSON configuration that defines which registers to read and how to interpret them. The configuration follows this structure:
[
{
"dataType": "float32",
"address": 3000,
"wordOrder": "bigEndian",
"scaleFactor": 1,
"measurement": "actualPowerTot_W"
},
{
"dataType": "uint32",
"address": 3002,
"wordOrder"
Each register configuration requires:
dataType: The type of data stored in the register (e.g., "int16", "uint32", "float32")address: The Modbus register address in decimalmeasurement: The standardized measurement name (e.g., "actualPowerTot_W", "importedAbsEnergyTot_Wh")
Optional fields include:
wordOrder: How multi-register values are ordered ("bigEndian", "littleEndian", "middleEndian", "reverseWord")scaleFactor: Value to multiply the raw register value by (default: 1)offset: Value to add after scaling (default: 0)bytePosition: Position within a byte array (if applicable)enumMapping: For enum types, maps values to stringslength: For arrays or byte fields, number of itemssigned: For numeric types, whether the value is signed
We strongly recommend including at least:
- Total Power (
actualPowerTot_W) - Total Imported Energy (
importedAbsEnergyTot_Wh) - Total Exported Energy (
exportedAbsEnergyTot_Wh) if bi-directional
Enter the code in this place:
I see an error
The input is strictly validated, and will not accept any mistakes:

The example above is not accepted because the user choose total power instead of actualPowerTot_W.
The following measurements are accepted:
actualPowerL1_W
actualPowerL2_W
actualPowerL3_W
actualPowerTot_W
reacPowerL1_VAr
reacPowerL2_VAr
reacPowerL3_VAr
reacPowerTot_VAr
importedAbsEnergyL1_Wh
importedAbsEnergyL2_Wh
importedAbsEnergyL3_Wh
importedAbsEnergyTot_Wh
importedEnergyTodayTot_Wh
importedAbsReacEnergyL1_VArh
importedAbsReacEnergyL2_VArh
importedAbsReacEnergyL3_VArh
importedAbsReacEnergyTot_VArh
importedEnergyDeltaTot_Wh
grossImportedEnergyDeltaTot_Wh
importedReacEnergyDeltaL1_VArh
importedReacEnergyDeltaL2_VArh
importedReacEnergyDeltaL3_VArh
importedReacEnergyDeltaTot_VArh
exportedAbsEnergyL1_Wh
exportedAbsEnergyL2_Wh
exportedAbsEnergyL3_Wh
exportedAbsEnergyTot_Wh
exportedEnergyTodayTot_Wh
Step 5
After filling in the required information, save the configuration. The SmartgridOne Controller will now attempt to communicate with the energy meter using the provided settings.
Suggerimento
For better organization, you can create your JSON configuration in a text editor first, then paste it into the configuration field. This makes it easier to edit and validate the structure before applying it.
