Hi
Yesterday after few hours of configuration I successfully have setup energy metering using popular Eastron SDM630 Power Meter (I think other models will also work with this configuration).
Contents of my installation:
- Hassio (build on VirtualBox on my computer - temporary)
- Eastron SDM630 v2 Modbus (from AliExpress)
- Waveshare RS485 TO ETH module (in documentation for this device there is no ModBus support, whathever SDM630 use RTU communication which go thru this device.
Waveshare RS485 TO ETH Configuration
Serial Port configuration
Baud Rate: 9600 bps
Data Size: 8bit
Parity: Even
Stop Bits: 1
Local Port Number: 8888
Work Mode: TCP Server (important)
other options unchecked
rest parameters - default
Eastron SDM630 Configuration
Serial communication the some like on Waveshare
Need to setup ModBus Primary Address. I choose 1
Hassio Configuration
In hassio you must specify modbus registry to read
important params are:
- slave (this is numer of device Id from SDM630 configuration (1 in my config)
- register (number of register - this is very good help # https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/eastron-sdm630.htm)
- register_type: input
My configuration:
- configuration.yaml
modbus:
name: waveshare1
type: rtuovertcp
host: _my_waveshare_ip_number_
port: 8888
sensor modbus: !include configs/modbus_sensor.yaml
- configs/modbus_sensor.yaml
- platform: modbus
registers:
- name: sdm630_phase_1_line_to_neutral_volts
hub: waveshare1
slave: 1
register: 0
register_type: input
count: 2
precision: 2
data_type: float
unit_of_measurement: V
device_class: voltage
- name: sdm630_phase_2_line_to_neutral_volts
hub: waveshare1
slave: 1
register: 2
register_type: input
count: 2
precision: 2
data_type: float
unit_of_measurement: V
device_class: voltage
- name: sdm630_phase_3_line_to_neutral_volts
hub: waveshare1
slave: 1
register: 4
register_type: input
count: 2
precision: 2
data_type: float
unit_of_measurement: V
device_class: voltage
- name: sdm630_phase_1_current
hub: waveshare1
register: 6
register_type: input
count: 2
slave: 1
precision: 3
data_type: float
unit_of_measurement: A
device_class: current
- name: sdm630_phase_2_current
hub: waveshare1
register: 8
register_type: input
count: 2
slave: 1
precision: 3
data_type: float
unit_of_measurement: A
device_class: current
- name: sdm630_phase_3_current
hub: waveshare1
register: 10
register_type: input
count: 2
slave: 1
precision: 3
data_type: float
unit_of_measurement: A
device_class: current
- name: sdm630_phase_1_power
hub: waveshare1
register: 12
register_type: input
count: 2
slave: 1
precision: 3
scale: 0.001
data_type: float
unit_of_measurement: kW
device_class: power
- name: sdm630_phase_2_power
hub: waveshare1
register: 14
register_type: input
count: 2
slave: 1
precision: 3
scale: 0.001
data_type: float
unit_of_measurement: kW
device_class: power
- name: sdm630_phase_3_power
hub: waveshare1
register: 16
register_type: input
count: 2
slave: 1
precision: 3
scale: 0.001
data_type: float
unit_of_measurement: kW
device_class: power
- name: sdm630_phase_1_va
hub: waveshare1
register: 18
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VA
device_class: power
- name: sdm630_phase_2_va
hub: waveshare1
register: 20
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VA
device_class: power
- name: sdm630_phase_3_va
hub: waveshare1
register: 22
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VA
device_class: power
- name: sdm630_phase_1_va_reactive
hub: waveshare1
register: 24
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VAr
device_class: power
- name: sdm630_phase_2_va_reactive
hub: waveshare1
register: 26
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VAr
device_class: power
- name: sdm630_phase_3_va_reactive
hub: waveshare1
register: 28
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VAr
device_class: power
- name: sdm630_sum_of_line_currents
hub: waveshare1
register: 48
register_type: input
count: 2
slave: 1
precision: 3
data_type: float
unit_of_measurement: A
device_class: current
- name: sdm630_total_system_power
hub: waveshare1
register: 52
register_type: input
count: 2
slave: 1
precision: 3
scale: 0.001
data_type: float
unit_of_measurement: kW
device_class: power
- name: sdm630_total_system_va
hub: waveshare1
register: 56
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VA
device_class: power
- name: sdm630_total_system_var
hub: waveshare1
register: 60
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VAr
device_class: power
- name: sdm630_frequency_of_supply_voltages
hub: waveshare1
register: 70
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: Hz
- name: sdm630_import_wh_since_last_reset
hub: waveshare1
register: 72
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: kWh
device_class: energy
- name: sdm630_export_wh_since_last_reset
hub: waveshare1
register: 74
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: kWh
device_class: energy
- name: sdm630_maximum_total_system_power
hub: waveshare1
register: 86
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: W
device_class: power
- name: sdm630_total_system_va_demand
hub: waveshare1
register: 100
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VA
device_class: power
- name: sdm630_maximum_total_system_va_demand
hub: waveshare1
register: 102
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: VA
device_class: power
- name: sdm630_line_1_to_line_2_volts
hub: waveshare1
register: 200
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: V
device_class: voltage
- name: sdm630_line_2_to_line_3_volts
hub: waveshare1
register: 202
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: V
device_class: voltage
- name: sdm630_line_3_to_line_1_volts
hub: waveshare1
register: 204
register_type: input
count: 2
slave: 1
precision: 2
data_type: float
unit_of_measurement: V
device_class: voltage