Conversation
Bumps [peter-evans/repository-dispatch](https://github.com/peter-evans/repository-dispatch) from 1.1.1 to 4.0.1. - [Release notes](https://github.com/peter-evans/repository-dispatch/releases) - [Commits](peter-evans/repository-dispatch@v1.1.1...v4.0.1) --- updated-dependencies: - dependency-name: peter-evans/repository-dispatch dependency-version: 4.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 1 to 6. - [Commits](actions/setup-python@v1...v6) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ted releases - Replace 5 fragmented workflow files with single ci.yml pipeline - Add semantic versioning based on conventional commits (fix:, feat:, BREAKING CHANGE:) - Add automated GitHub releases with firmware binaries on main push - Consolidate lint, build, CodeQL analysis, and dependency checks - Add matrix build strategy for nodemcuv2 and esp32dev environments - Add weekly dependency check schedule (Monday 8 AM) - Update all GitHub Actions to latest versions (v4/v5) - Remove deprecated .travis.yml and .gitlab-ci.yml references
…deployment - Add web-installer with ESP Web Tools (index.html, manifest.json) - Add GitHub Actions workflow triggered by release published - Integrate web-installer link into users-guide
1. Semver: use --pretty=%s instead of --oneline to avoid SHA prefix 2. Multiline: use heredoc format for GITHUB_OUTPUT changelog 3. Manifest: fix esp-web-tools v9 format (builds array with chipFamily) 4. Integrate web-installer deploy into main release job
- Fix v0.0.0 fallback when no tags exist - Check BREAKING CHANGE in commit body (not just subject)
- Separate lib_deps for esp32dev to avoid multiple definition issue - Remove duplicate env sections in platformio.ini
Pin to version 3.2.1 to fix const qualifier error with current Arduino framework.
me-no-dev packages are the original/maintained versions compatible with older Arduino framework.
Use mathieucarbou/AsyncTCP for both Homie and AsyncMqttClient compatibility.
…eases, manifest v9 format Agent-Logs-Url: https://github.com/smart-swimmingpool/pool-controller/sessions/7f036147-196e-4fc7-9a2e-616343ecaba0 Co-authored-by: stritti <184547+stritti@users.noreply.github.com>
…er-job Agent-Logs-Url: https://github.com/smart-swimmingpool/pool-controller/sessions/b48b7db4-a68a-4ba1-a089-94b4a0bc0bdd Co-authored-by: stritti <184547+stritti@users.noreply.github.com>
# Conflicts: # .github/workflows/ci.yml
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@v3...v4) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 8. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v4...v8) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v5...v6) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [peter-evans/repository-dispatch](https://github.com/peter-evans/repository-dispatch) from 3 to 4. - [Release notes](https://github.com/peter-evans/repository-dispatch/releases) - [Commits](peter-evans/repository-dispatch@v3...v4) --- updated-dependencies: - dependency-name: peter-evans/repository-dispatch dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 7 to 8. - [Release notes](https://github.com/super-linter/super-linter/releases) - [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md) - [Commits](super-linter/super-linter@v7...v8) --- updated-dependencies: - dependency-name: super-linter/super-linter dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Add comprehensive improvement plan in Markdown - Define 5 phases with clear milestones - Include technical guidelines and coding standards - Add success metrics and file structure targets - Reference SOLID principles and best practices - Add checkboxes for task tracking - Update date to 04.05.2026 Signed-off-by: Mistral Vibe Code
- Replace raw pointers with std::unique_ptr in Vector<Rule*> - Update addRule() to accept std::unique_ptr<Rule> - Use std::make_unique in main.cpp for rule creation - Remove manual destructor cleanup (now automatic) - Add <memory> include for smart pointers This fixes the critical memory leak issue where rules were allocated with new but ownership was unclear. Signed-off-by: Mistral Vibe Code
- Add check for empty rule vector - Add null pointer check for individual rules - Improve error logging for missing rules - Fix spacing in loop() condition This improves error handling and prevents potential null pointer dereferencing when no rules are configured or rules are null. Signed-off-by: Mistral Vibe Code
- Create src/platform/PinDefinitions.hpp with platform-specific pins - Use PlatformPins namespace for centralized pin management - Replace hardcoded pin definitions in main.cpp - Use constexpr for compile-time pin definitions - Add error for unsupported platforms This improves maintainability and makes it easier to: - Add support for new platforms - Modify pin assignments - Understand platform-specific configurations Signed-off-by: Mistral Vibe Code
- Add platformio_test.ini for test configuration - Create test directory structure (mocks, rules, services) - Add MockRelayController and MockTemperatureSensor for testing - Add initial test_RuleAuto.cpp with basic tests - Add test_main.cpp as Google Test runner This sets up the foundation for unit testing the pool controller. Note: Tests may need adjustment as they reference production code that has hardware dependencies. Signed-off-by: Mistral Vibe Code
- Add new 'test' job to run unit tests - Install GoogleTest via PlatformIO - Run tests using platformio_test.ini configuration - Tests run on all pushes and pull requests This extends the CI/CD pipeline to include unit testing, ensuring code quality and preventing regressions. Signed-off-by: Mistral Vibe Code
- Add feature/* to push branches trigger - Allows testing CI/CD changes on feature branches Signed-off-by: Mistral Vibe Code
- Update platformio.ini: remove nodemcuv2 environment - Change default_envs to esp32dev - Update Homie library to homie-esp32 - Update AsyncMqttClient version - Simplify PinDefinitions.hpp (ESP32 only) - Remove ESP8266 conditionals from main.cpp - Update CI workflow: only build esp32dev - Update README.md: mention ESP32 only - Update architecture plan: remove ESP8266 references This simplifies the codebase and allows full focus on ESP32 features. Signed-off-by: Mistral Vibe Code
- Remove ESP8266 #ifdef blocks from RelayModuleNode.hpp/cpp - Use Preferences.h directly (ESP32 only) - Fix TEMP_READ_INTERVALL typo to TEMP_READ_INTERVAL - Revert homie library to homie-esp8266 (supports both platforms) - Remove AsyncMqttClient version constraint These changes ensure the code compiles cleanly for ESP32 only. Signed-off-by: Mistral Vibe Code
- Exclude hardware-dependent source files from test build - Only include Rule* and Timer files for testing - Add -D ESP32 flag for platform-specific code - Fix build_exclude_src to prevent compilation errors This should resolve test compilation issues with Arduino-specific code. Signed-off-by: Mistral Vibe Code
- Remove Preferences from class members - Create local Preferences instances where needed - Add #include <Preferences.h> to RelayModuleNode.cpp - Use stable homie-esp8266 @ ^3.0.0 This should resolve compilation issues with Preferences on ESP32. Signed-off-by: Mistral Vibe Code
- Remove Preferences.h include and usage from RelayModuleNode - Simplify relay initialization (no persistence for now) - Revert to original homie-esp8266 develop branch This removes the dependency on Preferences.h which was causing compilation issues. Persistence can be added back later with proper ESP32 support. Signed-off-by: Mistral Vibe Code
- Use homie-esp8266 @ ^2.0.0 (stable version) - Add platform_packages for espressif32 framework - Keep AsyncTCP @ ^3.1.4 for ESP32 This should resolve library compatibility issues with ESP32. Signed-off-by: Mistral Vibe Code
- Clean up trailing whitespace in OperationModeNode.cpp - Clean up trailing whitespace in PinDefinitions.hpp - Clean up trailing whitespace in all test files This should resolve Super-Linter VALIDATE_ALL_CODEBASE failures. Signed-off-by: Mistral Vibe Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 1: Kritische Fehler beheben, Testinfrastruktur & ESP32 Fokus
Status: CI-Fehler werden behoben - Trailing Whitespace entfernt
Letzte Aktualisierung: Formatierungsprobleme behoben
Dieser PR implementiert die ersten Punkte aus dem Architekturverbesserungsplan und entfernt den ESP8266 Support.
🎯 Hauptänderungen
✅ Architekturverbesserungen (Phase 1)
✅ ESP32 Fokus
🔧 Bugfixes
📁 Geänderte Dateien
Architektur
Build & CI
Tests
Dokumentation
🎯 Nächste Schritte
📚 Referenzen
Breaking Change: ESP8266 wird nicht mehr unterstützt. Nur ESP32.
Hinweis: Persistenz für Relay-Zustände wurde vorübergehend entfernt, um Build-Probleme zu lösen. Kann später wieder hinzugefügt werden.
Fixes in diesem Update: