Energy metering with Eastron SDM630 v2 Modbus

I’m strugging getting data returned from my Eastron SDM630 Modbus in combination with a Waveshare RS485 to ETH (B) device. I have read all the posts above and tried many of the examples but still no result.
The error message I consistently get for all entities is:

Eastron Modbus: Error: device: 103 address: 72 -> Modbus Error: [Input/Output] ERROR: No response received after 3 retries

My yaml:

  - name: "Eastron Modbus"
    type: rtuovertcp
    host: 192.168.200.78
    port: 502
    delay: 10                        # default = 0
    timeout: 10                      # default = 5
    message_wait_milliseconds: 1000  # default = 30 for serial
    sensors:
      - name: WP-Eastron import kWh
        unique_id: wp_eastron_import_kwh
        data_type: float32
        precision: 2
        scale: 0.01
        address: 72
        input_type: input
        slave: 103
        unit_of_measurement: kWh
        state_class: total_increasing
        device_class: energy

  - name: "Nibe S1255"
    type: tcp
    host: 192.168.200.74
    port: 502
    sensors:
<<etcetera>>

It seems my Waveshare device is operating as it should since I see the correct lights (Link light = blue, Active light = blue so it should be returning data). I’m using baudrate 9.6k, parity none, stop bits 1 on both the Waveshare and SDM630. I have triple checked my modbus addresses (101 and 103; in addition I have also connected a Nibe heat pump which uses address 1 and no problem in receiving data from this device).

What else have I tried in various combinations (without result):

  • Baudrate 38400
  • Protocol Modbus TCP to RTU
  • type ‘rtuovertcp’ as well as ‘tcp’
    I notice in previous posts the use of ‘count: 2’ and ‘float32’ to specify sensors. However, I’m getting an error message when I use this (float32 already specifies 2 registers to read)

What am I overlooking?

(This is a continuation of the previous post)

@fsfikke @jghek can you perhaps have a look at my problem … thanks in advance.

I have reset my RS485-to-ETH to factory defaults and changed the IP adress to DHCP (static 192.168.200.78), port 502, work mode ‘TCP Server’ (default), 9600 baud.
I can access the converter with Modbus Master app. However, I consistently get an Error code 2 (‘Illegal address’). See attached screenshot (modbus instruction and resulting error code visible at bottom of screenshot).

Can you suggest what I could try …?

Just saw your post, and I’ve had a long day. :roll_eyes:
So, just from the top of my head… I do remember that you have to offset by 1.

Also, it is a good idea to start at 9600 baud. The quality of data transmission is basically this in combination with the quality of your cabling.

Thanks for the response.

I also tried different baudrates but this didn’t make any difference.

I also tried start address 1 but this also didn’t make a difference. I attached an over view of the first few SDM630 input registers below. I still think the addresses should be even and starting from 0, 2, 4 etc.

What I did discover just now is that even with the SDM630 not connected to the RS485-to-ETH converter, the error message is still the same “Illegal address”. That strikes me as odd.

Any suggestions?

@jghek

I used another modbus analyzer (QdModMaster instead of Modbus Master). QdModMaster gives more and better detail wrt response codes:

  1. when querying the ‘modbus diagnostics’ QdModMaster clearly distinguishes between the SDM630 being connected to the gateway (response ‘Read diagnostics data failed. Error : Timeout’) or not (response ‘not connected’). My conclusion is that my SDM630 is connected.

  2. When trying to read an address the response is consistently ‘Read data failed. Error : Timeout’

QUESTION: One earlier remark above was to swap the A and B labelled connectors (+ and -). Can I try this without damaging the gateway or SDM630?

I have 4 eastron SDM 72DM also with modbus which I have to connect to my HA Server running on a Pi 4 roughly 35m aways (cable meter).

Any recommendations what to look for and what would be usefull ?
ESP Data Collector or is there a hub that could collect the data of these 4 and send those via LAN ?

LAN and WLAN are available - otherwise I would have to lay a new 35 m long LAN cable to use its 4x twisted pair cables for the 4 eastron SDM72 meter.

Here is a more detailed project description

yes, you can switch them around. But usually there is clear description from the meter and which pin to be use on the adapter or maybe inverter.

Might be good to show your current wiring too. Cause it is quite unusual in my opinion.

