Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c95df6e
build(deps): bump actions/setup-python from 6 to 7 (#167)
dependabot[bot] Aug 1, 2026
ea47a3a
build(deps): bump github/codeql-action from 4 to 4.37.3 (#168)
dependabot[bot] Aug 1, 2026
93cc7a0
feat(logging): add log console view (LogCapture ring buffer, REST /ap…
stritti Aug 2, 2026
229e31c
build(deps): bump github/codeql-action from 4.37.3 to 4.37.4 (#171)
dependabot[bot] Aug 3, 2026
dd91530
fix(logging): trace operation mode command sources (#174)
stritti Aug 10, 2026
81ba7d8
build(deps): bump github/codeql-action from 4.37.4 to 4.37.6 (#172)
dependabot[bot] Aug 10, 2026
2777cc9
feat: add Olimex ESP32-C6 local UI (#175)
stritti Aug 11, 2026
86063e6
chore(ci): optimize GitHub Actions workflows with caching and dedup (…
stritti Aug 13, 2026
d6c2dc1
build(deps): bump oxsecurity/megalinter from 9.6.0 to 10.0.0 (#176)
dependabot[bot] Aug 13, 2026
e7ac809
feat(system): log concrete reason when entering safe mode (#179)
stritti Aug 13, 2026
5f8b964
fix: move solar pump relay to R2 (GPIO13), add RC snubber docs (#165)
stritti Aug 13, 2026
206954b
fix(button): Add ADC filtering and improved debouncing for NORVI fron…
stritti Aug 13, 2026
cdf4083
fix(button): stop phantom NORVI operation-mode switches (#181)
stritti Aug 16, 2026
c4fc499
feat(calibration): guided NORVI button calibration wizard (#182)
stritti Aug 17, 2026
2a8f919
fix(timer): keep pump running when extension wraps past midnight (#180)
stritti Aug 17, 2026
9fe1271
build(deps): bump github/codeql-action from 4.37.6 to 4.37.7 (#183)
dependabot[bot] Aug 17, 2026
3d61ebd
perf(web): optimize PWA startup (#184)
stritti Aug 18, 2026
ed477b5
chore(main): release 5.0.0
github-actions[bot] Aug 18, 2026
7d781ff
chore(main): release
github-actions[bot] Aug 18, 2026
71ee560
fix(web): stop telemetry poll from overwriting config edits (#185)
stritti Aug 20, 2026
7ebb729
chore(main): release 5.0.1
github-actions[bot] Aug 20, 2026
8435928
chore(main): release
github-actions[bot] Aug 21, 2026
2520b43
build(deps): bump github/codeql-action from 4.37.7 to 4.37.9 (#188)
dependabot[bot] Sep 11, 2026
c54148a
build(deps): bump oxsecurity/megalinter from 10.0.0 to 10.1.0 (#189)
dependabot[bot] Sep 11, 2026
d0bb39b
build(deps): bump github/codeql-action from 4.37.9 to 4.38.0 (#190)
dependabot[bot] Sep 15, 2026
a3a38fc
build(deps): bump github/codeql-action from 4.38.0 to 4.38.2 (#192)
dependabot[bot] Sep 29, 2026
573cc1b
docs: decode literal unicode escapes and fix dead links (#193)
stritti Oct 1, 2026
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
64 changes: 64 additions & 0 deletions .github/actions/setup-platformio/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
###########################
## Setup PlatformIO ##
###########################
## Composite action that centralizes the repeated PlatformIO setup:
## Python, pip install, and cache restore/save (tools + libdeps).
##
## All PlatformIO-based workflows should use this instead of
## duplicating the setup steps.
##
## Inputs:
## python-version Python version for PlatformIO (default 3.11)
## pio-core-dir PlatformIO core directory; exported as
## PLATFORMIO_CORE_DIR for subsequent steps (default ~/.platformio)
## cache-key Full cache key for the PlatformIO cache
## restore-key Restore key prefix for the PlatformIO cache
name: "Set up PlatformIO"
description: "Cache and install PlatformIO CLI with Python"

inputs:
python-version:
description: "Python version to use"
required: false
default: "3.11"
pio-core-dir:
description: "PlatformIO core directory (exported as PLATFORMIO_CORE_DIR)"
required: false
default: "~/.platformio"
cache-key:
description: "Cache key for the PlatformIO cache"
required: false
default: "${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}"
restore-key:
description: "Restore key prefix for the PlatformIO cache"
required: false
default: "${{ runner.os }}-pio-"

runs:
using: "composite"
steps:
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: ${{ inputs.python-version }}

- name: Cache PlatformIO
uses: actions/cache@v6
with:
path: |
${{ inputs.pio-core-dir }}
.pio
key: ${{ inputs.cache-key }}
restore-keys: |
${{ inputs.restore-key }}

- name: Export PLATFORMIO_CORE_DIR
shell: bash
run: echo "PLATFORMIO_CORE_DIR=${{ inputs.pio-core-dir }}" >> "$GITHUB_ENV"

- name: Install PlatformIO
shell: bash
run: |
python -m pip install --upgrade pip
pip install platformio intelhex
6 changes: 1 addition & 5 deletions .github/workflows/auto-merge-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,11 @@ jobs:
if: startsWith(github.event.pull_request.head.ref, 'release-please--')
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 0

- name: Enable auto-merge via gh CLI
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr merge "${{ github.event.pull_request.number }}" \
--repo "${{ github.repository }}" \
--auto --merge \
--subject "chore(main): release"
23 changes: 5 additions & 18 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,28 +37,15 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
uses: github/codeql-action/init@v4.38.2
with:
languages: ${{ matrix.language }}

# Build the project using PlatformIO
- name: Set up Python
uses: actions/setup-python@v6
- name: Set up PlatformIO
uses: ./.github/actions/setup-platformio
with:
python-version: "3.11"
- name: Cache PlatformIO
uses: actions/cache@v6
with:
path: |
~/.platformio
.pio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: |
${{ runner.os }}-pio-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install platformio intelhex
- name: Run PlatformIO
run: platformio run

Expand All @@ -70,7 +57,7 @@ jobs:
# The reliable fix is to post-process the SARIF and strip results
# under .pio/libdeps/ before uploading.
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
uses: github/codeql-action/analyze@v4.38.2
with:
output: sarif-results
upload: never
Expand All @@ -87,6 +74,6 @@ jobs:
done

- name: Upload CodeQL results
uses: github/codeql-action/upload-sarif@v4
uses: github/codeql-action/upload-sarif@v4.38.2
with:
sarif_file: sarif-results
7 changes: 6 additions & 1 deletion .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@ name: MegaLinter

on: [push, pull_request]

# Cancel in-progress runs for the same workflow+ref when new commits are pushed
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v7
- uses: oxsecurity/megalinter/flavors/c_cpp@v9.6.0
- uses: oxsecurity/megalinter/flavors/c_cpp@v10.1.0
21 changes: 2 additions & 19 deletions .github/workflows/native-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,25 +33,8 @@ jobs:
- name: Checkout
uses: actions/checkout@v7

- name: Cache PlatformIO
uses: actions/cache@v6
with:
path: |
~/.platformio
.pio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: |
${{ runner.os }}-pio-

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.x"

- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install platformio
- name: Set up PlatformIO
uses: ./.github/actions/setup-platformio

- name: Install project dependencies (ArduinoJson etc.)
run: pio pkg install --environment esp32dev
Expand Down
45 changes: 34 additions & 11 deletions .github/workflows/pio-dependency-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@ on:
- cron: "0 8 * * 1"
workflow_dispatch:

permissions:
contents: read
issues: write

jobs:
check-dependencies:
name: Check PlatformIO Library Dependencies (${{ matrix.environment }})
runs-on: ubuntu-latest
permissions:
contents: read

strategy:
matrix:
Expand All @@ -20,16 +22,37 @@ jobs:
- name: Checkout
uses: actions/checkout@v7

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"

- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install platformio intelhex
- name: Set up PlatformIO
uses: ./.github/actions/setup-platformio

- name: Check outdated packages (${{ matrix.environment }})
id: outdated
run: pio pkg outdated --environment ${{ matrix.environment }}
continue-on-error: true

- name: Create issue if updates are available
if: steps.outdated.outcome == 'failure'
uses: actions/github-script@v9
with:
script: |
const issueTitle = 'PlatformIO Updates Available';
const issueBody = 'PlatformIO-Abhängigkeiten benötigen Updates. Bitte überprüfen.';

// Überprüfen, ob bereits ein Issue mit diesem Titel existiert
const existingIssues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
title: issueTitle
});

if (existingIssues.data.length === 0) {
// Erstelle ein neues Issue
await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: issueTitle,
body: issueBody,
labels: ['enhancement', 'dependencies']
});
}
34 changes: 12 additions & 22 deletions .github/workflows/plaform.io.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,36 +35,26 @@ jobs:
build:
runs-on: ubuntu-latest

permissions:
contents: read

strategy:
matrix:
environment: [esp32dev, norvi_ae01_r]
include:
- environment: esp32dev
pio-core-dir: ~/.platformio
- environment: norvi_ae01_r
pio-core-dir: ~/.platformio
- environment: olimex_esp32_c6_evb
pio-core-dir: ~/.platformio-olimex-c6

steps:
- name: Checkout
uses: actions/checkout@v7

- name: Cache PlatformIO
uses: actions/cache@v6
with:
path: |
~/.platformio
.pio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: |
${{ runner.os }}-pio-

- name: Set up Python
uses: actions/setup-python@v6
- name: Set up PlatformIO
uses: ./.github/actions/setup-platformio
with:
python-version: "3.x"

- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install platformio intelhex
pio-core-dir: ${{ matrix.pio-core-dir }}
cache-key: ${{ runner.os }}-pio-${{ matrix.environment }}-${{ hashFiles('**/platformio.ini') }}
restore-key: ${{ runner.os }}-pio-${{ matrix.environment }}-

- name: Run PlatformIO Check
run: >
Expand Down
55 changes: 0 additions & 55 deletions .github/workflows/platformio-update-check.yml

This file was deleted.

31 changes: 12 additions & 19 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,31 +45,24 @@ jobs:

strategy:
matrix:
environment: [esp32dev, norvi_ae01_r]
include:
- environment: esp32dev
pio-core-dir: ~/.platformio
- environment: norvi_ae01_r
pio-core-dir: ~/.platformio
- environment: olimex_esp32_c6_evb
pio-core-dir: ~/.platformio-olimex-c6

steps:
- name: Checkout
uses: actions/checkout@v7

- name: Cache PlatformIO
uses: actions/cache@v6
- name: Set up PlatformIO
uses: ./.github/actions/setup-platformio
with:
path: |
~/.platformio
.pio
key: ${{ runner.os }}-pio-${{ hashFiles('**/platformio.ini') }}
restore-keys: |
${{ runner.os }}-pio-

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.x"

- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install platformio intelhex
pio-core-dir: ${{ matrix.pio-core-dir }}
cache-key: ${{ runner.os }}-pio-${{ matrix.environment }}-${{ hashFiles('**/platformio.ini') }}
restore-key: ${{ runner.os }}-pio-${{ matrix.environment }}-

- name: Build firmware
run: platformio run --environment ${{ matrix.environment }}
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,7 @@ test/native/relay_safety/build/

# Frontend (separate JS project) — ignore lockfiles and node_modules
test/frontend/
graphify-out/

# Pre-compressed web assets (generated by scripts/gzip-web-assets.sh)
data/web/*.gz
Loading
Loading