Skip to content

Releases: bjoerrrn/EV-Charging-Monitor-for-Raspberry-Pi

v1.4.2 improvements

24 May 20:27
accd618
Compare
Choose a tag to compare

v1.4.1 sponsoring options added

24 May 18:33
fce89c0
Compare
Choose a tag to compare

v1.4.0 minor improvements

24 May 17:41
f9547cf
Compare
Choose a tag to compare

v1.3.1 bugfix release

24 Apr 22:40
8f249dd
Compare
Choose a tag to compare

🛠 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

13 Mar 20:36
1975419
Compare
Choose a tag to compare

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

27 Feb 21:17
5ee031e
Compare
Choose a tag to compare

v1.2.0 major release

19 Feb 17:14
5cc3f0a
Compare
Choose a tag to compare

🔧 Major Changes & Enhancements

  1. Added Support for Multiple Notification Services

    • Introduced Pushover and Ntfy notifications alongside Discord.
    • Configurable via wallbox_monitor.credo.
  2. 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.
  3. Refined Charging Detection & Handling

    • Charging state transition is now more robust.
    • Fixed edge cases where charging stopped was reported incorrectly.
  4. Better Error Handling & Debugging

    • Added DEBUG mode (DEBUG_MODE=true via environment variable) for additional logs.
    • Improved exception handling when fetching charging status.

🚀 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

07 Feb 14:36
4d14f0a
Compare
Choose a tag to compare

🛠 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

04 Feb 22:03
f5b3913
Compare
Choose a tag to compare

just a readme update

Full Changelog: v1.0.5...v1.0.6

v1.0.5 improvement

04 Feb 20:20
d3ff066
Compare
Choose a tag to compare