Using Home Assistant to calculate my energy bill using data from my Solar Inverter

There are interesting trade offs with all this. Even on sunny days, there are times when I can use all my production (on aircond, pool heater etc), and there would be hell to pay if there were no hot water at the end of the day! But judging by my bills, my average controlled load usage is about $35pm, so there are some savings to be had (monetarily and planet-wise).

Sorry, I meant what HA component do you use to produce the graphs…

How many consecutive days are there where you export less than 10 kWh?

I have just gone over my old bills.
My daily average hot water energy use was 10 kWh in winter last year and 5 kWh in summer (before I had Paladin).

Ah that makes sense now.
This one (built in)

As for my pool, I have setup an automation to only run the pool pump after the hot water system is done and home assistant finally sees enough power being exported to the grid to power the pool pump (at least 1100W for 10 minutes). If the pool pump has not run that day, I have an automation to run the pool pump at 2am-7am on the off peak tariff to make up for what I couldn’t use from solar the day before.

Mine’s around 10-12kWh too. Over the past several months, there have been up to 4 days with less excess than that, but more often 1 or 2.

Thanks for the info on the graph card. Hadn’t actually looked at that one yet!

Just saw this bit. That is interesting. So once you see 1100W for 10 minutes, you will run the pump for it’s normal 5 hours or whatever? I have a pool heat pump which consumes up to 6000W. So far, I’m into looking at the solar forecast for the next day at 10pm to decide whether to run it (and the filter pump) overnight, or during the next day. I could possible run it during the day if I see that much excess power for a period of time, but that could be counterproductive if I end up running it into the peak much past 2pm and the sun has gone away. So many options!

I run it until I see 200W being imported for 5 minutes then I turn it off.
If this happens before 3:45pm, it will try turn on again after 10 mins of 1100W export is seen. after 3:45pm, it will not try to turn on again that day.

Nice. I guess the only problem is you might not get enough running hours for the day (unless you keep track of that too, and make up for it overnight, which, knowing you, you probably do!).

Any further comments on my previous reply re consecutive days producing less than 11kWh?

Yeah, I do. I use a countdown timer.

This goes into my configuration.yaml

timer:
  pool:
    duration: "05:00:00"

Then I start the countdown when the pool pump starts
image

and have a different automation to stop the pump when 5 hours is over
image

If pump stops before the timer finishes (due to cloud making 200W of power import from grid for 5 mins), then timer is paused.
image

Which is what has happened today
image

I use this addon to visually see the timer countdown.

Then I have another automation to turn the pump on at 2am but only if the timer has not ‘finished’ in the last 68400 seconds / 60 = 1140 minutes / 60 = 19 hours

image

Everyones mileage will vary based on use. As I said, its very rare that the hot water takes all day to do its job. On the one occasion it didnt get it hot enough, the water was still warm and not freezing. This was because the solar diverter had still been using as much spare solar power it could without pulling from the grid to either maintain the same temp or slowly increase it on consecutive low solar production days. I consider this very different to having stone cold water and I am happy with my current arrangement.

And then the timer is reset somehow?

Oh man, I have so much to learn about HA! I want to have some functions like “turn the pool sweep on for 30 minutes”, so this will be very useful information.

Yes, for sure. I’m thinking that the system that always runs on off-peak at night might be a decent compromise, but even then you could run out of hot water during the day if a couple of people have a bath or something. I’ll have to have a serious think about it, and thanks for the pointers.

This is info on the built in timer feature.

3 possible states of the timer

The state of the timer automatically changes from active to idle when the timer finally counts down to 0

image

My automation watches and waits for this simple state change to happen and then instructs my pool pump to turn off.
Once that occurs, another thing happens.
The last triggered attribute of the ‘stop pool pump when timer idle’ automation gets updated.

My 2am automation checks how long it has been since the ‘pool pump was stopped due to timer going idle’ automation ran and if its less than 19 hours, then it means it has finished the full 5 hours for the day and does not need to run at 2am.

Screen Shot 2021-10-13 at 7.07.55 pm

You can test this in dev tools / template with any other automations you may already have.

{{ state_attr
('automation.pool_pump_off_when_timer_finishes'
,'last_triggered')
| as_local }}

In the right of the screen, it will show when the last time an automation ran.

Edit: I misunderstood your response.
The ‘always’ threw me a little.
Did you mean ‘always’ as in controlled load is the primary heating method?
If so, I don’t think thats how any solar diverter works.

If you meant that controlled load is there as a saftey net, then yes you are right. I agree that it’s probably better to have the controlled load as a safety net rather than my paladin that just grabs it from the main meter (should it drop below minimum temp setting). The risk is that this topup from the grid could occur at peak tariff time which could potentially negate any savings made and even worse, ending up accidentally costing me a lot more than just using controlled load. I think the reason why the paladin doesn’t natively support controlled load is because it started life as an off grid device where controlled load doesnt exist.

