Understanding RS485 battery connections

Overview

This page aims to provide useful information on how RS485 works by using the EG4 GYL battery as an example.

How to think about RS485

Arguably one of the main features of RS485 is the fact that you can physically wire multiple devices together and they all communicate on the same line as if they are all on the same conference call. Typically only one device is the master that broadcasts a request to a single address. Although all the slave devices receive the message only the slave that was called apon will respond. This master/slave arrangement is to prevent two devices from submitting information at the same time. If they submitted simultaneously it would result in one corrupt response instead of two valid responses.

What does this mean?

  • If a battery has only one port, you can use a cable/port splitter as shown in the example below.
  • Batteries often have two RS485 ports right next to each other. This is just for convenience as the pins of the two ports are typically shorted/connected together inside the battery and it doesn't matter into which port you plug your cable.
  • SolarAssistant or your inverter serves as the RS485 master while all batteries are slaves. The battery DIP switches determine the address of each slave. If two batteries have the same address it will cause a conflict as both will respond at the same time creating a single corrupt response as described above.

How to connect multiple EG4 GYL batteries

Unfortunetely the EG4 GYL battery has a single RS485 port. This means we have to wire the ports of all batteries physically into a single cable. When selecting a RJ45 splitter ensure that it simply connects the pins of the ports together. There shouldn't be an electronic board inside such as a network hub that receives and sends messages. This is RS485, not ethernet!

EG4 GYL top RS485 top view EG4 GYL top RS485 front view

How to set EG4 GYL battery DIP switches

With the latest EG4 firmware if you set the DIP switch to 1 it will change the protocol of the battery. SolarAssistant supports the default protocol of the battery and not the address 1 protocol. Start your DIP switch addresses with the first battery set to 2, the next battery to 3, then 4, etc.

Set SolarAssistant to USB to Modbus RS232/RS485 and you should get individual pack data as shown below.

EG4 GYL SolarAssistant