Releases: enoch85/ge-spot
GE-Spot Home Assistant v1.8.0
What's Changed
New Feature: Export Price + code style improvements by @enoch85 in #62
Key changes
• Import Multiplier: Scale spot prices before adding tariffs/taxes (e.g., 0.1068 for Belgian tariffs where providers charge a fraction of spot price)
• Export Price Sensors: Six new sensors for prosumers selling electricity back to the grid
- Export Current Price, Next Interval, Average, Peak, Off-Peak
- Export Tomorrow Average (with interval prices for automations)
- Formula:
(spot_price × multiplier + offset) × (1 + VAT)
• Cache Invalidation: Automatic cache refresh when price-affecting settings change (import multiplier, export settings, VAT, tariffs, taxes)
• Code Quality Improvements:
- Standardized
raw_dataparameter across all 9 parsers (AEMO, Amber, CoMED, Energi Data, Energy Charts, ENTSO-E, Nordpool, OMIE, Strømligning) - Applied Black formatting (88 chars) across entire codebase
- Updated Pylint thresholds: production 7.0, tests 5.0
- Python 3.13 support (upgraded from 3.12)
- Removed dead code and unused imports
• Translations: German and Dutch language packs added
• Bug Fixes:
- ECB exchange rate caching
- Parser variable naming and initialization fixes
- Translation placeholders for hassfest validation
• Testing: 427 tests passing (+81 new tests for import/export functionality)
Full Changelog: v1.7.1...v1.8.0
GE-Spot Home Assistant v1.7.1
What's Changed
Change exponential backoff timeouts + add constants by @enoch85 in #51
Key changes
• Exponential Backoff Improvements: Increased retry timeouts from 2-6-18 seconds to 5-15-45 seconds for better API reliability during peak hours (65s total vs 26s)
• Network Constants Consolidation: Replaced 40+ hardcoded timeout, retry, and cache TTL values across 17 files with centralized constants from Network.Defaults and TimeInterval
• HTTP Timeout Standardization: Increased HTTP safety timeout from 30s to 60s to avoid conflicts with FallbackManager (must exceed max retry timeout of 45s)
• Retry Configuration: Centralized retry logic (max_retries=3 → Network.Defaults.RETRY_COUNT, cutoff times → RETRY_CUTOFF_TIME_HOUR/MINUTE)
• Cache TTL Management: Replaced scattered TTL calculations (6 * 60 * 60 → Network.Defaults.CACHE_TTL, 3600 → CACHE_DEFAULT_TTL_SECONDS)
• Time Conversion Standards: Eliminated magic numbers (3600 → SECONDS_PER_HOUR, * 60 → SECONDS_PER_MINUTE) in utilities and coordinators
• Interval Consistency: Dynamic interval calculations (15 → TimeInterval.get_interval_minutes()) in parsers for future flexibility
• Area Updates: Replaced DE with DE-LU (Germany-Luxembourg) and mapped to existing API identifiers (Nordpool GER, ENTSO-E 10Y1001A1001A82H)
• Code Quality: Improved maintainability - single source of truth for all timing constants, easier to adjust behavior globally
Full Changelog: v1.7.0...v1.7.1
GE-Spot Home Assistant v1.7.0
What's Changed
simplify cache by @enoch85 in #48
Key changes
• Cache Architecture Refactoring: Introduced model with compute-on-demand pattern - stores only source data, computes derived data (validity, statistics) as properties
• Fixed Issue #44: now always computed fresh from source data, eliminating cache coherency bugs with tomorrow prices
• Simplified Midnight Migration: Reduced from ~80 lines to ~20 lines - properties auto-recalculate after migration
• Eliminated Object Creation Overhead: Added class attributes to all API classes, preventing unnecessary TimezoneService instantiation (reduced from 57 to 8 instances)
• Context-Aware Logging: Tomorrow data warnings only appear after 14:00 (when expected), use debug level before that time
• Code Quality: Net reduction of 62 lines in CacheManager, removed all backward compatibility code per project standards
• Comprehensive Testing: Added 36 new tests for IntervalPriceData model, all 343 tests passing
• Documentation: New with architecture diagrams and implementation guide
Full Changelog: v1.6.6...v1.7.0
GE-Spot Home Assistant v1.6.6
What's Changed
Full Changelog: v1.6.5...v1.6.6
GE-Spot Home Assistant v1.6.5
Key changes
- When clearing stale tomorrow data, the system now also clears the data validity metadata
- This forces proper recalculation and triggers fresh API fetches as intended
- Tomorrow prices now correctly populate after 13:00 daily
Full Changelog: v1.6.4...v1.6.5
GE-Spot Home Assistant v1.6.4
Key changes
- Remove 416 lines of unused TimezoneProvider class code and consolidate DST logic into dst_handler module
- Really fix #45 this time
Full Changelog: v1.6.3...v1.6.4
GE-Spot Home Assistant v1.6.3
What's Changed
Key Changes
- DST-aware interval counting:
TimeInterval.get_expected_intervals_for_date()now returns 92/96/100 intervals based on DST transitions - Smart range methods:
get_today_range()andget_tomorrow_range()generate correct interval keys for 23/24/25-hour days - Time-aware validation: Tomorrow data warnings only appear after publication time (13:00-14:00 UTC), not before
- HACS compliance: Added
CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)to satisfy HACS validation - Code quality: Moved inline imports to top, verified DST best practices compliance
Full Changelog: v1.6.2...v1.6.3
GE-Spot Home Assistant v1.6.2
Key Fixes
- DST Detection: Fixed UTC conversion to properly detect fall-back transitions
- Duplicate Intervals during DST: Both occurrences preserved with / suffixes
- Sensor Attributes: Handle DST-suffixed keys without parsing errors
- Tomorrow Data: Refresh stale tomorrow prices during 13:00-15:00 window
Verification
- 291 tests passes validation
- 100% accuracy confirmed against live API data on DST days
- All 100 intervals (96 normal + 4 duplicates) correctly displayed
Full Changelog: v1.6.1...v1.6.2
GE-Spot Home Assistant v1.6.1
What's Changed
Key Changes
- Raw price values: Sensors now include
raw_valueattribute with market price before VAT/tariffs - Stricter interval validation: Allows only 1 missing interval (15 min) instead of 2 (30 min)
- Intelligent fallback: Automatically switches to alternative sources when data is incomplete
- Time-aware validation: Before 13:00, accepts today-only data; after 13:00, requires both today and tomorrow
Full Changelog: v1.6.0...v1.6.1
GE-Spot Home Assistant v1.6.0
What's Changed
Full Changelog: v1.5.3...v1.6.0