https://github.com/ohand/eos_connect
EOS Connect is a tool designed to easily collect the needed data for optimize energy usage by interacting with the EOS system or evopt. And will be used as controller for a PV / Battery System and integrates the state of evcc. It displays the results dynamically on a webpage and serve the possibilty to manually override.
https://github.com/ohand/eos_connect
akkudoktor energy-optimization-system eos eos-connect evcc evopt fronius-inverter smartenergy tibber
Last synced: 25 days ago
JSON representation
EOS Connect is a tool designed to easily collect the needed data for optimize energy usage by interacting with the EOS system or evopt. And will be used as controller for a PV / Battery System and integrates the state of evcc. It displays the results dynamically on a webpage and serve the possibilty to manually override.
- Host: GitHub
- URL: https://github.com/ohand/eos_connect
- Owner: ohAnd
- License: mit
- Created: 2025-03-06T20:51:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-10T19:44:02.000Z (about 1 month ago)
- Last Synced: 2026-05-10T21:31:28.663Z (about 1 month ago)
- Topics: akkudoktor, energy-optimization-system, eos, eos-connect, evcc, evopt, fronius-inverter, smartenergy, tibber
- Language: Python
- Homepage: https://github.com/ohAnd/EOS_connect
- Size: 2.28 MB
- Stars: 55
- Watchers: 8
- Forks: 13
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# EOS Connect
Request optimization at an [EOS](https://github.com/Akkudoktor-EOS) and handle the response to display the result on a dynamic webpage.
Currently, the project is designed to fetch energy data from OpenHAB, process it, and create a load profile. It includes functionalities for interacting with the Tibber API and PV forecast API, managing configurations, and handling energy data.
Next step:
Using the feedback to interactively control a FRONIUS inverter and battery charging system.
*Hint: current usage approved with commit https://github.com/Akkudoktor-EOS/EOS/tree/e22388b7537af545a53d6cebef35d98a7ee30e1b (old API)*
## Project Structure
```
EOS_connect
├── src
│ ├── json
│ │ ├── optimize_request.json # will be created/ rewritten with every new optimization request
│ │ ├── optimize_response.json # will be created/ rewritten after the feedback of EOS
│ ├── web
│ │ ├── index.html # served webpage to dynamically showing the current state and response from EOS
│ ├── eos_connect.py # Main logic for fetching and processing energy data
│ ├── config.py # config handling
│ ├── config.yaml # config file - default will be created with first start
│ ├── CONFIG_README.md # config documentation
├── Dockerfile # Docker configuration for the project
├── docker-compose.yml # Docker Compose configuration for multi-container setup
├── requirements.txt # Python dependencies for the project
└── README.md # Project documentation
```
## Requirements
To run this project, you need to have the following installed:
- Python 3.x
- Docker
- Docker Compose
## Installation
1. Clone the repository:
```
git clone
cd EOS_connect
```
2. Install the required Python packages (for local usage):
```
pip install -r requirements.txt
```
## Running the Application
### Using Docker
1. Build the Docker image:
```
docker build -t eos_connect .
```
2. Run the application using Docker Compose:
```
docker-compose up
```
### Running Locally
If you prefer to run the application locally without Docker, you can execute the following command:
```
python src/eos_connect.py
```
## Configuration
Configuration is described here [CONFIG_README](src/CONFIG_README.md)
## Usage
The application will start fetching energy data from OpenHAB and processing it according to the defined logic in `src/eos_connect.py`. You can access the web interface at `http://localhost:8081`.
## Contributing
Contributions are welcome! Please submit a pull request or open an issue for any suggestions or improvements.
## License
This project is licensed under the MIT License. See the LICENSE file for more details.