WEBVTT

00:00.000 --> 00:07.480
Okay, we can start a minute early.

00:07.480 --> 00:14.640
Bobby will talk about the aqueductor, that's home energy management system, that's open

00:14.640 --> 00:19.320
source and you can use that your home by yourself instead of buying that.

00:19.320 --> 00:21.800
Thank you, Bobby for presenting.

00:21.800 --> 00:22.800
Have fun.

00:22.800 --> 00:23.800
Okay.

00:23.800 --> 00:24.800
Hello, everybody.

00:24.800 --> 00:29.400
Thank you for coming to my talk about the energy optimization system, it's not an

00:29.440 --> 00:34.680
automation, but an optimization system called aqueductor US.

00:34.680 --> 00:36.120
My name is Bobby Nelten.

00:36.120 --> 00:39.960
I'm one of the developers of US.

00:39.960 --> 00:43.560
This is my first time to foster them and also my first time to talk about the

00:43.560 --> 00:44.560
US.

00:44.560 --> 00:49.200
So I'm really excited and what to thank the first team and do the audience for

00:49.200 --> 00:51.320
this opportunity.

00:51.320 --> 00:56.760
I'm also a little bit nervous, so I tend to become the loud when I'm nervous.

00:56.760 --> 01:03.160
Yeah, so please stop me if I'm too loud and blowing your ears away.

01:03.160 --> 01:05.440
So what is aqueductor US?

01:05.440 --> 01:10.360
Aqueductor US is a self-hosted energy optimization server.

01:10.360 --> 01:16.760
It creates optimal operating schedules for your batteries, electric vehicles and household

01:16.760 --> 01:17.760
devices.

01:17.760 --> 01:23.720
So it's the little thing from the big thing that we saw before, so it's a lot of stimulation

01:23.720 --> 01:27.400
to be in the household.

01:27.400 --> 01:31.040
Yes, runs entirely on your own hardware.

01:31.040 --> 01:36.000
It's not, if you do not need the cloud connection and it's not required, it's also not

01:36.000 --> 01:37.000
desired.

01:37.000 --> 01:41.160
US builds energy plans based on three key inputs.

01:41.160 --> 01:46.080
Your system configuration measurement data from your devices and forecasts that are

01:46.080 --> 01:49.760
taken from the internet or generated locally.

01:49.760 --> 01:55.680
The workflow is simple, first you describe the configuration, then US runs its optimization

01:55.680 --> 02:04.400
regularly using the current system state, energy prices, demands and forecasts and it then

02:04.400 --> 02:07.640
generates the optimal energy plan.

02:07.640 --> 02:12.840
Finally, your home automation system is executing the plan.

02:12.840 --> 02:20.920
In short, the US is like a strategic brain for your energy system, turning data and forecast

02:20.920 --> 02:27.400
into optimization instructions.

02:27.400 --> 02:28.400
Who made it?

02:28.400 --> 02:35.040
Yes, was founded by Andreas called the aqueductor and Andreas is a researcher in mathematical

02:35.040 --> 02:42.600
optimization and in artificial intelligence and he has also got his own YouTube channel.

02:42.600 --> 02:47.680
He created the first version of aqueductor US.

02:47.680 --> 02:50.440
It's still quite young.

02:50.440 --> 02:55.000
We went public in September 2024, so just one year.

02:55.000 --> 03:02.320
Country, we are a small community, but we have no several active users and more or less constant

03:02.320 --> 03:03.320
flow of commits.

03:03.320 --> 03:09.280
You see, a lot of people helped to improve it and to make it like it is now.

03:09.280 --> 03:14.640
I also want to thank them for this.

03:14.640 --> 03:18.560
What can you do with aqueductor US an example?

03:18.560 --> 03:25.760
Andreas, the founder of US invested in his personal shift from fossil energy to regenerative

03:25.760 --> 03:32.640
for renewable energy as a DIY maker even purchase home storage battery.

03:32.640 --> 03:35.640
We can see it in his videos.

03:35.680 --> 03:38.920
He also installed his own PV system.

03:38.920 --> 03:45.040
This was a big investment and it feels good if you can do something about climate change,

03:45.040 --> 03:48.800
but some of you still have to afford it.

