Skip to content

gizmocuz/SDM630-Modbus

 
 

Repository files navigation

Eastron SDM Modbus Plugin for Domoticz

A Domoticz Python plugin for reading Eastron SDM energy meters over Modbus RS485.

Supports multiple meters on a single RS485 bus from one plugin instance — no more serial port conflicts or duplicate hardware entries.

Supported Meters

Meter Phases Registers
SDM72 3P 15
SDM72V2 3P 15
SDM120 1P 10
SDM230 1P 10
SDM630 3P 24

Requirements

  • Domoticz 2023.2 or newer
  • USB to RS485 converter module (e.g. CH340, FTDI, etc.)
  • Python 3 (included with Domoticz)

Installation

cd ~/domoticz/plugins
git clone https://github.com/gizmocuz/SDM630-Modbus
sudo systemctl restart domoticz

Configuration

1. Create config.json

Copy the example configuration file and edit it for your setup:

cd ~/domoticz/plugins/SDM630-Modbus
cp config.json.example config.json
nano config.json

2. Edit config.json

Define each meter on your RS485 bus:

{
    "meters": [
        {"name": "Shed", "type": "SDM72V2", "id": 1, "offset": 0, "enabled": true},
        {"name": "House", "type": "SDM120", "id": 2, "offset": 1, "enabled": false},
        {"name": "Garage", "type": "SDM630", "id": 5, "offset": 2, "enabled": true}
    ]
}
Field Description
name Prefix for device names in Domoticz (e.g. "Shed - L1 Voltage")
type Meter model: SDM72, SDM72V2, SDM120, SDM230, or SDM630
id Modbus slave address (1–247), must match the meter's configured ID
offset Unique value 0–9, determines which Domoticz Unit range is used (each offset reserves 25 units)
enabled Set to false to skip a meter without removing it from the config

3. Add the hardware in Domoticz

  1. Go to Setup → Hardware
  2. Select Eastron SDM630-Modbus from the Type dropdown
  3. Set the serial port (e.g. /dev/ttyUSB0)
  4. Set the baud rate (must match your meters, typically 9600)
  5. Set the poll interval in seconds (minimum 5)
  6. Click Add

The plugin reads the meter configuration from config.json — the Domoticz hardware page only configures the serial port and timing.

4. Restart Domoticz

sudo systemctl restart domoticz

Check the Domoticz log for:

Eastron Modbus plugin started. 2 meter(s) configured.

Notes

  • Each meter must have a unique Modbus ID configured on the meter itself (via the meter's front panel menu)
  • Each meter must have a unique offset value in config.json
  • Disabled meters are skipped entirely — no serial traffic, no devices created
  • If a single meter fails to respond, the plugin logs the error and continues polling the remaining meters
  • The plugin uses a single serial port connection, polling meters sequentially to avoid RS485 bus collisions

Credits

Forked from MFxMF/SDM630-Modbus. Register definitions based on nmakel/sdm_modbus.

About

SDM630-Modbus 3P4W Multifunction Power Analyser WithRS485 Port modbus RTU for the domoticz plugin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%