If you have the right wires connected properly then the FIRST SIGN should be that you should see a TELEPHON RECEIVER in the upper left corner, you know back from the 80s

image
This is a photo which I had put together to make it clear.

Right wires (usually people tend to use a LAN Cable with 4 twisted pair wires) and properly connected is key.
If you are starting always try to start with a short pair of cables first cause that makes things a lot easier.
I did it with an old LAN cable where I had cut off the RJ 45 plugs on one site and used the other RJ45 on the inverter side.
WHen that had worked for me I added a double clutch to the cable as connector cause I added a 35 m long lang cable which made a total length of 37 m. I took the LAN and went throught the rooms of the house to the inverter room to do the next checke if the SDM could communicate again this time with the inverter. Once it had worked out I started to finaly pull the wire via attic and roof as the final solution.

Did work out for me quite well

Maybe a little late but I created a list of all sensors that can be exported from this smartmeter. Here it is Homeassistant Sensor configuration for EASTRON SDM630 V3 · GitHub

Hi guys,
I have this meter connected to HA and hardware/ software wise everything is working. The thing I cannot figure out is how to setup the energy meter in terms actual data… I have the meter connected at the entry of my 3 phase installation. The energy can flow in and out. My question is:

Which registers exactly, and how recalculated, can be used to get the actual balance of energy (in kWh) that is present at the moment? I mean here, there must be a better way than integrating the power on each phase and summing it? The thing I dont get about this meter is why is it summuing the import anx export kWh values instead of subtracting one from another.

Also, how to hook it up with the Energy panel in home assistant?

I would appreciate all feedback!

Hi,
Would it be possible to connect the eastron to a Deye inverter (also using modbus) and home assistant together? just connect the wires parallel?

Where are you getting these sensors that you are describing in your modbus.yaml?

From the Eastron Documentation, PDF Here. I also used software like Modbus Master to fiddle around and try stuff. In some case there is an offset of 1, so it’s helpful to try first.

I’ve read you project description. Here’s my approach, but others would also be valid. It all comes down to trade-offs. Here are some of my rules for hassle-free/wife-happy tinkering:

  • Standard over Custom. If there is a of-the-shelf product that exactly does what you need (and it is affordable), go for it. They will typically have better casing, run longer, require less maintenance and doesn’t break right before you want to go on holiday (and if it does, you order a new one).
  • Wired connections over WiFi. WiFi is cool, but by nature not as reliable as wired connections. Also, you do not want integral part of your house tied to your WiFi SSID named to your cat, since it would be hard to sell your house like that. If you are running wires outdoor, shielding is needed (physically and magnetically).
  • Less is more. Using a lot of hardware is cool, but eventually stuff breaks. Tinkering is fun, but forced tinkering because it stopped working (again) a lot less fun.

So, I would go with a simple RS485 network. Just two wires. If you have 4 (slave) devices, you can wire them in parallel. Polarity matters! A needs to go to A everywhere. In terms of RS485, 35m is nothing. You can easily run up to 10M here, but since the Eastron only goes up to 38400 baud (bps), a 1000m would also be possible. I think at this speed and length (< 50m) you do not even need a termination resistor. Termination resistor prevent signal reflections. In the rare case that you have issues, connect a termination resistor of 120 ohm at each end between A and B. For conversion I would go for the Elfin-EE11 or the WaveShare RS485 TO POE ETH (B). That will act as a TCP MODBUS server to access all slave devices. For wiring you can use network cable, or even twisted phone wire. It is way easier to work with and RS-485 doesn’t need CAT7. If you are running outdoors and you want to be really protective, you could keep the MODBUS server close to the devices and run your network over fiber outdoors. A Mikrotik RB260GS is a great tool here.

