I'm looking at capturing when the heating element comes on for my EP12s, just so I can chart it in HA and grafana.
From what I can gather via scouring the source code the Fox ESS Modbus integration doesn't expose the heater. For now I've written a sensor in HA which basically does this "if battery low temp rises quickly and plant room temp does not then heater on = true". There's a bit more to it than that (thanks Claude) and probably not 100% accurate but it worked for the first time with last night's cold snap.
I don't want to call the Fox Cloud API (assuming it's exposed via that).
Anyone else have their own mechanism or a better suggestion? I was going to ask on the Fox integration repo but thought I'd check here first.
Inverter: H1-6.0-E-G2-WL, Storage: 2 x EP12, Master: 1.53, Slave: 1.04, Manager: 1.39, BMS: 1.012, Data Logger: 2.09
For reasons unknown, although the heater is exposed by modbus for reading purposes the only way to write the heating changes afaik is via the API. There is a HA integration called FoxESS Plant that I've found today and that uses the API to make the changes, but without leaving HA.
7.36kWp solar array made of 16x Jinko Tiger Neo 460w panels. 8 ESE, 8 WNW facing, Fox EVO 10kWh with 10kW inverter. Installed April 2026. Running ModBus via Elfin EW11A, learning Home Assistant
Oh so you can get status of whether the heating element is exposed via Modbus via the Fox ESS integration? That was all I was after but I don't see it. I don't need write access at all. My bodge using inference does seem to be working ok but I'd rather have empirical proof.
Inverter: H1-6.0-E-G2-WL, Storage: 2 x EP12, Master: 1.53, Slave: 1.04, Manager: 1.39, BMS: 1.012, Data Logger: 2.09
Another method possible when using the "nathanmarlor/foxess_modbus" integration is to compare the entities "Battery Current" and "Inverter Battery Current". One will be a positive value and the other a negative, normally summed together they are about zero, when heating is active the sum will show about a 1 Amp difference per EP11. You can see on the history graph from my system (2 EP11s) the difference both during charge and discharge when the heater is active.
H1-3.7-E-G2, 2xEP11-H and 6Kw solar
Manager(ARM):1.79
Master:1.59
BMS:1.013
Manager(ARM):1.79
Master:1.59
BMS:1.013
Ah that's a brilliant way of capturing this. I've chatted to my LLM about your method and it agrees, and Claude is (hardly) ever wrong
. Thanks for that suggestion. I'm going to run it in parallel with my other method for a bit, but from looking at historical data it seems to map precisely.
Inverter: H1-6.0-E-G2-WL, Storage: 2 x EP12, Master: 1.53, Slave: 1.04, Manager: 1.39, BMS: 1.012, Data Logger: 2.09