Skip to content

Releases: enoch85/ge-spot

GE-Spot Home Assistant v1.8.0

30 Jan 23:55
44affaf

Choose a tag to compare

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_data parameter 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

03 Nov 17:26
a214c5f

Choose a tag to compare

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=3Network.Defaults.RETRY_COUNT, cutoff times → RETRY_CUTOFF_TIME_HOUR/MINUTE)
Cache TTL Management: Replaced scattered TTL calculations (6 * 60 * 60Network.Defaults.CACHE_TTL, 3600CACHE_DEFAULT_TTL_SECONDS)
Time Conversion Standards: Eliminated magic numbers (3600SECONDS_PER_HOUR, * 60SECONDS_PER_MINUTE) in utilities and coordinators
Interval Consistency: Dynamic interval calculations (15TimeInterval.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

31 Oct 15:23
5971995

Choose a tag to compare

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

30 Oct 16:55
5825aaa

Choose a tag to compare

What's Changed

  • fix: Recalculate data_validity during midnight migration (Issue #44) by @enoch85 in #47

Full Changelog: v1.6.5...v1.6.6

GE-Spot Home Assistant v1.6.5

27 Oct 14:15
42a0582

Choose a tag to compare

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

26 Oct 20:10
76b99f5

Choose a tag to compare

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

26 Oct 14:36
415c6a0

Choose a tag to compare

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() and get_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

26 Oct 01:32
60ca5d7

Choose a tag to compare

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

23 Oct 17:48
0500f78

Choose a tag to compare

What's Changed

  • feat: Add raw_value to sensor attributes (Issue #40) by @enoch85 in #41

Key Changes

  • Raw price values: Sensors now include raw_value attribute 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

23 Oct 14:48
1a0e6f6

Choose a tag to compare

What's Changed

  • Fix: Import cleanup and test fixes by @enoch85 in #37

Full Changelog: v1.5.3...v1.6.0