GivTCP SoC and forcing charge

I am new to HA and recently had a solar system installed using GivEnergy Inverter and battery.

I have a couple of question, below is a bit on context.

I tried the GiveEnergy Smart tariff, which is meant to forecast solar availability for the following day and charge the battery to x SoC based on that forecast, using low overnight rates, that seems to have a bug and discharges everything it imports. It is also meant to check, before the afternoon peak rate, if the battery isn’t full, it charges it, that also doesn’t work.

I have been using GivTCP to show some nice dashboard data and it has a facility to set the SoC based on a solcast forecast, I believe that that is working as my SoC target at the moment has changed from 70 to 47.

As I’m in the UK, I am on a electricity tariff that is based on 30 minute rates, with peak between 16:00 and 19:00 and the low cost overnight low rates time slots change, as does there cost also.

I have an add-on that can see those rates and changes a state to ‘On’ when it see the lowest continuous 3h block and enters that time period. So I believe I have a good method to enable an over night charge.

My questions are:

Under the devices, ‘GivTCP Control’ is an entity ‘select.givtcp_xxx_force_charge’, under this you have several options.

Normal
Running
Cancel
2
15
30
45
60
90
120

If in an automation, under an action, I change the state to ‘120’, should that set the inverter to start charging for 120 minutes or until the battery SoC reaches the Target SoC?

Second question,
How do I set the target SoC? Do I just call service, input:set number and update the number that I want it to be.

Thanks

1 Like

Hi.
Sounds like we have the same setup, I’m on Agile Octopus and want to achieve the same as you do.

From my playing, your assumption under force charge seems correct. it charges from the grid for the specified length of time after initiation.

What addon are you using for recognising the cheap block and setting the state to on?

I see you got the solcast integration working, I have a strange one with that but will try again.

Did you get an answer?
I think it’s the “GivTCP Control” - “Set Target SOC” with a value.
Not been brave enough to try it yet. Using Set Number just changes it in HA.

Sorry, don’t appear to get a notification when someone replies.

I am using the Octopus Energy addin. GitHub - BottlecapDave/HomeAssistant-OctopusEnergy: Unofficial Home Assistant integration for interacting with Octopus Energy

The instructions are pretty good.

I have a few of these set up that look at different periods.

But basically I have one that looks for the lowest continuous block of 3 hours between 23:30 and 07:00 and you can ask it to use the latest period in that time.

I have an automation that runs when the Agile integration goes to ‘On’
For the SoC issues, before I called the service to start charging, I record the requested SoC, in my case, always appears to be set around 00:20 in a helper entity.

I then have another automation that is dedicated to stopping the charge, this is normally disabled, but it enabled as part of the charging automation.

The SoC automation then looks to see when the actually battery SoC is above my SoC Helper, when it reaches it, it stops the charge and then disabled itself.

My only issue, is when the Solcast prediction sets the SoC target 100, my SoC Automation never disables as it can never be above 100.

For the Octopuse Energy addin, I set up the integration and then added those into a dashboard and watched it over a couple of days to see if it was reporting and going ‘On’ and ‘Off’ when it should.

I also created an automation that will charge the battery when every it becomes ‘<0p’, as in they pay me to use energy.

I ended up with a number of automations and conflicts that stopped it charging when the <0p became active, so I am still tweaking all the automations at the moment.

Below are some images…


Hi @n10vco,

Sorry to drag up an old thread but I’m trying to get a similar set up to yourself.

I’ve got the same charging scheduling system, based on the Octopus target rates.

The bit I’m struggling with is automating the discharge.

I’ve got an Octopus Agile target rate set for the most expensive 7 hours (roughly how long my battery lasts in the evening). But I can’t seem to trigger the discharge from an automation.

Would you be able to share your automation please?

Thanks

I have an automation to force the GivTCP to export. Its key component is the action:

device_id: bfd3dc0c624b0980e75beeda20d3a697
domain: select
entity_id: select.givtcp_saxxxxg041_force_export
type: select_option
option: “150”
enabled: true

It’s triggered when the Octopus export rate exceeds a threshold. I’ve also got a condition which prevents the action if the battery SoC is below a threshold
Clearly 150 minutes of export may be longer than required, so I have another automation which sets the force_export to its cancel option if I want to terminate the export earlier.

I haven’t yet created an equivalent automation to Force Charge, but the basics should be similar.

I hope this helps.