Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
6dcefb6
fix: improve error handling for missing solar forecast data in EVCC API
ohAnd Sep 22, 2025
74e93ad
fix: enhance logging for invalid sensor data processing in LoadInterface
ohAnd Sep 23, 2025
50268e2
fix: improve error handling and logging for EVCC API forecast retrieval
ohAnd Sep 27, 2025
b8601c3
fix: enhance error handling and logging in PV forecast_solar retrieval
ohAnd Sep 27, 2025
ad31b51
fix: enhance error handling and logging for PV forecast akkudoktor an…
ohAnd Sep 27, 2025
686f01b
fix: improve error handling and logging for EOS version retrieval and…
ohAnd Sep 27, 2025
37874c5
docs: update installation instructions for EOS Connect and Home Assis…
ohAnd Sep 27, 2025
58fc2a8
fix: disable debug logging for loadpoints and EVCC state fetching
ohAnd Sep 27, 2025
862bf28
[AUTO] Update version to 0.1.24.122-develop
ohAnd Sep 27, 2025
19bbc31
fix: implement retry mechanism for price retrieval failures
ohAnd Sep 27, 2025
809d61c
fix: enhance PV forecast retrieval with timezone-aware processing and…
ohAnd Sep 28, 2025
f22c095
fix: update datetime handling for historical energy data to use timez…
ohAnd Sep 28, 2025
d779c0f
refactor: remove unused load profile creation methods and improve fal…
ohAnd Sep 28, 2025
7f6e4c9
[AUTO] Update version to 0.1.24.123-develop
ohAnd Sep 28, 2025
e7b38fe
refactor: remove pvlib dependency and implement custom solar position…
ohAnd Sep 28, 2025
ef4e524
fix: enhance temperature forecast retrieval with error handling and d…
ohAnd Sep 30, 2025
c720f64
feat: add Solcast integration for high-precision solar forecasting an…
ohAnd Oct 2, 2025
0361136
fix: increase precision of hourly price calculations to 9 decimal pla…
ohAnd Oct 2, 2025
e88f3bf
[AUTO] Update version to 0.1.24.124-develop
ohAnd Oct 2, 2025
7bf6a2a
fix: handle scale factor 0 from EVCC
paulelsner Oct 3, 2025
44823b5
Merge pull request #102 from paulelsner:fix/evcc_scaling
ohAnd Oct 3, 2025
62b2422
[AUTO] Update version to 0.1.24.126-develop
ohAnd Oct 3, 2025
790234d
fix: improve error messages and refactor variable names for clarity i…
ohAnd Oct 3, 2025
54ac65c
fix: rename timezone parameter to tz_name for consistency and clarity
ohAnd Oct 3, 2025
2148bf6
feat: implement in-memory logging handler with API endpoints for log …
ohAnd Oct 3, 2025
a855449
full refactoring of UI backend + integration of ui log viewer
ohAnd Oct 3, 2025
c23bba2
fix: update logging prefixes for consistency and clarity across API a…
ohAnd Oct 4, 2025
d3ba49f
feat: introduce web ui system log view with several filters and alert…
ohAnd Oct 4, 2025
36a0601
fix: update showSchedule function to include data_controls parameter …
ohAnd Oct 4, 2025
cb76764
fix: conditions in evcc state overrides
ohAnd Oct 4, 2025
6d2f232
fix: adjust font sizes for mobile responsiveness in main and full-scr…
ohAnd Oct 4, 2025
a61a032
feat: implement full-screen override controls menu and enhance UI int…
ohAnd Oct 4, 2025
2d27713
feat: add EOS Connect icons for control modes and update ControlsMana…
ohAnd Oct 4, 2025
ef3ccb1
fix: update logging.js for improved functionality and compatibility
ohAnd Oct 4, 2025
2b68676
[AUTO] Update version to 0.1.24.128-develop
ohAnd Oct 4, 2025
2545d33
update version prefix in Docker workflows to 0.2.x
ohAnd Oct 4, 2025
8d35026
[AUTO] Update version to 0.2.01.129-develop
ohAnd Oct 4, 2025
2be5a2b
fix: web api pathes for logger to align also with HA addon
ohAnd Oct 5, 2025
e7d99e4
[AUTO] Update version to 0.2.01.130-develop
ohAnd Oct 5, 2025
3b43b3c
refactor: improve code formatting and enhance timestamp handling in M…
ohAnd Oct 5, 2025
dae08de
feat: clickable links and log [Main] with color in web logger
ohAnd Oct 5, 2025
e68064d
feat: web logger adding search filter
ohAnd Oct 5, 2025
b612218
feat: create generated bug report for github issue
ohAnd Oct 5, 2025
d497145
fix: correct condition for determining current mode at hour in showSc…
ohAnd Oct 5, 2025
b7022c6
[AUTO] Update version to 0.2.01.131-develop
ohAnd Oct 5, 2025
e158018
refactor: update test mode handling and improve variable naming in da…
ohAnd Oct 6, 2025
34e665f
[AUTO] Update version to 0.2.01.132-develop
ohAnd Oct 6, 2025
4c44693
feat: add override modes to test scenarios and update HTML for selection
ohAnd Oct 6, 2025
26b2ef6
feat: enhance override menu with better order for duration selection …
ohAnd Oct 6, 2025
0e6a60e
feat: add fixed price adder and relative price multiplier to price ca…
ohAnd Oct 6, 2025
e445e06
feat: add fixed price adder and relative price multiplier to configur…
ohAnd Oct 6, 2025
91364b9
feat: update bug report manager to use EOS_connect repository for bug…
ohAnd Oct 7, 2025
d6ae237
feat: refactor optimization scheduler and control logic for improved …
ohAnd Oct 8, 2025
36d703a
[AUTO] Update version to 0.2.01.133-develop
ohAnd Oct 8, 2025
3f350c5
feat: enhance optimization scheduling logic to support first run alig…
ohAnd Oct 9, 2025
45bbd77
feat: implement background price update service in PriceInterface for…
ohAnd Oct 9, 2025
6864c00
[AUTO] Update version to 0.2.01.134-develop
ohAnd Oct 9, 2025
e799873
feat: add SOC failure handling and reset logic in BatteryInterface fo…
ohAnd Oct 10, 2025
0aa3382
feat: update logging.js for improved functionality and performance
ohAnd Oct 10, 2025
fbff048
[AUTO] Update version to 0.2.01.135-develop
ohAnd Oct 10, 2025
8ac6ed4
feat: enhance error logging in LoadInterface and improve SOC error ha…
ohAnd Oct 11, 2025
0ef23eb
feat: aggregate 15-min intervals to hourly Wh in __get_pv_forecast_ev…
ohAnd Oct 11, 2025
6f58d71
[AUTO] Update version to 0.2.01.136-develop
ohAnd Oct 11, 2025
8060b33
feat: refactor API request handling in PvInterface for improved error…
ohAnd Oct 14, 2025
76eed4b
feat: add testing workflows for Docker builds and implement unit test…
ohAnd Oct 14, 2025
8a5f409
feat: improve scheduling algorithm in EosInterface and add comprehens…
ohAnd Oct 14, 2025
e7b9c13
fix: correct conditional checks for SOC data source selection and ens…
ohAnd Oct 14, 2025
b0b6c29
[AUTO] Update version to 0.2.01.138-develop
ohAnd Oct 14, 2025
811b8aa
docs: update contributing guidelines with branch roles, flow, and com…
ohAnd Oct 14, 2025
f484d96
update README for consistency
ohAnd Oct 14, 2025
bc6eda0
chore: update workflow files to include testing and artifact handling…
ohAnd Oct 18, 2025
f7658d8
[AUTO] Update version to 0.2.01.139-develop
ohAnd Oct 18, 2025
0429aa6
fix: comment out conditional for uploading Docker image artifact on p…
ohAnd Oct 18, 2025
edeba3c
Merge branch 'develop' of https://github.com/ohAnd/EOS_connect into d…
ohAnd Oct 18, 2025
d56eb8f
[AUTO] Update version to 0.2.01.140-develop
ohAnd Oct 18, 2025
98ca4fd
refactor: rename build_image job to publish_image and adjust artifact…
ohAnd Oct 18, 2025
0b88fe0
Merge branch 'develop' of https://github.com/ohAnd/EOS_connect into d…
ohAnd Oct 18, 2025
a6d5577
[AUTO] Update version to 0.2.01.141-develop
ohAnd Oct 18, 2025
bc06b56
Merge branch 'main' into develop
ohAnd Oct 18, 2025
3706e96
[AUTO] Update version to 0.2.01.142-develop
ohAnd Oct 18, 2025
c00305a
feat: implement retry logic for HTTP requests in LoadInterface and ad…
ohAnd Oct 19, 2025
16ccf94
style: improve CSS formatting and enhance font size scaling for bette…
ohAnd Oct 19, 2025
bf183f7
feat: update schedule display to include SOC and improve expense/inco…
ohAnd Oct 19, 2025
dc41062
fix: improve logging for charge power limitation in FroniusWRV2 class
ohAnd Oct 19, 2025
099393a
feat: add planActive state and update charging mode logic in EVCC int…
ohAnd Oct 19, 2025
4d1356f
[AUTO] Update version to 0.2.01.143-develop
ohAnd Oct 19, 2025
3462ca8
chore: update version prefix in workflow and version file to 0.2.25 -…
ohAnd Oct 19, 2025
5bec1f2
fix: update API version to 0.0.2 and enhance logging for EVCC chargin…
ohAnd Oct 19, 2025
670979c
[AUTO] Update version to 0.2.25.144-develop
ohAnd Oct 19, 2025
e2b8d9b
fix: improve grid charge power handling and logging in ControlsManage…
ohAnd Oct 20, 2025
01e90d2
fix: update expense and income color representation to use 'lightgray…
ohAnd Oct 20, 2025
9d0f258
fix: update expense and income color representation to improve visibi…
ohAnd Oct 20, 2025
36af033
Merge branch 'develop' of https://github.com/ohAnd/EOS_connect into d…
ohAnd Oct 20, 2025
df57c1f
[AUTO] Update version to 0.2.25.145-develop
ohAnd Oct 20, 2025
559e99d
fix: enhance data validation by checking for 'unknown' state in energ…
ohAnd Oct 25, 2025
bfc27ee
fix: add DST change detection and adjust EMS data retrieval according…
ohAnd Oct 25, 2025
d6d2982
fix: implement last control data tracking for optimized charging deci…
ohAnd Oct 25, 2025
0e016b8
[AUTO] Update version to 0.2.25.151-develop
ohAnd Oct 25, 2025
6674096
Implement currency symbols from price provider (#129)
LordMike Oct 25, 2025
6a0da02
[AUTO] Update version to 0.2.25.153-develop
ohAnd Oct 25, 2025
cc0a5e0
fix: remove currency symbol from in/out text display in schedule
ohAnd Oct 26, 2025
8f62b14
update EVCC charging modes in connection with EOS demands
ohAnd Oct 26, 2025
6d607ff
[AUTO] Update version to 0.2.25.157-develop
ohAnd Oct 27, 2025
4e9814d
feat: add 'Charge from Grid EVCC FAST' option to MQTT command templat…
ohAnd Oct 27, 2025
204b3b8
[AUTO] Update version to 0.2.25.158-develop
ohAnd Oct 27, 2025
8b2b0e6
Add Strømligning.dk price provider (#126) - implements #123 - thanks …
LordMike Oct 27, 2025
fd560de
[AUTO] Update version to 0.2.25.162-develop
ohAnd Oct 27, 2025
4166774
fix: #122 set all evcc states to avoid discharge (#134) - fixes #122
paulelsner Oct 27, 2025
dab57d4
[AUTO] Update version to 0.2.25.163-develop
ohAnd Oct 27, 2025
86304ca
feat: enhance historical data processing to include attributes and un…
ohAnd Oct 27, 2025
ff06c12
[AUTO] Update version to 0.2.25.164-develop
ohAnd Oct 27, 2025
d617a49
Evcc opt wrapper (#138)
ohAnd Oct 29, 2025
ceaca74
[AUTO] Update version to 0.2.25.166-develop
ohAnd Oct 29, 2025
555650c
feat: enhance PV configuration handling with default values for azimu…
ohAnd Oct 29, 2025
f11d2d8
feat: enhance Docker workflow to support multi-platform builds
ohAnd Oct 29, 2025
ac055e1
fix: correct indentation in cleanup_old_develops job and ensure prope…
ohAnd Oct 29, 2025
839d275
[AUTO] Update version to 0.2.25.168-develop
ohAnd Oct 29, 2025
04428e4
fix: update references from EVCC Opt to EVopt across documentation an…
ohAnd Oct 30, 2025
b053bea
Renaming EVCCOptBackend to EVOptBackend + fix grid charge calculation…
ohAnd Oct 30, 2025
3030d57
fix: update test for EVopt backend by renaming reference from EVCCOpt…
ohAnd Oct 30, 2025
366cdd6
[AUTO] Update version to 0.2.25.170-develop
ohAnd Oct 30, 2025
fc412da
fix: update default azimuth, tilt, power, and inverter settings in Pv…
ohAnd Oct 30, 2025
f694c00
fix: enhance EOS version handling and configuration validation for ve…
ohAnd Oct 30, 2025
86d53e7
[AUTO] Update version to 0.2.25.171-develop
ohAnd Oct 30, 2025
82ec00e
fix: enhance Docker workflows to support multi-platform builds and QE…
ohAnd Oct 31, 2025
1dd6f5f
fix: update BaseControl to include time frame base and calculate need…
ohAnd Oct 31, 2025
837862a
[AUTO] Update version to 0.2.25.172-develop
ohAnd Oct 31, 2025
10a2b31
fix: comment out debug logging for needed AC charge power calculation
ohAnd Oct 31, 2025
e67eeb5
test: add comprehensive tests for calculate_next_run_time and simulat…
ohAnd Nov 1, 2025
b9006e1
refactor: enhance MQTT control command handling and add SOC limit man…
ohAnd Nov 1, 2025
01e792e
refactor: update configuration for EOS and EVopt sources, including t…
ohAnd Nov 1, 2025
51d109a
[AUTO] Update version to 0.2.25.173-develop
ohAnd Nov 1, 2025
f9eec21
bugreport - fix: show current version - refactor: clean up whitespace…
ohAnd Nov 1, 2025
6c971e3
refactor: rename EVCCOptBackend to EVOptBackend and update related tr…
ohAnd Nov 1, 2025
dd93743
refactor: adjust forecast calculations for EVopt source based on curr…
ohAnd Nov 1, 2025
faac82b
refactor: adjust background opacity of experimental banner in index.html
ohAnd Nov 1, 2025
7ab0dca
[AUTO] Update version to 0.2.25.174-develop
ohAnd Nov 1, 2025
49a4703
Merge branch 'main' into develop
ohAnd Nov 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 39 additions & 20 deletions .github/workflows/docker_develop.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: Develop - build image and push
# This workflow builds, tests, and pushes a Docker image to GitHub Container Registry.
# This workflow builds, tests, and pushes a Docker image to GitHub Container Registry.
# It is triggered on pushes and pull requests to the "develop" branch, and can also be triggered manually.
# The image is tagged with "develop" and a version string based on the workflow run number.
# For pull requests, the Docker image is uploaded as an artifact instead of being pushed to the registry.
# After publishing, old Docker images with the "develop" version suffix are cleaned up to save space.
# After publishing, old Docker images with the "develop" version suffix are cleaned up to save space.
# The workflow uses the GITHUB_TOKEN secret for authentication with GitHub Container Registry.

# Jobs:
Expand All @@ -12,6 +14,12 @@ name: Develop - build image and push
# - publish_image: Downloads the image artifact and pushes it to GitHub Container Registry (on push events).
# - cleanup_old_develops: Cleans up old "develop" Docker images in the registry (on push events).

# Jobs:
# - pytest: Runs unit and regression tests using pytest.
# - build_image: Builds the Docker image, tags it, and uploads it as an artifact for PRs.
# - publish_image: Downloads the image artifact and pushes it to GitHub Container Registry (on push events).
# - cleanup_old_develops: Cleans up old "develop" Docker images in the registry (on push events).

on:
push:
branches: [ "develop" ]
Expand All @@ -20,7 +28,7 @@ on:
workflow_dispatch: # allows manual triggering of the workflow

env:
VERSION_PREFIX: 0.2.01.
VERSION_PREFIX: 0.2.25.
VERSION_SUFFIX: -develop

jobs:
Expand All @@ -43,10 +51,11 @@ jobs:

- name: Run unit and regression tests
run: python -m pytest -v tests/

publish_image:
runs-on: ubuntu-latest
needs: pytest
needs: pytest
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -71,32 +80,42 @@ jobs:
- name: Convert repository owner to lowercase
run: echo "owner=$(echo '${{ github.repository_owner }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV

- name: Build image
run: docker build -t ghcr.io/${{ env.owner }}/eos_connect:develop .
# 1. Setup QEMU for ARM64 emulation
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all

# 2. Setup Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# 3. Log in to GitHub Container Registry
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# 4. Build & Push Multi-Arch Image
- name: Build and push multi-platform Docker image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/${{ env.owner }}/eos_connect:develop
ghcr.io/${{ env.owner }}/eos_connect:${{ env.VERSION }}
push: ${{ github.event_name == 'push' }}

# Only upload the image artifact for pull_request events
- name: Upload Docker image as artifact
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: eos_connect_image-${{ env.VERSION }}
path: eos_connect_${{ env.VERSION }}.tar.gz

# Only run tagging and pushing tasks for "push" events
- name: Log in to GitHub Container Registry
if: github.event_name == 'push'
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin

- name: Tag image with develop version
if: github.event_name == 'push'
run: docker tag ghcr.io/${{ env.owner }}/eos_connect:develop ghcr.io/${{ env.owner }}/eos_connect:${{ env.VERSION }}

- name: Push Docker image to GitHub Container Registry
if: github.event_name == 'push'
run: |
docker push ghcr.io/${{ env.owner }}/eos_connect:develop
docker push ghcr.io/${{ env.owner }}/eos_connect:${{ env.VERSION }}

cleanup_old_develops:
needs: publish_image
runs-on: ubuntu-latest
Expand Down
55 changes: 46 additions & 9 deletions .github/workflows/docker_feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,28 @@ jobs:
- name: Run unit and regression tests
run: python -m pytest -v tests/

build_image:
needs: pytest
pytest:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest

- name: Run unit and regression tests
run: python -m pytest -v tests/

build_image:
needs: pytest
runs-on: ubuntu-latest
Expand All @@ -42,15 +64,30 @@ jobs:
- name: Convert repository owner to lowercase
run: echo "owner=$(echo '${{ github.repository_owner }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV

- name: Build image
run: docker build -t ghcr.io/${{ env.owner }}/eos_connect:feature .
# 1. Setup QEMU for ARM64 emulation
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all

# 2. Setup Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# 3. Log in to GitHub Container Registry
- name: Log in to GitHub Container Registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin

- name: Tag image with develop version
run: docker tag ghcr.io/${{ env.owner }}/eos_connect:feature ghcr.io/${{ env.owner }}/eos_connect:feature_dev_${{ github.ref_name }}
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Push Docker image to GitHub Container Registry
run: |
docker push ghcr.io/${{ env.owner }}/eos_connect:feature_dev_${{ github.ref_name }}
# 4. Build & Push Multi-Arch Image
- name: Build and push multi-platform Docker image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/${{ env.owner }}/eos_connect:feature_dev_${{ github.ref_name }}
push: true
31 changes: 29 additions & 2 deletions .github/workflows/docker_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,35 @@ jobs:
- name: Convert repository owner to lowercase
run: echo "owner=$(echo '${{ github.repository_owner }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV

- name: Build image
run: docker build -t ghcr.io/${{ env.owner }}/eos_connect:release .
# 1. Setup QEMU for ARM64 emulation
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all

# 2. Setup Buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# 3. Log in to GitHub Container Registry
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# 4. Build & Push Multi-Arch Image
- name: Build and push multi-platform Docker image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/${{ env.owner }}/eos_connect:release
ghcr.io/${{ env.owner }}/eos_connect:${{ env.VERSION }}
ghcr.io/${{ env.owner }}/eos_connect:latest
push: ${{ github.event_name == 'push' }}

# Only upload the image artifact for pull_request events
- name: Upload Docker image as artifact
Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
__pycache__/
src/config.bak.yaml
src/config.yaml
src/json/optimize_request.json
src/json/optimize_response.json
src/json/*.json
src/interfaces/__pycache__
src/interfaces/config/battery_config.json
src/interfaces/config/timeofuse_config.json
Expand Down
Loading