03:48.800 --> 03:50.280
So his goal was clear.

03:50.280 --> 03:55.320
He wanted to create a better future but want to add a minimum of costs.

03:55.320 --> 04:02.480
So, or maybe earn some money with the tools and the assets that he will build it.

04:02.480 --> 04:07.840
To achieve this, he needed to schedule his energy consumption.

04:07.840 --> 04:14.520
The grip exports have to fit to his goal and also the import for sure.

04:14.520 --> 04:21.720
So in the end, or also Andreas uses dynamic electricity tariffs, so these tariffs change

04:21.720 --> 04:24.880
every 15 minutes.

04:24.880 --> 04:31.720
Both for importing power from the grid, also for exporting, for example, excess solar energy.

04:31.760 --> 04:35.600
The prices are published one day in advance.

04:35.600 --> 04:38.840
So in this case, you face a real challenge.

04:38.840 --> 04:42.200
You have been showed, for example, your car.

04:42.200 --> 04:47.480
When showed your car, your discharge, your home battery.

04:47.480 --> 04:54.400
To find an optimal schedule for minimizing costs becomes really complex and maybe time

04:54.400 --> 04:55.400
consuming.

04:55.400 --> 05:00.760
So in the end, maybe it's impossible to do it manually.

05:00.800 --> 05:06.880
In the end, this is a complex optimization task and Andreas is a researcher in mathematical

05:06.880 --> 05:10.280
optimization.

05:10.280 --> 05:21.000
To automate this optimization, Andreas built EOS and uses EOS and also another tool called

05:21.000 --> 05:23.560
Node Rat and Grafana.

05:23.560 --> 05:31.280
In the end, in 2024, by using EOS and all the optimization that is providing the use,

05:31.280 --> 05:37.480
reduce the average electricity price from 36 percent per kilowatt hour to 31 percent per

05:37.480 --> 05:38.480
kilowatt hour.

05:38.480 --> 05:44.160
So a reduction around 30 percent, just by using this tool and scheduling the different

05:44.160 --> 05:48.640
asset at the right time.

05:48.640 --> 05:53.920
In energy management system typically work at least in two different timescays, each

05:53.920 --> 05:57.000
with different types of decisions.

05:57.000 --> 06:00.320
Short-term decisions happen in minutes or seconds.

06:00.320 --> 06:03.760
They are usually reactive and local.

06:03.760 --> 06:09.400
The system directly responds to what is happening right now.

06:09.400 --> 06:12.000
One example is PVCER plus charging.

06:12.000 --> 06:19.760
You charge the battery only with the excess solar energy that is available right now.

06:19.760 --> 06:28.600
The other time horizon relates to long-term decisions, these are strategic and not reactive.

06:28.600 --> 06:35.280
The problems have or these problems have two key features, they are non-linear, energy

06:35.280 --> 06:37.800
doesn't always value the same.

06:37.800 --> 06:44.520
The kilowatt hour store in your battery right now may be cheap, but later on may value

06:44.520 --> 06:50.680
a lot more depending on the future prices of energy on the demand and so on.

06:50.680 --> 06:53.120
The problems are time-coupled.

06:53.120 --> 06:55.880
Today's decision affects the most options.

06:55.880 --> 07:03.320
So if you spend or if you use the battery today, the energy is gone.

07:03.320 --> 07:09.920
But if you keep it, you may be flexible for the future but lose the benefit at the current

07:09.920 --> 07:12.400
moment.

07:12.400 --> 07:17.840
This means we must think about forecast, trends and uncertainty.

07:17.840 --> 07:21.600
The question is always, when should we use stored energy?

07:21.600 --> 07:25.840
Should we act now or maybe later, it may be a benefit to act later.

07:25.840 --> 07:31.640
So this is a typical optimization problem, not a simple control problem.

07:31.640 --> 07:36.120
So we are on another time horizon.

07:36.120 --> 07:46.640
And your ass is definitely a long-term energy planning tool and only long-term energy planning.

07:46.640 --> 07:49.640
It keeps the separate from the short-term control.

07:49.640 --> 07:54.200
Yes, doesn't control devices directly.

