SmartgridOne logo
SmartgridOne logo
Accessories
AppCertificates
Configuration from A to Z
Control response timeController
Customer Specific
Devices
Boiler
Cloud
Energy Meter
ABBAccuenergyAcrelAlgodueAnexoBMR
Carlo Gavazzi
ChargeeChintCloud Meter DataDornscheidt
Eastron
Eniris
FluviusFroniusHagerHomeWizardHuaweiIneproIskra
Janitza
JoulzKaifaKamstrupLandis+GyrLegrandLitiotM-BusMetcomP1ApiPhoenix-ContactPilotSagemcom
Schneider
Self configured energy meterSeneca S604SessyShelly Energy metersSiemensSmappeeSmartgrid-readySocomecSolax
Solis
SunwodaTillquistVictronWeidmüllerYouLessZendure P1 MeterZiv
Ev Charging Station
Gas Meter
Heat Pump
New integrations
Plc
Pv Hybrid And Battery Inverters
Switched Loads
Water Meter
External Signals
InstallationLicenseNetworkQuick StartSafety, maintenance and legal noticesSpecificationsStatus LEDs
Toolbox
Troubleshooting
Video tutorialsWiring & connectivity guidelines
DevicesEnergy Meter

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.

Caution
Caution

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 for pricing and availability.

Step 1

Connect the meter to the SmartgridOne Controller using RS485 or Modbus TCP.

  • For Modbus-TCP ethernet: Please follow . For correct ethernet wiring:
  • For RS485: Please follow

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)

PowerTag Energy

Schneider-Electric PowerTag Energy Sensors

Seneca S604

Seneca S604 Energy Meter

On this page

