Add Documentation 3 (#353)

Add documentation that covers:

- Architecture
- Optimization (only empty template)
- Integration.

Add some PNG figures for architecture documentation including open document
format sources to enable document maintainance.

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
This commit is contained in:
Bobby Noelte 2025-01-09 16:52:57 +01:00 committed by GitHub
parent 05a1ade3a3
commit 1d1fa9585a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 97 additions and 2 deletions

BIN
docs/_static/architecture-overall.odp vendored Normal file

Binary file not shown.

BIN
docs/_static/architecture-overall.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
docs/_static/architecture-system.odp vendored Normal file

Binary file not shown.

BIN
docs/_static/architecture-system.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,50 @@
% SPDX-License-Identifier: Apache-2.0
# Architecture
```{figure} ../_static/architecture-overall.png
:alt: Overall System Architecture
Overall System Architecture
```
## Overview of the Project Structure
## Key Components and Their Roles
```{figure} ../_static/architecture-system.png
:alt: EOS Architecture
EOS Architecture
```
### Configuration
The configuration controls all aspects of EOS: optimization, prediction, measurement, and energy management.
### Energy Management
Energy management is the overall process to provide planning data for scheduling the different devices in your system in an optimal way. Energy management cares for the update of predictions and the optimization of the planning based on the simulated behavior of the devices. The planning is on the hour. Sub-hour energy management is left
### Optimization
### Device Simulations
Device simulations simulate devices' behavior based on internal logic and predicted data. They provide the data needed for optimization.
### Predictions
Predictions provide predicted future data to be used by the optimization.
### Measurements
Measurements are utilized to refine predictions using real data from your system, thereby enhancing accuracy.
### EOS Server
EOS operates as a [REST](https://en.wikipedia.org/wiki/REST) [API](https://restfulapi.net/) server.
### EOSdash
`EOSdash` is a lightweight support dashboard for EOS. It is pre-integrated with EOS. When enabled,
it can be accessed by navigating to [http://localhost:8503](http://localhost:8503) in your browser.

View File

@ -0,0 +1,34 @@
% SPDX-License-Identifier: Apache-2.0
# Integration
EOS operates as a [REST](https://en.wikipedia.org/wiki/REST) [API](https://restfulapi.net/) server,
allowing for seamless integration with a wide range of home automation systems.
## EOSdash
`EOSdash` is a lightweight support dashboard for EOS. It is pre-integrated with EOS. When enabled,
it can be accessed by navigating to [http://localhost:8503](http://localhost:8503) in your browser.
## Node-RED
[Node-RED](https://nodered.org/) is a programming tool designed for connecting hardware devices,
APIs, and online services in creative and practical ways.
Andreas Schmitz uses [Node-RED](https://nodered.org/) as part of his home automation setup.
### Resources
- [Installation Guide (German)](https://meintechblog.de/2024/09/05/andreas-schmitz-joerg-installiert-mein-energieoptimierungssystem/) — A detailed guide on integrating an early version of EOS with
`Node-RED`.
## Home Assistant
[Home Assistant](https://www.home-assistant.io/) is an open-source home automation platform that
emphasizes local control and user privacy.
### Resources
- Duetting's [EOS Home Assistant Addon](https://github.com/Duetting/ha_eos_addon) — Additional
details can be found in this
[discussion thread](https://github.com/Akkudoktor-EOS/EOS/discussions/294).

View File

@ -0,0 +1,8 @@
% SPDX-License-Identifier: Apache-2.0
# Optimization
:::{admonition} Todo
:class: note
Describe optimization.
:::

View File

@ -88,8 +88,8 @@ optimization. Key considerations for updates include:
Prediction data can be accessed using the EOS **REST API** via the `/v1/prediction/<...>` endpoints.
In a standard configuration, the [**REST API**](http://0.0.0.0:8503/docs) of a running EOS instance
is available at [http://0.0.0.0:8503/docs](http://0.0.0.0:8503/docs). This link provides access to
In a standard configuration, the [**REST API**](http://localhost:8503/docs) of a running EOS instance
is available at [http://localhost:8503/docs](http://localhost:8503/docs). This link provides access to
the API documentation and allows you to explore available endpoints interactively.
To view all available prediction keys, use the **GET** `/v1/prediction/keys` endpoint.

View File

@ -14,9 +14,12 @@ welcome.md
akkudoktoreos/about.md
develop/getting_started.md
develop/CONTRIBUTING.md
akkudoktoreos/architecture.md
akkudoktoreos/configuration.md
akkudoktoreos/optimization.md
akkudoktoreos/prediction.md
akkudoktoreos/measurement.md
akkudoktoreos/integration.md
akkudoktoreos/serverapi.md
akkudoktoreos/api.rst
```