07:54.200 --> 07:59.200
Instead it tells the home automation system that device operation modes and the energy

07:59.200 --> 08:01.440
budgets for the current hour.

08:01.440 --> 08:07.840
Yes, they've watched what should happen over time and the home automation system decides

08:07.840 --> 08:09.760
how to make it happen in real time.

08:09.760 --> 08:12.320
So there's a real difference and work.

08:12.320 --> 08:14.880
The separation is by design.

08:14.880 --> 08:20.640
Each layer focuses on what it can do best, keeping both systems in our view simple and

08:20.640 --> 08:27.240
effective, and in our view this makes a perfect fit to bring these two together.

08:28.120 --> 08:34.120
U.S. uses a genetic algorithm to create an optimized energy plan.

08:34.120 --> 08:42.720
The genetic algorithm creates many candidate energy plans in the 100 or 1000.

08:42.720 --> 08:46.400
Each plan represents a different strategy.

08:46.400 --> 08:54.640
When to charge, this charge went to export import, both prices and so on.

08:54.640 --> 09:01.280
The plans are not executed immediately, but they're handed over to simulations.

09:01.280 --> 09:06.440
The simulation also needs to see it here, some forecasts, some weather forecasts,

09:06.440 --> 09:10.480
devils, production forecasts, and so on.

09:10.480 --> 09:14.200
And then they simulate what will happen.

09:14.200 --> 09:19.000
The simulation really answers the simple questions if you follow this plan, what will happen?

09:19.000 --> 09:26.720
In the end, we know the fitness, the costs that will displan produce.

09:26.720 --> 09:31.920
U.S. then compares to the results of all these different plans, select the optimal energy plan

09:31.920 --> 09:39.120
and only this one is handed over to the home automation system to be executed.

09:39.120 --> 09:45.720
So in short, U.S. optimizes energy management by simulating futures, not by reacting

09:45.760 --> 09:49.640
to the current situation.

09:49.640 --> 09:56.960
And the simulation is also one of the, and our, one of the biggest benefits for this genetic

09:56.960 --> 10:04.520
algorithm, because you can, with a simulation, you can really simulate nearly everything.

10:04.520 --> 10:11.480
You do not have to have linear problems, for example, you might be non-linear, there might

10:11.480 --> 10:18.240
be a time-capital and so on, simulation works for all of that.

10:18.240 --> 10:22.240
So how can you access for U.S. for you to use?

10:22.240 --> 10:29.000
U.S. provides several interfaces to exchange data and to receive commands.

10:29.000 --> 10:35.120
The primary interface is the rest interface by HTP request and by HTP responses.

10:35.120 --> 10:40.800
And by this interface, you can control everything of U.S.

10:40.800 --> 10:44.320
and you can also monitor everything.

10:44.320 --> 10:48.600
Here on the left side, you see the speaker front of the rest API.

10:48.600 --> 10:53.760
It is, for example, testing of the rest API and this automatically provided by the underlying

10:53.760 --> 10:58.160
library, we're using in faith, fast API server for this.

10:58.160 --> 11:04.400
And the window on the right side shows the response to an energy management plan request.

11:04.400 --> 11:12.960
The plan is a JSON structure to be further processed by the request.

11:12.960 --> 11:20.040
The JSON structure is oriented to the S2 standard, which I think is maybe a topic in the next

11:20.040 --> 11:21.040
talk.

11:21.040 --> 11:29.320
U.S. can also be directly integrated into homo-system, I think one of the most popular

11:29.320 --> 11:35.480
open source homo-domations systems, it is integrated as an add-on.

11:35.480 --> 11:40.360
And U.S. can provide the actual optimization instruction and the whole optimization solution

11:40.360 --> 11:46.080
to the homo-system so-called entity status sets that are used by homo-system.

11:46.080 --> 11:51.640
Here, for example, the actual instruction for better one is to switch to fast charge, where

11:51.640 --> 11:56.160
the home application one shall be off.

11:56.160 --> 12:00.600
The rest interface is still workable also when using it in homo-system.

12:00.600 --> 12:07.080
And we have another special adapter that uses the data exchange with Node-Ret, though there

12:07.080 --> 12:11.720
is a popular slow-based programming tool also used for homo-domation.