Self-configured energy meter (*special support terms apply)Step 1Step 2Step 3Step 4:Step 5
  • 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:

    Driver selection

    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": "bigEndian",
        "scaleFactor": 0.1,
        "measurement": "importedAbsEnergyTot_Wh"
      }
    ]

    Each register configuration requires:

    • dataType: The type of data stored in the register (e.g., "int16", "uint32", "float32")
    • address: The Modbus register address in decimal
    • measurement: 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 strings
    • length: For arrays or byte fields, number of items
    • signed: 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:

    Driver selection
    I see an error

    The input is strictly validated, and will not accept any mistakes:

    Driver selection

    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
    exportedAbsReacEnergyL1_VArh
    exportedAbsReacEnergyL2_VArh
    exportedAbsReacEnergyL3_VArh
    exportedAbsReacEnergyTot_VArh
    exportedEnergyDeltaL1_Wh
    exportedEnergyDeltaL2_Wh
    exportedEnergyDeltaL3_Wh
    exportedEnergyDeltaTot_Wh
    grossExportedEnergyDeltaTot_Wh
    exportedReacEnergyDeltaL1_VArh
    exportedReacEnergyDeltaL2_VArh
    exportedReacEnergyDeltaL3_VArh
    exportedReacEnergyDeltaTot_VArh
    producedAbsEnergyL1_Wh
    producedAbsEnergyL2_Wh
    producedAbsEnergyL3_Wh
    producedAbsEnergyTot_Wh
    producedAbsReacEnergyTot_VArh
    consumedAbsEnergyL1_Wh
    consumedAbsEnergyL2_Wh
    consumedAbsEnergyL3_Wh
    consumedAbsEnergyTot_Wh
    consumedEnergyTodayTot_Wh
    consumedAbsReacEnergyTot_VArh
    producedEnergyDeltaTot_Wh
    consumedEnergyDeltaTot_Wh
    producedEnergyTodayTot_Wh
    chargedAbsEnergyTot_Wh
    chargedEnergyTodayTot_Wh
    chargedEnergyDeltaTot_Wh
    dischargedAbsEnergyTot_Wh
    dischargedEnergyTodayTot_Wh
    dischargedEnergyDeltaTot_Wh
    childrenProducedEnergyDeltaTot_Wh
    childrenConsumedEnergyDeltaTot_Wh
    childrenLoadsPower_W
    childrenLoadsImpEnergyDeltaTot_Wh
    childrenLoadsExpEnergyDeltaTot_Wh
    childrenOtherPower_W
    childrenOtherImpEnergyDeltaTot_Wh
    childrenOtherExpEnergyDeltaTot_Wh
    childrenUnmeasPower_W
    childrenUnmeasImpEnergyDeltaTot_Wh
    childrenUnmeasExpEnergyDeltaTot_Wh
    childrenProducedPower_W
    childrenConsumedPower_W
    childrenStoragePower_W
    childrenEVPower_W
    childrenHVACPower_W
    autoconsumedEnergyDeltaTot_Wh
    producedExpEnergyDeltaTot_Wh
    childrenStorageChargedEnergyDeltaTot_Wh
    childrenStorageDischargedEnergyDeltaTot_Wh
    childrenStorageSolarChargeEnergyDeltaTot_Wh
    childrenStorageGridChargeEnergyDeltaTot_Wh
    childrenStorageSolarDischargeEnergyDeltaTot_Wh
    childrenStorageGridDischargeEnergyDeltaTot_Wh
    childrenEVChargeEnergyDeltaTot_Wh
    childrenHVACEnergyDeltaTot_Wh
    currentL1_A
    currentL2_A
    currentL3_A
    currentN_A
    currentLAvg_A
    voltageL1N_V
    voltageL2N_V
    voltageL3N_V
    voltageLNAvg_V
    voltageL1L2_V
    voltageL2L3_V
    voltageL3L1_V
    voltageLLAvg_V
    frequency_Hz
    powerFactorTot
    powerFactorL1
    powerFactorL2
    powerFactorL3
    voltageDCBus_V
    voltageInput1_V
    currentInput1_A
    powerInput1_W
    voltageInput2_V
    currentInput2_A
    powerInput2_W
    voltageInput3_V
    currentInput3_A
    powerInput3_W
    voltageInput4_V
    currentInput4_A
    powerInput4_W
    voltageInput5_V
    currentInput5_A
    powerInput5_W
    voltageInput6_V
    currentInput6_A
    powerInput6_W
    voltageInput7_V
    currentInput7_A
    powerInput7_W
    voltageInput8_V
    currentInput8_A
    powerInput8_W
    voltageInput9_V
    currentInput9_A
    powerInput9_W
    voltageInput10_V
    currentInput10_A
    powerInput10_W
    voltageDC_V
    currentDC_A
    voltageInputA_V
    currentInputA_A
    powerInputA_W
    voltageInputA1_V
    currentInputA1_A
    powerInputA1_W
    voltageInputA2_V
    currentInputA2_A
    powerInputA2_W
    voltageInputA3_V
    currentInputA3_A
    powerInputA3_W
    voltageInputA4_V
    currentInputA4_A
    powerInputA4_W
    voltageInputA5_V
    currentInputA5_A
    powerInputA5_W
    voltageInputA6_V
    currentInputA6_A
    powerInputA6_W
    voltageInputB_V
    currentInputB_A
    powerInputB_W
    voltageInputB1_V
    currentInputB1_A
    powerInputB1_W
    voltageInputB2_V
    currentInputB2_A
    powerInputB2_W
    voltageInputB3_V
    currentInputB3_A
    powerInputB3_W
    voltageInputB4_V
    currentInputB4_A
    powerInputB4_W
    voltageInputB5_V
    currentInputB5_A
    powerInputB5_W
    voltageInputB6_V
    currentInputB6_A
    powerInputB6_W
    currentInputTot_A
    voltageInputAvg_V
    powerInputTot_W
    cabinetTemp_degC
    ambientTemp_degC
    heatSinkTemp_degC
    isolationResistance_kOhm
    runTimeTot_s
    status
    statusMsg
    workingMode
    operationMode
    heatingAbsEnergy_Wh
    heatingAbsVolume_m3
    flowRate_m3ph
    thermalPower_W
    departureLineTemp_degC
    returnLineTemp_degC
    chargedAbsSessionEnergyTot_Wh
    sessionDuration_s
    chargingSessionId
    evNumOfPhases
    evUsedPhases
    evTargetACChargeCurrent_A
    evRequiringCharge
    remainingEnergy_Wh
    batteryVoltage_V
    batteryCurrent_A
    batteryPower_W
    batteryTemp_degC
    batteryOperationMode
    PVOperationMode
    gridOperationMode
    current_A
    consumedEnergy_Ah
    stateOfCharge_frac
    powerSetpoint_W
    minStateOfCharge_frac
    stateOfHealth_frac
    storedEnergy_Wh
    absVolume_m3
    volumeDelta_m3
    flow_m3ps
    absPulseCount
    pulseCountDelta
    pulseRate_ph
    flow1_m3ps
    flow2_m3ps
    flow3_m3ps
    flow4_m3ps
    flow5_m3ps
    flow6_m3ps
    flow7_m3ps
    flow8_m3ps
    flow9_m3ps
    flow1_Lps
    flow2_Lps
    flow3_Lps
    flow4_Lps
    flow5_Lps
    flow6_Lps
    flow7_Lps
    flow8_Lps
    flow9_Lps

    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.

    Tip
    Tip

    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.

    sales@smartgridone.com
    the guidelines for ethernet wiring
    the guidelines for RS485 wiring