ESP8266/RS485 on Growatt inverter - spurious data between updates

Hi

The DB9 can’t be used for this purpose
Next to the connection there is a small opening that has several connectors among which a RS485

Hello,
maybe someone can help, where to connect RS485_to_ETH RS485 A/B ports to inverter Growatt MOD inverter

Thank you.

pins 3,4 to A.B

1 Like

I’m not sure what goes wrong here:

I get: (probably from the growatt platform)

[08:29:47][D][modbus:123]: Modbus CRC Check failed, but ignored! 2220!=00
[08:29:47][W][modbus:155]: Got Modbus frame from unknown address 0xA1! 
[08:29:47][D][modbus:123]: Modbus CRC Check failed, but ignored! 4AB0!=00
[08:29:47][W][modbus:155]: Got Modbus frame from unknown address 0x00!

but also:

[08:29:48][D][uart_debug:114]: <<< 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:05:EB:01:C3:01:0F:67:10
[08:29:49][D][uart_debug:114]: >>> 01:04:03:F1:00:04:A0:7E
[08:29:49][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[08:29:49][D][sensor:094]: 'Battery Discharging Power': Sending state 0.00000 kW with 3 decimals of accuracy
[08:29:49][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[08:29:49][D][sensor:094]: 'Battery Charging Power': Sending state 0.00000 kW with 3 decimals of accuracy
[08:29:49][D][uart_debug:114]: <<< 01:04:08:00:00:00:00:00:00:00:00:24:0D
[08:29:49][D][uart_debug:114]: >>> 01:04:03:F6:00:01:D1:BC
[08:29:50][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[08:29:50][D][sensor:094]: 'Battery Charge': Sending state 0.00000 % with 0 decimals of accuracy
[08:29:50][D][uart_debug:114]: <<< 01:04:02:00:00:B9:30
[08:29:50][D][uart_debug:114]: >>> 01:04:03:FD:00:02:E0:7F
[08:29:50][D][modbus_controller.sensor:025]: Sensor new state: 0.00
[08:29:50][D][sensor:094]: 'Load': Sending state 0.00000 kW with 3 decimals of accuracy
[08:29:50][D][uart_debug:114]: <<< 01:04:04:00:00:00:00:FB:84
[08:29:52][D][uart_debug:114]: >>> 01:04:00:00:00:5F:B0:32

I do not have a battery (yet) so, the values of 0 could be correct. As I do not see any comm or CRC issues with these individual modbus requests my conclusion is that Modbus is working (esp wiring, baudrate, pin config, etc)

So, whats wrong?
I have a MOD-series invertor, that is not specifically named in the esphome growatt section, is it not supported?

Ok, not sure how the esphome growatt platform should work but getting data from modbus registers seems to work fine. Maybe the addresses are different for a newer 3phase model?

For future reference, following two examples work.
Used the registers are specific in Growatt v1.24 pdf

  - platform: modbus_controller
    name: "Solar Energy Today"
    address: 53
    register_type: "read"
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    icon: mdi:solar-power
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1
  - platform: modbus_controller
    name: "Solar Energy Total"
    address: 55
    register_type: "read"
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    icon: mdi:solar-power
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

pins 7 its A and , pins 8 ist B conectet to TTL rs485 ?

What inverter do you have? See the posts above for resources to check which pins you need. My solution was for the SPH5000 inverter.