Comments (9)
The log is showing your low price as being 02:00-05:00 UTC or 03:00-06:00 BST. Let me try using your tariff code on my system to see what I get
from pv_opt.
Seems to load OK for me but I think I need to add some logic to Intelligent so that it repeats the following day.
from pv_opt.
Might be the same issue as #181. I'm about to review the PR that hopefully fixes this.
from pv_opt.
I've installed 3.14.6 and I remain confused and am completely open to the possibility this is likely to be my lack off understanding!
The main question is why is a charge scheduled to start at 0600 after the cheap rate has ended? As I said above, give the disparity between the cheaper import rates and export rates I would expect the goal to have the batter fully charged at the end of the cheap rate so that all surplus including any battery capacity not needed to meet the consumption forecast can be exported during the day (ideally as late as possible before the cheap rate starts again).
I guess this could be a timing issue about when and how often the tarriff information is updated and discrepancy between the pv_opt dashboard and the octopus-energy-rates-card and this might all change closer to the time the cheap rates start.
This what I can see at the moment:
Here's the log from the last few optimisation runs:
pv_opt.log
from pv_opt.
Ah - more clarity!. At about 1730 I noticed that the optimisation plan had been updated such that the std cheap rate window was covered (discharge optimisation was turned off at this point).
I then plugged the car in and was allocated a charging window of 2330-0530 and 0530-0600 though so far the optimisation plan has not been updated. I think I now understand @stevebuk1 comments in #121 about tariff refresh for IOG need to happen more frequently. The definitive truth is in the dispatching sensor from the octopus integration. Is it possible to do something when that changes. I would'nt mind of that was an automation outside of pv_opt.
The dispatching entity entries in the last log are:
19:20:09 INFO: entity_id binary_sensor.octopus_energy_**********_intelligent_dispatching
19:20:09 INFO: state off
19:20:09 INFO: attributes {'planned_dispatches': [{'start': '2024-04-28T22:00:00+00:00', 'end': '2024-04-29T04:30:00+00:00', 'charge_in_kwh': -48.1, 'source': 'smart-charge', 'location': None}, {'start': '2024-04-29T04:30:00+00:00', 'end': '2024-04-29T05:00:00+00:00', 'charge_in_kwh': -3.46, 'source': 'smart-charge', 'location': None}], 'completed_dispatches': [{'start': '2024-04-26T00:00:00+00:00', 'end': '2024-04-26T00:30:00+00:00', 'charge_in_kwh': -2.9, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-26T02:00:00+00:00', 'end': '2024-04-26T02:30:00+00:00', 'charge_in_kwh': -1.74, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-26T01:30:00+00:00', 'end': '2024-04-26T02:00:00+00:00', 'charge_in_kwh': -2.9, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-27T07:30:00+00:00', 'end': '2024-04-27T08:00:00+00:00', 'charge_in_kwh': -3.48, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-27T07:00:00+00:00', 'end': '2024-04-27T07:30:00+00:00', 'charge_in_kwh': -0.97, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-27T20:00:00+00:00', 'end': '2024-04-27T20:30:00+00:00', 'charge_in_kwh': -1.62, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-27T19:30:00+00:00', 'end': '2024-04-27T20:00:00+00:00', 'charge_in_kwh': -3.04, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-27T20:30:00+00:00', 'end': '2024-04-27T21:00:00+00:00', 'charge_in_kwh': -4.76, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-28T03:00:00+00:00', 'end': '2024-04-28T03:30:00+00:00', 'charge_in_kwh': -2.9, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-28T04:30:00+00:00', 'end': '2024-04-28T05:00:00+00:00', 'charge_in_kwh': -3.51, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-28T04:00:00+00:00', 'end': '2024-04-28T04:30:00+00:00', 'charge_in_kwh': -6.9, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-28T05:00:00+00:00', 'end': '2024-04-28T05:30:00+00:00', 'charge_in_kwh': -1.19, 'source': None, 'location': 'AT_HOME'}, {'start': '2024-04-28T16:30:00+00:00', 'end': '2024-04-28T17:00:00+00:00', 'charge_in_kwh': -0.01, 'source': None, 'location': 'AT_HOME'}], 'data_last_retrieved': '2024-04-28T18:18:19.739442+00:00', 'last_evaluated': '2024-04-28T18:19:19.739592+00:00', 'current_start': None, 'current_end': None, 'next_start': '2024-04-28T22:00:00+00:00', 'next_end': '2024-04-29T05:00:00+00:00', 'icon': 'mdi:power-plug-battery', 'friendly_name': 'Octopus Energy ********** Intelligent Dispatching'}
19:20:09 INFO: last_changed 2024-04-28T05:30:23.739606+00:00
19:20:09 INFO: last_updated 2024-04-28T18:19:19.740342+00:00
I've pretty printed this below. What is interesting is the 30 minute completed dispatches in the evenings which I don't quite understand, but I guess it is the panned dispatches which are important.
{
"planned_dispatches":[
{
"start":"2024-04-28T22:00:00+00:00",
"end":"2024-04-29T04:30:00+00:00",
"charge_in_kwh":-48.1,
"source":"smart-charge",
"location":"None"
},
{
"start":"2024-04-29T04:30:00+00:00",
"end":"2024-04-29T05:00:00+00:00",
"charge_in_kwh":-3.46,
"source":"smart-charge",
"location":"None"
}
],
"completed_dispatches":[
{
"start":"2024-04-26T00:00:00+00:00",
"end":"2024-04-26T00:30:00+00:00",
"charge_in_kwh":-2.9,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-26T02:00:00+00:00",
"end":"2024-04-26T02:30:00+00:00",
"charge_in_kwh":-1.74,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-26T01:30:00+00:00",
"end":"2024-04-26T02:00:00+00:00",
"charge_in_kwh":-2.9,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-27T07:30:00+00:00",
"end":"2024-04-27T08:00:00+00:00",
"charge_in_kwh":-3.48,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-27T07:00:00+00:00",
"end":"2024-04-27T07:30:00+00:00",
"charge_in_kwh":-0.97,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-27T20:00:00+00:00",
"end":"2024-04-27T20:30:00+00:00",
"charge_in_kwh":-1.62,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-27T19:30:00+00:00",
"end":"2024-04-27T20:00:00+00:00",
"charge_in_kwh":-3.04,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-27T20:30:00+00:00",
"end":"2024-04-27T21:00:00+00:00",
"charge_in_kwh":-4.76,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-28T03:00:00+00:00",
"end":"2024-04-28T03:30:00+00:00",
"charge_in_kwh":-2.9,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-28T04:30:00+00:00",
"end":"2024-04-28T05:00:00+00:00",
"charge_in_kwh":-3.51,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-28T04:00:00+00:00",
"end":"2024-04-28T04:30:00+00:00",
"charge_in_kwh":-6.9,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-28T05:00:00+00:00",
"end":"2024-04-28T05:30:00+00:00",
"charge_in_kwh":-1.19,
"source":"None",
"location":"AT_HOME"
},
{
"start":"2024-04-28T16:30:00+00:00",
"end":"2024-04-28T17:00:00+00:00",
"charge_in_kwh":-0.01,
"source":"None",
"location":"AT_HOME"
}
],
"data_last_retrieved":"2024-04-28T18:18:19.739442+00:00",
"last_evaluated":"2024-04-28T18:19:19.739592+00:00",
"current_start":"None",
"current_end":"None",
"next_start":"2024-04-28T22:00:00+00:00",
"next_end":"2024-04-29T05:00:00+00:00",
"icon":"mdi:power-plug-battery",
"friendly_name":"Octopus Energy ********** Intelligent Dispatching"
}
from pv_opt.
I think IOG specific questions might best be covered in #121
However, I'm still interested in understanding the strategy about when best to charge. As I said above, given the disparity between the cheaper import rates and export rates I would expect the goal to have the battery fully charged at the end of the cheap rate so that all surplus, including any battery capacity not needed to meet the consumption forecast can be exported during the day ideally as late as possible before the cheap rate starts again.
from pv_opt.
Might be the same issue as #181. I'm about to review the PR that hopefully fixes this.
Before the PR, the tariff reloaded at midnight and loaded 27 hours of data, so by the time the first cheap charging period rolls around 23hours later there is no expensive rate, so the algorithm doesn't schedule a charge.
The PR changes the load point to 4.30pm which means there is a peak rate period still valid at the critical point of 23:30 hours, but as per my PR notes I wasn't sure it was optimum because as we approach the end of the cheap period around 5am I hadn't checked whether the next cheap rate kicks in, and I've yet to look whether the load at 4.30pm loads 27 hours worth or something else. As I have a zero p export rate I only use Pv_opt in Charging mode but I'd imagine for a discharge plan it will be necessary to to have a valid 24 hour lookahead for general stability and for the high cost swaps to work.
I also recognise that on EV plugin the actual cheap/peak times are likely to change (with occasional 11pm slots and 6am slots) and so we will need a tariff reload at that point too, from something that is aware of these slots. I do note that Pv_opt does currently assign a cheap rate to when the Zappi is charging with diverted excess solar and that comes from the BottlecapDave integration which will have to be from the Electricity Meter part of BottlecapDave and not the Zappi part (because you only get this if you have a Zappi under the control of IOG), noting also this is a definite bug in the BottlecapDave integration, but I metion this as its likely we can get whats needed without needing the dispatching sensor.
from pv_opt.
I also recognise that on EV plugin the actual cheap/peak times are likely to change (with occasional 11pm slots and 6am slots) and so we will need a tariff reload at that point too, from something that is aware of these slots.
Code has been added to my Dev fork (https://github.com/stevebuk1/pv_opt/tree/dev/apps/pv_opt) that reloads the tariff on car plugin.
from pv_opt.
Stale issue message
from pv_opt.
Related Issues (20)
- PV sun up pre-charging HOT 3
- Optimiser frequency setting not working as expected HOT 2
- No charging schedule set in pv_opt HOT 8
- Static Solcast data HOT 8
- Incorrect release label? HOT 1
- Timezone error stopping pv_opt from starting HOT 7
- Unexpected error running initialize() for pv_opt HOT 3
- Battery doesn't get charged in cheap periods HOT 17
- Consumption Shape HOT 2
- Unexpected error in worker for App pv_opt: + ValueError: cannot convert float NaN to integer HOT 1
- solcast integration gone HOT 5
- Set up help HOT 3
- Multiple Inverters HOT 5
- Unexpected error in worker for App pv_opt:: AttributeError: 'numpy.float64' object has no attribute 'interpolate' HOT 2
- AppDaemon HASS plugin incompatible with `numpy 2.0.0` HOT 21
- PV-OPT stopped working after update to 3.15.2 HOT 5
- Decreasing SOC despite battery charge HOT 2
- Integration with solis-sensor and solis-control HOT 6
- Discharge Power Greater Than `battery_current_limit_amps` HOT 2
- "Divide by zero" warning messages in PV_Opt HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pv_opt.