Fox ESS battery, Zappi char, Intelligent Go, Home Assistant
Discussion
I've just had a Fox ESS 12KW battery and 6KW hybrid inverter fitted today.
We don't have solar.
We are on Octopus Intelligent Go
We have an EV and Zappi charger, and a Mitsubishi Ecodan heatpump.
I've got Home Assistant running on a micro PC, but I struggle with some of the complexities (only had it for a year)
The chap who installed the Fox system talked me through setting up the FoxCloud2 app, and setting a charge schedule for 23:30 to 05:30.
He wasn't genned up on using the battery without a solar setup, and hadn't heard of Home Assistant.
Since we don't have solar, we just want to use the battery to import electricity during the cheap period, then use it during the peak period.
The "problem" comes when I charge the car. Octopus often offers extra cheap slots between 05:30 and 08:00 (the "ready by" time set in the app).
Obviously I want the charger and the house to stay using the grid during the extra cheap slots, not discharge the battery.
What's the best way to achieve this?
I've installed the Fox Cloud HACS integration, but it looks like I need to edit some code to add the battery and inverter to Home Assistant. Never done any code editing before! Any tips on how to get the battery and inverter added without making a mess?
We don't have solar.
We are on Octopus Intelligent Go
We have an EV and Zappi charger, and a Mitsubishi Ecodan heatpump.
I've got Home Assistant running on a micro PC, but I struggle with some of the complexities (only had it for a year)
The chap who installed the Fox system talked me through setting up the FoxCloud2 app, and setting a charge schedule for 23:30 to 05:30.
He wasn't genned up on using the battery without a solar setup, and hadn't heard of Home Assistant.
Since we don't have solar, we just want to use the battery to import electricity during the cheap period, then use it during the peak period.
The "problem" comes when I charge the car. Octopus often offers extra cheap slots between 05:30 and 08:00 (the "ready by" time set in the app).
Obviously I want the charger and the house to stay using the grid during the extra cheap slots, not discharge the battery.
What's the best way to achieve this?
I've installed the Fox Cloud HACS integration, but it looks like I need to edit some code to add the battery and inverter to Home Assistant. Never done any code editing before! Any tips on how to get the battery and inverter added without making a mess?
I was in a similar situation with my install, I went with Fox over Hanchu do the ease of getting local access to it, rather than relying on the cloud integration.
To answer your question, if you have Home Assistant OS running, there is an addon for Visual Studio Code so you can edit directly in the web browser. Alternatively you can edit it with a local install of Visual Studio Code and remotely connect your mini pc.
I use the Fox Modbus project for local API access to the Fox inverter, along with the Waveshare device (about £15 from memory), this allows me to bring bring the stats off it every 10 seconds and also allow instant control (i.e. charge/discharge).
Combine that with the Octopus integration and you can easily set an automation up to force charge during the charging periods and "self use" outside of them.
IOG recently changed to limit the charge periods didn't it? I can't recall the exact detail... I just turned off smart charging for now to ensure the 1130pm-530am window is only used to charge.
To answer your question, if you have Home Assistant OS running, there is an addon for Visual Studio Code so you can edit directly in the web browser. Alternatively you can edit it with a local install of Visual Studio Code and remotely connect your mini pc.
I use the Fox Modbus project for local API access to the Fox inverter, along with the Waveshare device (about £15 from memory), this allows me to bring bring the stats off it every 10 seconds and also allow instant control (i.e. charge/discharge).
Combine that with the Octopus integration and you can easily set an automation up to force charge during the charging periods and "self use" outside of them.
IOG recently changed to limit the charge periods didn't it? I can't recall the exact detail... I just turned off smart charging for now to ensure the 1130pm-530am window is only used to charge.
I did look at getting two batteries, but the numbers didn't really stack up. For 4 or 5 months each year when the heating is off, we use less than 16KWh a day, so one 12KWh battery is enough. For another 2 or 3 months of the year, 6 hours of off-peak, plus 12KWh of battery, should be enough.
It's only for 3 months of the year where we'd use all of a 24KWh battery.
For us, payback time with the single battery should be 4 to 4.5 years, around 7 years for two batteries.
We got a decent deal on the installation, only a couple of hundred quid over the online price of the parts.
No "deal" available if we wanted two batteries, which skewed the numbers quite a bit, so I've based my numbers on buying and adding a second battery myself.
Edited to add:
Already a member of the HA Facebook group, and I've just joined the FoxESS group - thanks for suggesting it.
It's only for 3 months of the year where we'd use all of a 24KWh battery.
For us, payback time with the single battery should be 4 to 4.5 years, around 7 years for two batteries.
We got a decent deal on the installation, only a couple of hundred quid over the online price of the parts.
No "deal" available if we wanted two batteries, which skewed the numbers quite a bit, so I've based my numbers on buying and adding a second battery myself.
Edited to add:
Already a member of the HA Facebook group, and I've just joined the FoxESS group - thanks for suggesting it.
Edited by clockworks on Monday 26th January 20:12
Scolding91 said:
I was in a similar situation with my install, I went with Fox over Hanchu do the ease of getting local access to it, rather than relying on the cloud integration.
To answer your question, if you have Home Assistant OS running, there is an addon for Visual Studio Code so you can edit directly in the web browser. Alternatively you can edit it with a local install of Visual Studio Code and remotely connect your mini pc.
I use the Fox Modbus project for local API access to the Fox inverter, along with the Waveshare device (about £15 from memory), this allows me to bring bring the stats off it every 10 seconds and also allow instant control (i.e. charge/discharge).
Combine that with the Octopus integration and you can easily set an automation up to force charge during the charging periods and "self use" outside of them.
IOG recently changed to limit the charge periods didn't it? I can't recall the exact detail... I just turned off smart charging for now to ensure the 1130pm-530am window is only used to charge.
Is the Modbus device easy to fit? I had a quick look, and it does seem like a better option than going via "the cloud".To answer your question, if you have Home Assistant OS running, there is an addon for Visual Studio Code so you can edit directly in the web browser. Alternatively you can edit it with a local install of Visual Studio Code and remotely connect your mini pc.
I use the Fox Modbus project for local API access to the Fox inverter, along with the Waveshare device (about £15 from memory), this allows me to bring bring the stats off it every 10 seconds and also allow instant control (i.e. charge/discharge).
Combine that with the Octopus integration and you can easily set an automation up to force charge during the charging periods and "self use" outside of them.
IOG recently changed to limit the charge periods didn't it? I can't recall the exact detail... I just turned off smart charging for now to ensure the 1130pm-530am window is only used to charge.
Octopus are due to change the car charging part of IOG, but the whole house cheap period stays at the core 6 hour period.
The car charging part will be capped at 6 hours cheap rate, then peak rate for anything over that. Those 6 cheap hours can be at any time though, and the whole house gets the cheap rate while the car is charging. It's not clear exactly what happens if the car carries on charging after 05:30 - it reads like the car pays peak, but the house gets cheap rate.
Octopus say they will add a "only charge for 6 hours" button to the app when they implement the changes. Delayed for now though, while they figure it out.
Make sure you do a smart charge once a month, or Octopus could kick you back down to the normal Go tariff.
clockworks said:
I did look at getting two batteries, but the numbers didn't really stack up. For 4 or 5 months each year when the heating is off, we use less than 16KWh a day, so one 12KWh battery is enough. For another 2 or 3 months of the year, 6 hours of off-peak, plus 12KWh of battery, should be enough.
It's only for 3 months of the year where we'd use all of a 24KWh battery.
For us, payback time with the single battery should be 4 to 4.5 years, around 7 years for two batteries.
We got a decent deal on the installation, only a couple of hundred quid over the online price of the parts.
No "deal" available if we wanted two batteries, which skewed the numbers quite a bit, so I've based my numbers on buying and adding a second battery myself.
That's interesting. I'm still at 4 years payback if I went with two batteries. That includes force discharging to the grid.It's only for 3 months of the year where we'd use all of a 24KWh battery.
For us, payback time with the single battery should be 4 to 4.5 years, around 7 years for two batteries.
We got a decent deal on the installation, only a couple of hundred quid over the online price of the parts.
No "deal" available if we wanted two batteries, which skewed the numbers quite a bit, so I've based my numbers on buying and adding a second battery myself.
What sort of price did you get for the single EP12?
clockworks said:
Is the Modbus device easy to fit? I had a quick look, and it does seem like a better option than going via "the cloud".
Octopus are due to change the car charging part of IOG, but the whole house cheap period stays at the core 6 hour period.
The car charging part will be capped at 6 hours cheap rate, then peak rate for anything over that. Those 6 cheap hours can be at any time though, and the whole house gets the cheap rate while the car is charging. It's not clear exactly what happens if the car carries on charging after 05:30 - it reads like the car pays peak, but the house gets cheap rate.
Octopus say they will add a "only charge for 6 hours" button to the app when they implement the changes. Delayed for now though, while they figure it out.
Make sure you do a smart charge once a month, or Octopus could kick you back down to the normal Go tariff.
Yep, super easy. Unplug the connector that has the CT clamp going into it, add in 2 strands of wire (I use ethernet, I'm sure speaker wire would suffice!) and attach the other side to the terminals on the modbus board. You do need to configure the board first from it's default settings. Overall it only takes a few minutes for both parts despite the instructions on the GitHub page do look a bit daunting at first glance.Octopus are due to change the car charging part of IOG, but the whole house cheap period stays at the core 6 hour period.
The car charging part will be capped at 6 hours cheap rate, then peak rate for anything over that. Those 6 cheap hours can be at any time though, and the whole house gets the cheap rate while the car is charging. It's not clear exactly what happens if the car carries on charging after 05:30 - it reads like the car pays peak, but the house gets cheap rate.
Octopus say they will add a "only charge for 6 hours" button to the app when they implement the changes. Delayed for now though, while they figure it out.
Make sure you do a smart charge once a month, or Octopus could kick you back down to the normal Go tariff.
Thanks for the reminder re IOG!
If you want reliable local control use a Shelly EM to measure the power on the EV circuit
Then you just need 2 automations - mine says EV power > 200W charge the batteries and I have one that does the opposite
You can also change the wiring so the battery/inverter does not see the EV load
Why did you go with such a clueless installer ?
Then you just need 2 automations - mine says EV power > 200W charge the batteries and I have one that does the opposite
You can also change the wiring so the battery/inverter does not see the EV load
Why did you go with such a clueless installer ?
That was a reason we didn’t move to Intelligent Octopus.
I don’t want the complexity of HA: we have batteries, but if we charged the car during the day it will drain our batteries first.
We *should* have had it installed so the batteries are not ‘known’ to the Zappi, but didn’t think that through….hey ho. If it was a cheap electrician fix we might get it done, but I doubt we’d find someone to do that for a low hourly rate!
We have Utility Warehouse on a very low cost over 7 hours overnight (5.16p/kWh), so simply charge the car & batteries then.
Good luck!
I don’t want the complexity of HA: we have batteries, but if we charged the car during the day it will drain our batteries first.
We *should* have had it installed so the batteries are not ‘known’ to the Zappi, but didn’t think that through….hey ho. If it was a cheap electrician fix we might get it done, but I doubt we’d find someone to do that for a low hourly rate!
We have Utility Warehouse on a very low cost over 7 hours overnight (5.16p/kWh), so simply charge the car & batteries then.
Good luck!
chrismoose91 said:
That's interesting. I'm still at 4 years payback if I went with two batteries. That includes force discharging to the grid.
What sort of price did you get for the single EP12?
I'm a bit wary of selling back to the grid, but I can see it makes sense with a big solar surplus. What sort of price did you get for the single EP12?
With batteries, buying at 7p then selling back at, say, 15p doesn't appeal to me, especially with conversion losses and "wear&tear" on the packs.
I paid £3500 for the installation, which seemed like a good deal.
Battery is about £2500 online, inverter about £650. Add in a couple hundred for the bits and bobs, and the labour cost was minimal.
The same company quoted around £12k for a full install with 18 panels. I couldn't make those numbers work for me.
dmsims said:
If you want reliable local control use a Shelly EM to measure the power on the EV circuit
Then you just need 2 automations - mine says EV power > 200W charge the batteries and I have one that does the opposite
You can also change the wiring so the battery/inverter does not see the EV load
Why did you go with such a clueless installer ?
I've already got Shelly EMs monitoring the charger, heatpump, immersion, and meter.Then you just need 2 automations - mine says EV power > 200W charge the batteries and I have one that does the opposite
You can also change the wiring so the battery/inverter does not see the EV load
Why did you go with such a clueless installer ?
Will the FoxCloud integration give me the control I need, or do I need Modbus?
What wiring needs to be changed so that the inverter doesn't see the EV load - CT clamp location?
The charger and heatpump are wired to a new CU in the garage, and the inverter was wired up to the same place.
The garage CU is wired to a spare way in the main house CU.
Zappi and Fox CT clamps go to the meter tails at the main CU.
The main fuse, meter and main CU are boxed in inside the pantry. No space for Henley blocks, hence running the new garage CU as a sub from the main CU.
The chap I spoke to when placing the order was actually the owner of the company, follow up call to a sales visit a couple of months earlier. He seemed very knowledgeable when I asked about getting it all to work well with Octopus tariffs and Home Assistant.
Unfortunately the young lad who did the work couldn't answer my questions. He seemed to struggle with understanding why I was going battery-only.
Neat and tidy job though, and he put in the "emergency" sockets for me.
Recently done this, so have some fresh experience. Mine (Sunsynk) charges the battery during the night window and any Octopus offpeak windows, succesfully. You'll probably want "bottlecapdave"'s Octopus integration for that.
Modbus/RS485 is "the best" for talking to your inverter but it can be fiddly doing the wiring, so perhaps best to get it working using the cloud/wifi options from the inverter first. When you do go into RS485, a little USB RS485 monitor is a godsend, plugged into your phone so you can debug it. Mine runs to an ethernet-RS485 adapter, as the HA server is not nearby.
If you are lucky, Home Assistant should "talk" to the inverter easily and get some stats in there. Once you have some stats (that's the easy bit) then controlling it is next.
Be aware that while you have a 12kwh battery, you won't just use 12kwh. There are some efficiency losses, and it's recommended not to go from 0-100-0. E.g. the default safe figures on my inverter were 80%-35%, which would only give me 45% of the battery capacity. I'm currently running 90-30, as I want to keep power in reserve for power cuts.
Also bear in mind that IOG is changing soon, so we will get fewer non-standard slots. Perhaps that makes the setup even more valuable!
In the short-term, I expect you could also configure your inverter to "do nothing" during 0530-0800 if that's the troublesome period.
Modbus/RS485 is "the best" for talking to your inverter but it can be fiddly doing the wiring, so perhaps best to get it working using the cloud/wifi options from the inverter first. When you do go into RS485, a little USB RS485 monitor is a godsend, plugged into your phone so you can debug it. Mine runs to an ethernet-RS485 adapter, as the HA server is not nearby.
If you are lucky, Home Assistant should "talk" to the inverter easily and get some stats in there. Once you have some stats (that's the easy bit) then controlling it is next.
Be aware that while you have a 12kwh battery, you won't just use 12kwh. There are some efficiency losses, and it's recommended not to go from 0-100-0. E.g. the default safe figures on my inverter were 80%-35%, which would only give me 45% of the battery capacity. I'm currently running 90-30, as I want to keep power in reserve for power cuts.
Also bear in mind that IOG is changing soon, so we will get fewer non-standard slots. Perhaps that makes the setup even more valuable!
In the short-term, I expect you could also configure your inverter to "do nothing" during 0530-0800 if that's the troublesome period.
Edited by biggiles on Tuesday 27th January 10:32
biggiles said:
Recently done this, so have some fresh experience. Mine (Sunsynk) charges the battery during the night window and any Octopus offpeak windows, succesfully. You'll probably want "bottlecapdave"'s Octopus integration for that.
Modbus/RS485 is "the best" for talking to your inverter but it can be fiddly doing the wiring, so perhaps best to get it working using the cloud/wifi options from the inverter first. When you do go into RS485, a little USB RS485 monitor is a godsend, plugged into your phone so you can debug it. Mine runs to an ethernet-RS485 adapter, as the HA server is not nearby.
If you are lucky, Home Assistant should "talk" to the inverter easily and get some stats in there. Once you have some stats (that's the easy bit) then controlling it is next.
Be aware that while you have a 12kwh battery, you won't just use 12kwh. There are some efficiency losses, and it's recommended not to go from 0-100-0. E.g. the default safe figures on my inverter were 80%-35%, which would only give me 45% of the battery capacity. I'm currently running 90-30, as I want to keep power in reserve for power cuts.
Also bear in mind that IOG is changing soon, so we will get fewer non-standard slots. Perhaps that makes the setup even more valuable!
In the short-term, I expect you could also configure your inverter to "do nothing" during 0530-0800 if that's the troublesome period.
I've got the bottlecapdave integration, so I can see the "current unit price" etc.Modbus/RS485 is "the best" for talking to your inverter but it can be fiddly doing the wiring, so perhaps best to get it working using the cloud/wifi options from the inverter first. When you do go into RS485, a little USB RS485 monitor is a godsend, plugged into your phone so you can debug it. Mine runs to an ethernet-RS485 adapter, as the HA server is not nearby.
If you are lucky, Home Assistant should "talk" to the inverter easily and get some stats in there. Once you have some stats (that's the easy bit) then controlling it is next.
Be aware that while you have a 12kwh battery, you won't just use 12kwh. There are some efficiency losses, and it's recommended not to go from 0-100-0. E.g. the default safe figures on my inverter were 80%-35%, which would only give me 45% of the battery capacity. I'm currently running 90-30, as I want to keep power in reserve for power cuts.
Also bear in mind that IOG is changing soon, so we will get fewer non-standard slots. Perhaps that makes the setup even more valuable!
In the short-term, I expect you could also configure your inverter to "do nothing" during 0530-0800 if that's the troublesome period.
Edited by biggiles on Tuesday 27th January 10:32
I've just managed to get the FoxCloud integration up and running too. Not had a chance to play with it, but it's exposing 69 entities.
The default setting is to retain a 10% battery reserve, and I get that there will be some conversion losses. I'm expecting to end with 9 and a bit KWh of usable power.
I'll have a think about increasing the reserve to cover power cuts. I can always fall back on the EV V2L though, and we've got a couple of power banks that'll run the coffee machine and keep the Internet going. I need to rejig the aerial setup, bring the power supply down into the kitchen (from the loft) so that I can swap over to battery power.
Just setting the battery to be "idle" from 05:30 to 08:00 is, like you say, probably the easiest option. I think extending the "force charge" window to 08:00 will do the same thing.
Bit of a struggle getting the FoxCloud integration set up:
My first time editing yaml, and I couldn't figure out how to cut and paste on the companion app in File Editor.
Ended up doing it via a web browser on my Mac, using keyboard shortcuts (normal right click wouldn't work).
Next problem was getting the API key from the Foxesscloud website. No option to click on to get it.
Turns out Fox have updated their website, option not there.
You have to click on a button right at the bottom of the screen - "back to V1"
This takes you to the old website, where there's access to the user profile/API management page.
With the API key and serial number pasted into the configuration yaml file, it seems to work. I can see a whole bunch of entities now.
My first time editing yaml, and I couldn't figure out how to cut and paste on the companion app in File Editor.
Ended up doing it via a web browser on my Mac, using keyboard shortcuts (normal right click wouldn't work).
Next problem was getting the API key from the Foxesscloud website. No option to click on to get it.
Turns out Fox have updated their website, option not there.
You have to click on a button right at the bottom of the screen - "back to V1"
This takes you to the old website, where there's access to the user profile/API management page.
With the API key and serial number pasted into the configuration yaml file, it seems to work. I can see a whole bunch of entities now.
I have a tesla powerwall2 and use Home assistant to make the same situation. I have this integration:
https://github.com/megakid/ha_octopus_intelligent
Then an automation in HA that set the powerwall to "100% for backup" whenever an intelligent charging slot is set. This means whenever octopus chooses to charge the car, the battery pack will also charge up to/maintain 100% charge. This will work with the proposed OIG change as the 'whole home' use is 7p whenever a intelligent slot is on, be that during the day or the overnight 2330 to 0530.
https://github.com/megakid/ha_octopus_intelligent
Then an automation in HA that set the powerwall to "100% for backup" whenever an intelligent charging slot is set. This means whenever octopus chooses to charge the car, the battery pack will also charge up to/maintain 100% charge. This will work with the proposed OIG change as the 'whole home' use is 7p whenever a intelligent slot is on, be that during the day or the overnight 2330 to 0530.
@clockworks
Re wiring not worth it in your scenario (but I mentioned it for completeness)
If you have a Shelly already monitoring the EV circuit do not bother any of the cloud integrations - they are slower and not reliable
Here is the YAML I use
alias: Charge batteries if car charging
description: ""
triggers:
- entity_id:
- sensor.broadpark_grid_channel_2_power
above: 500
trigger: numeric_state
conditions:
- condition: time
after: "05:30:00"
before: "23:30:00"
actions:
- action: mqtt.publish
metadata: {}
data:
topic: victron/W/"VRM id"/settings/0/Settings/CGwacs/BatteryLife/State
payload: "{\"value\": 9}"
mode: single
Re wiring not worth it in your scenario (but I mentioned it for completeness)
If you have a Shelly already monitoring the EV circuit do not bother any of the cloud integrations - they are slower and not reliable
Here is the YAML I use
alias: Charge batteries if car charging
description: ""
triggers:
- entity_id:
- sensor.broadpark_grid_channel_2_power
above: 500
trigger: numeric_state
conditions:
- condition: time
after: "05:30:00"
before: "23:30:00"
actions:
- action: mqtt.publish
metadata: {}
data:
topic: victron/W/"VRM id"/settings/0/Settings/CGwacs/BatteryLife/State
payload: "{\"value\": 9}"
mode: single
I've had a look through all the entities available in the FoxESS cloud integration, and they all seem to be sensor or statistical outputs.
I can't see any actual controls, nothing I can use to force charging or stop discharging via HA
Looks like I need to use the modbus integration to get actual controls.
Just watched a video by a chap who reckoned that some Fox inverters don't need a modbus adaptor, the data is "available on your network"?
Apparently the "WL" model inverters don't need a modbus adaptor. Mine has a "WL" suffix.
Do I just plug in an ethernet cable, and the modbus integration will pick it up?
I can't see any actual controls, nothing I can use to force charging or stop discharging via HA
Looks like I need to use the modbus integration to get actual controls.
Just watched a video by a chap who reckoned that some Fox inverters don't need a modbus adaptor, the data is "available on your network"?
Apparently the "WL" model inverters don't need a modbus adaptor. Mine has a "WL" suffix.
Do I just plug in an ethernet cable, and the modbus integration will pick it up?
Edited by clockworks on Tuesday 27th January 15:07
Edited by clockworks on Tuesday 27th January 15:13
I can't beleive how easy that was!
Install the FoxESS modbus integration, reboot HA, click on configure, plug the inverter into my network, find the inverter's ip address via my router admin page, type it in, and it works!
I'd used the Fox app to set the minimum state of charge to 30% at lunchtime, incase we had a power cut in the current storm.
Dropped it down again in HA, and it instantly kicked back into operation.
I should now be able to setup an automation to set the inverter work mode to "force charge" when the Octopus rate drops to 7p
Edit:
Think I've done it right
2 automations, force charge when off-peak is on, self-use when off-peak is off
Should make the battery attempt to charge (and not discharge) whenever Octopus gives me a cheap slot, and switch back to supplying the house whenever it's at the standard rate.
Edit:
Plugged the car in, got a cheap slot 16:30 to 17:30. Battery switched over to charge mode at 16:30, Zappi started charging a few minutes later
Install the FoxESS modbus integration, reboot HA, click on configure, plug the inverter into my network, find the inverter's ip address via my router admin page, type it in, and it works!
I'd used the Fox app to set the minimum state of charge to 30% at lunchtime, incase we had a power cut in the current storm.
Dropped it down again in HA, and it instantly kicked back into operation.
I should now be able to setup an automation to set the inverter work mode to "force charge" when the Octopus rate drops to 7p
Edit:
Think I've done it right
2 automations, force charge when off-peak is on, self-use when off-peak is off
Should make the battery attempt to charge (and not discharge) whenever Octopus gives me a cheap slot, and switch back to supplying the house whenever it's at the standard rate.
Edit:
Plugged the car in, got a cheap slot 16:30 to 17:30. Battery switched over to charge mode at 16:30, Zappi started charging a few minutes later
Edited by clockworks on Tuesday 27th January 15:38
Edited by clockworks on Tuesday 27th January 16:21
Edited by clockworks on Tuesday 27th January 16:46
Gassing Station | Homes, Gardens and DIY | Top of Page | What's New | My Stuff