Thank you for helping the others. I use this SDM630 also with my Victron system.
By default, Modbus runs at 9600 baud, which is too slow (with Victron and home assistant). Victron continues polls the SDM630 for the actual data. But it also doesn’t hurt to increase the baudrate for home assistant. Increase it to 38400 baud for better performance.

  • Change Baud Rate in the Modbus TCP device :
    • Open its web interface (usually http://modbusIP).
    • Set baud rate to 38400, 8,1, None.
    • Flow control: Half Duplex.
    • Protocol: Modbus.
  • Change Baud Rate in the SDM630 :
    • On the SDM630, press P and hold to enter the menu.
    • Enter the access code: 1000.
    • Set baud rate to 38400.
    • If using multiple SDM630 devices, ensure each has a unique address.

This is from my Victron setup guide… SDM630/SDM120 modbus TCP installation procedure - DIY - Victron Community

Hey Thank you for sharing this information.
I have the same also the Eastron SDM630 V2 and the WaveShare RS485 to ETH, and HomeAssistant.

When using your config, I get a notification :

You say you use 8888 as local port, I use 502 (which I changed in your config)
But don’t think that will be the issue right?
Do you have any clue please?

Thx in advance

Tom

Thanks, saving me some time but I miss the slave address in your overview!

Does somebody know how to easily split the different sensors (from different sources) into individual groups in Lovelace dashboard?

I have added all sensors from de SDM630 (v3) and addresses to the overview; according to the manual.

- name: "L1 to Neutral Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 0          #Parameter 01 Register 30001 corresponds to address 0 (hex0000)
  input_type: input   
  data_type: float32
  scale: 1            
  precision: 2        

- name: "L2 to Neutral Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 2          #Parameter 02 Register 30003 corresponds to address 2 (hex0002)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 to Neutral Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 4          #Parameter 03 Register 30005 corresponds to address 4 (hex0004)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Current"
  unit_of_measurement: "A"
  slave: 1
  address: 6          #Parameter 04 Register 30007 corresponds to address 6 (hex0006)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Current"
  unit_of_measurement: "A"
  slave: 1
  address: 8          #Parameter 05 Register 30009 corresponds to address 8 (hex0008)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Current"
  unit_of_measurement: "A"
  slave: 1
  address: 10         #Parameter 06 Register 30011 corresponds to address 10 (hex000A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Active Power"
  unit_of_measurement: "W"
  slave: 1
  address: 12         #Parameter 07 Register 30013 corresponds to address 12 (hex000C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Active Power"
  unit_of_measurement: "W"
  slave: 1
  address: 14         #Parameter 08 Register 30015 corresponds to address 14 (hex000E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Active Power"
  unit_of_measurement: "W"
  slave: 1
  address: 16         #Parameter 09 Register 30017 corresponds to address 16 (hex0010)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Apparent Power"
  unit_of_measurement: "VA"
  slave: 1
  address: 18         #Parameter 10 Register 30019 corresponds to address 18 (hex0012)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2
  
- name: "L2 Apparent Power"
  unit_of_measurement: "VA"
  slave: 1
  address: 20         #Parameter 11 Register 30021 corresponds to address 20 (hex0014)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Apparent Power"
  unit_of_measurement: "VA"
  slave: 1
  address: 22         #Parameter 12 Register 30023 corresponds to address 22 (hex0016)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Reactive Power"
  unit_of_measurement: "VAr"
  slave: 1
  address: 24         #Parameter 13 Register 30025 corresponds to address 24 (hex0018)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Reactive Power"
  unit_of_measurement: "VAr"
  slave: 1
  address: 26         #Parameter 14 Register 30027 corresponds to address 26 (hex001A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Reactive Power"
  unit_of_measurement: "VAr"
  slave: 1
  address: 28         #Parameter 15 Register 30029 corresponds to address 28 (hex001C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Power Factor (Imp-Exp)"
  unit_of_measurement: " "
  slave: 1
  address: 30         #Parameter 16 Register 30031 corresponds to address 30 (hex001E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Power Factor (Imp-Exp)"
  unit_of_measurement: " "
  slave: 1
  address: 32         #Parameter 17 Register 30033 corresponds to address 32 (hex0020)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Power Factor (Imp-Exp)"
  unit_of_measurement: " "
  slave: 1
  address: 34         #Parameter 18 Register 30035 corresponds to address 34 (hex0022)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Phase Angle"
  unit_of_measurement: "Degrees"
  slave: 1
  address: 36         #Parameter 19 Register 30037 corresponds to address 36 (hex0024)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Phase Angle"
  unit_of_measurement: "Degrees"
  slave: 1
  address: 38         #Parameter 20 Register 30039 corresponds to address 38 (hex0026)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Phase Angle"
  unit_of_measurement: "Degrees"
  slave: 1
  address: 40         #Parameter 21 Register 30041 corresponds to address 40 (hex0028)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Average Phase to Neutral Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 42         #Parameter 22 Register 30043 corresponds to address 42 (hex002A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Average Line Current"
  unit_of_measurement: "A"
  slave: 1
  address: 46         #Parameter 24 Register 30047 corresponds to address 46 (hex002E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Sum of Line Currents"
  unit_of_measurement: "A"
  slave: 1
  address: 48         #Parameter 25 Register 30049 corresponds to address 48 (hex0030)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total System Power"
  unit_of_measurement: "W"
  slave: 1
  address: 52         #Parameter 27 Register 30053 corresponds to address 52  (hex0034)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total System Apparent Power"
  unit_of_measurement: "VA"
  slave: 1
  address: 56         #Parameter 29 Register 30057 corresponds to address 56 (hex0038)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total System Reactive Power"
  unit_of_measurement: "VAr"
  slave: 1
  address: 60         #Parameter 31 Register 30061 corresponds to address 60 (hex003C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total System Power Factor (Imp-Exp)"
  unit_of_measurement: " "
  slave: 1
  address: 62         #Parameter 32 Register 30063 corresponds to address 62 (hex003E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total System Phase Angle"
  unit_of_measurement: "Degrees"
  slave: 1
  address: 66         #Parameter 34 Register 30067 corresponds to address 66 (hex0042)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Frequency of Supply Voltages"
  unit_of_measurement: "Hz"
  slave: 1
  address: 70         #Parameter 36 Register 30071 corresponds to address 70 (hex0046)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total Import kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 72         #Parameter 37 Register 30073 corresponds to address 72 (hex0048)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total Export kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 74         #Parameter 38 Register 30075 corresponds to address 74 (hex004A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total Import kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 76         #Parameter 39 Register 30077 corresponds to address 76 (hex004C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total Export kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 78         #Parameter 40 Register 30079 corresponds to address 78 (hex004E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total VAh"
  unit_of_measurement: "kVAh"
  slave: 1
  address: 80         #Parameter 41 Register 30081 corresponds to address 80 (hex0050)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Ah"
  unit_of_measurement: "Ah"
  slave: 1
  address: 82         #Parameter 42 Register 30083 corresponds to address 82 (hex0052)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total System Power Demand (Imp-Exp)"
  unit_of_measurement: "W"
  slave: 1
  address: 84         #Parameter 43 Register 30085 corresponds to address 84 (hex0054)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Maximum Total System Power Demand (Imp-Exp)"
  unit_of_measurement: "VA"
  slave: 1
  address: 86         #Parameter 44 Register 30087 corresponds to address 86 (hex0056)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total System Apperant Power Demand"
  unit_of_measurement: "VA"
  slave: 1
  address: 100         #Parameter 51 Register 30101 corresponds to address 100 (hex0064)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Maximum System Apperant Power Demand"
  unit_of_measurement: "VA"
  slave: 1
  address: 102         #Parameter 52 Register 30103 corresponds to address 102 (hex0066)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Neutral Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 104         #Parameter 53 Register 30105 corresponds to address 104 (hex0068)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Maximum Neutral Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 106         #Parameter 54 Register 30107 corresponds to address 106 (hex006A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 to L2 Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 200         #Parameter 101 Register 30201 corresponds to address 200 (hex00C8)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 to L3 Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 202         #Parameter 102 Register 30203 corresponds to address 202 (hex00CA)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 to L1 Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 204         #Parameter 103 Register 30205 corresponds to address 204 (hex00CC)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Average to Line to Line Volts"
  unit_of_measurement: "V"
  slave: 1
  address: 206         #Parameter 104 Register 30207 corresponds to address 204 (hex00CE)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Neutral Current"
  unit_of_measurement: "A"
  slave: 1
  address: 224         #Parameter 113 Register 30225 corresponds to address 224 (hex00E0)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1/N volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 234         #Parameter 118 Register 30235 corresponds to address 234 (hex00EA)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2/N volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 236         #Parameter 119 Register 30237 corresponds to address 236 (hex00EC)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3/N volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 238         #Parameter 120 Register 30239 corresponds to address 238 (hex00EE)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Current THD"
  unit_of_measurement: "%"
  slave: 1
  address: 240         #Parameter 121 Register 30241 corresponds to address 240 (hex00F0)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Current THD"
  unit_of_measurement: "%"
  slave: 1
  address: 242         #Parameter 122 Register 30243 corresponds to address 242 (hex00F2)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Current THD"
  unit_of_measurement: "%"
  slave: 1
  address: 244         #Parameter 123 Register 30245 corresponds to address 244 (hex00F4)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Average Line to Neutral Volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 248         #Parameter 125 Register 30249 corresponds to address 248 (hex00F8)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Average Line Current THD"
  unit_of_measurement: "%"
  slave: 1
  address: 250         #Parameter 126 Register 30251 corresponds to address 250 (hex00FA)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 258         #Parameter 130 Register 30259 corresponds to address 258 (hex0102)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 260         #Parameter 131 Register 30261 corresponds to address 260 (hex0104)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 262         #Parameter 132 Register 30263 corresponds to address 262 (hex0106)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Maximum Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 264         #Parameter 133 Register 30265 corresponds to address 264 (hex0108)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Maximum Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 266         #Parameter 134 Register 30267 corresponds to address 266 (hex010A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Maximum Current Demand"
  unit_of_measurement: "A"
  slave: 1
  address: 268         #Parameter 135 Register 30269 corresponds to address 268 (hex010C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 to L2 Volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 334         #Parameter 168 Register 30335 corresponds to address 334 (hex014E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 to L3 Volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 336         #Parameter 169 Register 30337 corresponds to address 336 (hex0150)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 to L1 Volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 338         #Parameter 170 Register 30339 corresponds to address 338 (hex0152)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Average Line to Line Volts THD"
  unit_of_measurement: "%"
  slave: 1
  address: 340         #Parameter 171 Register 30341 corresponds to address 340 (hex0154)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total kWh (Imp+Exp)"
  unit_of_measurement: "kWh"
  slave: 1
  address: 342         #Parameter 172 Register 30343 corresponds to address 342 (hex0156)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "Total kVArh (Imp+Exp)"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 344         #Parameter 173 Register 30345 corresponds to address 344 (hex0158)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Import kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 346         #Parameter 174 Register 30347 corresponds to address 344 (hex015A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Import kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 348         #Parameter 175 Register 30349 corresponds to address 348 (hex015C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Import kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 350         #Parameter 176 Register 30351 corresponds to address 350 (hex015E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Export kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 352         #Parameter 177 Register 30353 corresponds to address 352 (hex0160)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Export kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 354         #Parameter 178 Register 30355 corresponds to address 354 (hex0162)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Export kWh"
  unit_of_measurement: "kWh"
  slave: 1
  address: 356         #Parameter 179 Register 30357 corresponds to address 356 (hex0164)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Total kWh (Imp+Exp)"
  unit_of_measurement: "kWh"
  slave: 1
  address: 358         #Parameter 180 Register 30359 corresponds to address 358 (hex0166)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Total kWh (Imp+Exp)"
  unit_of_measurement: "kWh"
  slave: 1
  address: 360         #Parameter 181 Register 30361 corresponds to address 360 (hex0168)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Total kWh (Imp+Exp)"
  unit_of_measurement: "kWh"
  slave: 1
  address: 362         #Parameter 182 Register 30363 corresponds to address 362 (hex016A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Import kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 364         #Parameter 183 Register 30365 corresponds to address 364 (hex016C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Import kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 366         #Parameter 184 Register 30367 corresponds to address 366 (hex016E)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Import kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 368         #Parameter 185 Register 30369 corresponds to address 366 (hex0170)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Export kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 370         #Parameter 186 Register 30371 corresponds to address 370 (hex0172)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Export kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 372         #Parameter 187 Register 30373 corresponds to address 372 (hex0174)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Export kVArh"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 374         #Parameter 188 Register 30375 corresponds to address 374 (hex0176)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L1 Total kVArh (Imp+Exp)"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 376         #Parameter 189 Register 30377 corresponds to address 376 (hex0178)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L2 Total kVArh (Imp+Exp)"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 378         #Parameter 189 Register 30379 corresponds to address 378 (hex017A)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2

- name: "L3 Total kVArh (Imp+Exp)"
  unit_of_measurement: "kVArh"
  slave: 1
  address: 380         #Parameter 190 Register 30381 corresponds to address 380 (hex017C)
  input_type: input
  data_type: float32
  scale: 1
  precision: 2