Admittedly, I had to set my minimum temp setting to a very low temperature just to make sure that this topup in peak tariff time never ever happens, and now i’m completely reliant on only solar power for my water heating needs. It’s currently up to me to go out to the switchboard and manually flick the switch to controlled load should I notice the water temp drop after a few low solar production days which so far has only been once.

Here’s my setup. The calculation includes $1.16 per day fixed service charge.

3 Likes

Hi @Delbz,

Thats pretty cool.

Yep, got all that logic. I was just wondering what happens to the timer if, at 2am, it hadn’t ever completed. Does it get reset back to its 5 hours somehow? I suppose the next timer.start might do that.

I was actually thinking about the catchpower system here. Looks like the algorithm will switch to grid power overnight if it figures there hasn’t been a lot of heating during the day. And that could be off peak, not necessarily controlled load. There is always the risk, though, that you could use up all the hot water during a low production day. Hard to say how likely that would be for me. I suppose as long as there’s an override in emergency, that would be ok.

yep, as soon as the timer state goes from idle to active, the timer restarts to the default 05:00 hours set in my configuration.yaml. The only other possible state the timer can be in is ‘paused’.

Even on a low production day, heating effort is still made but yeah I can see how that would make some people anxious.
I got past the anxiety of running out of hot water after having it installed since August which was the last month of winter and have never had to deal with a cold water situation and only 1 night of warm water which I fixed by switching over to controlled load temporarily that night.

1 Like

Looking at this from a pure dollars perspective, I’m not sure it’s worth it. The most I seem to use on controlled load in a month is about 400kWh, at 10.5c = $42. If I replace that with all solar power, doesn’t it, in effect, then save me 3.5c per kWh (my feed-in tariff is 7c)? So I save $14 per month. That’s a fairly long payback on one of the diverters. Still better for the planet though!

Yeah, it’s more of an environmental, political and future proofing motivation rather than a financial one.

After I first got the solar diverter, I sat down and did the sums at the time and only then did I realise that my solar export tariff was 9.5cents per kW at the time and my controlled load was actually cheaper at 9.1088 cents per Kw, making it actually cheaper to use controlled load instead of the diverter! This initially made me feel really silly but I know the solar export tariff is always trending down so eventually it will make better financial sense. As of October 2021, the tariff dropped 20% down to 7.6c per kWh which is what prompted me to change power companies.

The environmental reasoning is that it’s a good thing that i’m not using coal produced power in the middle of the night to heat my hot water.
Political reason is that the power company keeps devaluing the power I export so why should I just let them have all of it for cheap when I can make better use of it myself instead?
Eventually the export tariff will be 0 in a few years and who’s to say they will stop at 0?
They might even keep on going and charge you to export your power for ‘stressing out the grid’ as they are already starting claim. That would substantially raise the value of higher solar self consumption.
Regardless of what happens in the future, I will still have this device which will be helping to maximise my solar self consumption and slightly reduce my reliance on coal.

Another possible way to classify what a solar diverter does is that in a roundabout way my hot water bottle can now be classified as a solar battery. I mean it is storing solar energy for later use much like a lithium battery. The only difference between a hot water bottle and a lithium battery is the type of energy being stored and the way that energy is used. Ive just turned my hot water bottle into a budget Tesla powerwall battery in a roundabout way :slight_smile:. A Telsa powerwall holds 14kWh, my hot water system will take about 12 kWh to ‘recharge’. Not that much different. Hot water Energy is still energy.
All of these low production day issues we have discussed would also apply to a Tesla power wall as well, it just may not directly impact hot water depending on what you choose to do with the power wall energy. Can you imagine paying $14,000 for a Tesla power wall just to use most of its 14kWh of energy to heat your hot water in the middle of the night just so you can achieve grid independence? Now that definitely wouldn’t make financial sense compared to the solar diverter. I’ve paid for something that is 15 times cheaper or only 6% of the total cost of a Tesla power wall which sort of does the same thing (if used mainly for hot water) and stores roughly a similar amount of energy. Maybe this is how I can rationalise the $900 purchase to myself.

Another potential way to soak up excess solar energy and make a better return than the solar export tariff is to setup some crypto miners to switch on only when there is enough excess solar generated energy to accomodate them. Only drawback is that they are very loud so you would need a dry, ventilated area where the screaming noise of the fans wont bother anyone in the day. Thats sort of what I might do next.

1 Like

Totally agree with everything you say. It would still be a nice feeling to be using the generated power. Interesting idea about the mining!

1 Like

Ah yes, I forgot to mention, both diverters have a ‘boost’ switch/button for emergencies to instantly pull power from the grid to reheat the water immediately. I wouldn’t dare pull the full 10 kWh within the peak tariff. 10 kWh * $0.322 = $3.22 but maybe I’m just cheap :slight_smile:

If only, like I’ve said, we could have HA control over these devices. Then we could do things like look at the solar forecast for tomorrow and give the heater a boost overnight, etc.

What is this solar forecast you are talking about?

I just signed up with solcast.com.au
Allows 10 API pull requests a day for free.
See if I can work this into automation somehow.