Fox A Series Charger A7300P1 series modbus mapping?
Hi all,

I’m trying to integrate my Fox ESS EV Charger with Home Assistant using Modbus TCP and I’ve made some good progress, but I’m stuck on finding the correct register(s) for enabling/disabling charging.

### What’s working

* Modbus TCP connection is working fine
* I can successfully read:

* Charger connected status
* Charger power

### What I’m trying to achieve

* Turn charging **on / off**
* Control:

* Start / stop charging remote (as I know it needs this otherwise you still have to tap rfid card)
* Adjust max current so I can increase or decrease amps dynamically

### What I’ve tried

* Tested coil writes (e.g. address 400, 409, 413) → no effect
* Tested nearby holding registers around the working current register (e.g. 527, 529, 530, 531, 540, etc.) with values 0, 1, 2 → no effect
* Confirmed writes succeed (no errors), but charger does not react

### My question

Has anyone successfully:

* Found the **enable / start / stop charging register(s), adjust current ** for a Fox ESS EV Charger?
* Or confirmed whether this control is **not available via Modbus TCP**?

If you have a register map, working config, or even partial info, that would be hugely appreciated.

Thanks in advance!
Re: Fox A Series Charger A7300P1 series modbus mapping?
You sohuld try this custom integration, has everything needed, tested and its working perfectly: https://github.com/ringaction/foxess_charger
FoxESS H1-6.0-E-G2 inverter, W6 dongle, ECS2800 batteries, A7300P1-E-2-WO wallbox and Elfin EW11 modbus
Re: Fox A Series Charger A7300P1 series modbus mapping?
ricardofaria wrote: Mon Apr 27, 2026 5:29 pm You sohuld try this custom integration, has everything needed, tested and its working perfectly: https://github.com/ringaction/foxess_charger
Thanks so much yeah I've actually just got that one and using it but I still have a few issues while I can now set the charging current. The charger keeps reverting it back sometimes.

I played around with the command timeout and sometimes that gets it to stick.

But I also found with the max charging entity after I set it it comes back as unknown from the charger

So I alterted the integration to not poll this value but to still send it

It seems my charger stores max charging current in another entity which is read only. The entity that Is there to update the max charging current seems to be a separate session setting for the charger?

Because if I set it the other entity max charging current remains unchanged which is the setting I set in the app but the charger still sometimes honour the session one I set
Post Reply