12:11.720 --> 12:15.280
Yeah, that's it for the technique.

12:15.280 --> 12:19.840
If you're interested, my pledges please get involved.

12:19.840 --> 12:25.000
You have to make complex energy optimization freely and available and easily available

12:25.000 --> 12:27.520
in open source.

12:27.520 --> 12:30.720
There are a lot of means you can help.

12:30.720 --> 12:34.960
Use Airs, report to us, provide your own ideas.

12:34.960 --> 12:38.160
We already have some for us to go for.

12:38.160 --> 12:44.400
It's we want to switch to 50 minutes of automation time slots because the prices are created

12:44.400 --> 12:47.280
in 50 minutes time slots.

12:47.280 --> 12:53.800
I want to integrate my heat pump, so it's also can be simulated and controlled.

12:53.800 --> 12:59.680
On the slide you see your online resources, we are on GitHub for sure, there are the sources,

12:59.680 --> 13:06.320
the tests and the documentation is also the documentation sources are on GitHub, also there's

13:06.320 --> 13:12.640
an issues page where you can provide new ideas and hand commands and also bugs, they're

13:12.720 --> 13:20.160
always from bugs and our documentation is also on read the docs where you can read it.

13:20.160 --> 13:23.240
And we have a forum on aqueduct.net.

13:23.240 --> 13:28.560
It is mostly German but any languages welcome.

13:28.560 --> 13:37.160
Thank you.

13:37.160 --> 13:47.080
We have time for questions.

13:47.080 --> 13:48.080
It's not implemented.

13:48.080 --> 13:49.880
We're using the format.

13:49.880 --> 13:54.880
The question is whether we have implemented S2 product or sorry.

13:54.880 --> 14:00.200
Now we did not implement the full S2 product or but we use it for example for this JSON

14:00.200 --> 14:20.440
structure to structure the data that we provide in the plan.

14:20.440 --> 14:42.840
Yeah sure there's most of it possible.

14:42.840 --> 14:48.200
The question is whether there are any method or additional method to close the gap between

14:48.200 --> 14:49.920
the predictions to be more precise.

14:49.920 --> 14:50.920
I think?

14:50.920 --> 15:00.880
Yeah, we have mostly using predictions from the internet so you can ask for PV prediction

15:00.880 --> 15:01.880
for example.

15:01.880 --> 15:09.080
Aqueduct is running its own server where you can ask for your specific configuration

15:09.080 --> 15:12.440
of PV system to get predictions from.

15:12.680 --> 15:19.920
Or we have load predictions from load profiles that are calculated by a certain set of households

15:19.920 --> 15:23.080
that they're using in an adapting.

15:23.080 --> 15:30.440
But because we're also getting the measurement from the system so we can go back and to

15:30.440 --> 15:32.440
some adjustments.

15:32.440 --> 15:39.680
And in future I think there will also some machine learning models to adjust this to your

15:39.680 --> 15:48.280
personal situation because what you get is more over a bigger area and so you can adjust

15:48.280 --> 15:49.680
your personal situation.

15:49.680 --> 15:58.840
That is planned or that can happen if somebody is coding it but it's not in at the moment.

15:58.840 --> 16:00.840
Okay thank you.

16:00.840 --> 16:10.080
So you have a hander like if I want to load my dishwasher now and want to run it now

16:10.080 --> 16:15.640
or not by charge my liquor cart, how is the handle?

16:15.640 --> 16:21.640
You just tell a certain time slot time window when you want to charge or your dishwasher

16:21.640 --> 16:22.640
to be run.

16:22.640 --> 16:28.680
Is that anticipated that the prediction that I might from my dishwasher cost usually I might?

16:28.760 --> 16:33.920
No you get an optimization instruction you say okay this is my time window or these are my

16:33.920 --> 16:39.760
time windows and then you get an optimal time window that will be towed for example to

16:39.760 --> 16:44.400
home assistant that has to switch on your dishwasher for example.

16:44.400 --> 16:51.480
So if you tell what you want you do the optimization and you get something that's hopefully

16:51.480 --> 16:54.240
fulfilling your wishes.

16:54.240 --> 16:56.480
Okay thank you.

