Releases: bjoerrrn/EV-Charging-Monitor-for-Raspberry-Pi
v1.4.2 improvements
Full Changelog: v1.4.1...v1.4.2
v1.4.1 sponsoring options added
Full Changelog: v1.4.0...v1.4.1
v1.4.0 minor improvements
Full Changelog: v1.3.1...v1.4.0
v1.3.1 bugfix release
🛠 Changelog (v1.3.1)
Fixed
• 🐛 Crash Fix: Resolved UnboundLocalError: cannot access local variable 'data' in get_last_state() when state file is missing or unreadable.
• Introduced safer default initialization of data variable and ensured a return block is always hit.
• Prevents script termination during Pushover/Discord/ntfy alerts when state file is empty or malformed.
• 🧪 More robust error logging with file content preview when corrupted.
Full Changelog: v1.3.0...v1.3.1
v1.3.0 feature release
Added: External Log Script Functionality
- Introduced support for external logging scripts via the EXTERNAL_LOG_SCRIPT configuration in wallbox_monitor.credo.
- When configured, the script will call an external script after every state change, passing charging data in JSON format.
- Added external_script() function to execute the external script with relevant charging session details.
- Improved save_last_state() to trigger external logging only when needed.
- Prevents unnecessary script calls for duplicate idle states or repeat-check cases.
- Enhanced logging with explicit debug messages for external script execution.
Full Changelog: v1.2.2...v1.3.0
v1.2.2 improvements
Full Changelog: v1.2.0...v1.2.2
v1.2.0 major release
🔧 Major Changes & Enhancements
-
Added Support for Multiple Notification Services
- Introduced
Pushover
andNtfy
notifications alongsideDiscord
. - Configurable via
wallbox_monitor.credo
.
- Introduced
-
Improved State Management (
state file
Enhancements)- Introduced a repeat check mechanism (
repeat_check
flag) to prevent false positives on cable disconnections. - Start time preservation now ensures accurate tracking of charging sessions.
- Introduced a repeat check mechanism (
-
Refined Charging Detection & Handling
- Charging state transition is now more robust.
- Fixed edge cases where
charging stopped
was reported incorrectly.
-
Better Error Handling & Debugging
- Added DEBUG mode (
DEBUG_MODE=true
via environment variable) for additional logs. - Improved exception handling when fetching charging status.
- Added DEBUG mode (
🚀 New Features
✅ Cable Disconnect Verification
- On first detection, the script waits for the next execution before confirming the disconnection.
- Prevents unnecessary alerts from temporary connection losses.
✅ Session Energy Tracking
- Now tracks the exact session energy consumption and sends a summary.
- Includes
format_duration()
for precise reporting of charging time.
✅ Enhanced Logging
- Logs before & after state changes for debugging.
- Added state file content logging when corruption is detected.
🐛 Fixes & Optimizations
🔹 Fixed start_time
loss issue
- Previously,
start_time
was reset after charge rate notifications, causing incorrect session tracking. - Now preserved correctly throughout execution.
🔹 Fixed incorrect total_energy_wh
handling
- Previously,
total_energy_wh
could reset or mismatch during transitions. - Now stored and retrieved properly across state changes.
🔹 Optimized Selenium Retries
- Reduced excessive retries (30 → 10) for faster script execution.
- Improved error resilience in fetching charging rate & energy.
📌 Summary
🔹 More reliable charge state detection
🔹 More detailed session energy reporting
🔹 More notification options (Pushover, Ntfy)
🔹 Less false positives on cable disconnections
🔹 Better debug logging for troubleshooting
✅ Upgrade recommended for more accurate tracking and fewer false alerts! 🚀
Full Changelog: v1.1.0...v1.2.0
v1.1.0 major release
🛠 Energy Consumption & Charging State Fixes
✅ Fixed negative energy values when the charger resets (stored_power > total_energy_wh).
✅ Corrected session energy display to prevent redundant values (X kWh of X kWh).
✅ Added charger reset detection with logs when stored_power > total_energy_wh.
🔄 Improved Charging State Handling
✅ Modified "charging stopped" notification (only when charging ends, not on cable unplugging).
✅ Prevented "charging stopped" from triggering on cable disconnection.
✅ Introduced cable connection & disconnection detection:
• "🔌 Cable disconnected" is only sent once, when unplugging.
• "🔌 Cable connected" is only sent once, when replugging.
✅ Ensured state is saved correctly in STATE_FILE:
• "disconnected" is now properly recorded instead of defaulting to "idle".
• When the cable is reconnected, it transitions back to "idle" or "charging" correctly.
🔁 Fetching & Error Handling Improvements
✅ Ensured 30-second retry loop in fetch_charging_status() and logged each attempt for debugging.
✅ Improved exception handling in fetch_charging_status() (catches NoSuchElementException, TimeoutException).
✅ Fixed missing exception handling in main():
• Catches all errors and logs them as CRITICAL.
• Sends a Discord alert when an unexpected error occurs.
• Ensures driver.quit() always runs, even if an exception happens.
🔔 Improved Discord Notifications
✅ Added Discord alerts when:
• Fetching fails after 30 retries.
• A fatal error occurs in fetch_charging_status().
• Cable is unplugged (🔌 Cable disconnected).
• Cable is reconnected (🔌 Cable connected).
🛠 Prevented Notification Spam
✅ Tracked in STATE_FILE so alerts are sent only when the state changes.
Full Changelog: v1.0.6...v1.1.0
v1.0.6 readme update
just a readme update
Full Changelog: v1.0.5...v1.0.6
v1.0.5 improvement
Full Changelog: v1.0.4...v1.0.5