|
1 | | -2025-09-22 - Short release notes |
| 1 | +# Release Notes |
2 | 2 |
|
3 | | -Highlights |
| 3 | +## Version 0.0.66 (2025-11-22) |
| 4 | + |
| 5 | +### 🎉 New Features |
| 6 | + |
| 7 | +#### Smart Charging Sessions Tracking |
| 8 | +- **New Sensor**: `sensor.octopus_<account>_smart_charging_sessions` |
| 9 | + - Tracks smart charging sessions for Octopus SmartFlex rewards (30€/month with ≥5 smart charges) |
| 10 | + - Shows current month count and progress toward reward eligibility |
| 11 | + - Attributes include: session history, energy totals, qualified months, rewards earned |
| 12 | + - Auto-filters SMART vs BOOST charging types |
| 13 | + |
| 14 | +#### Smart Meter Readings |
| 15 | +- **New Sensor**: `sensor.octopus_<account>_previous_accumulative_consumption_electricity` |
| 16 | + - Displays previous day's total electricity consumption from smart meter |
| 17 | + - Hourly breakdown in attributes for detailed analysis |
| 18 | + - Persistent state restoration on Home Assistant restart |
| 19 | + - Auto-updates when smart meter data becomes available (typically 2+ days lag) |
| 20 | + |
| 21 | +- **New Service**: `octopus_germany.get_smart_meter_readings` |
| 22 | + - Fetch historical smart meter data for any date (YYYY-MM-DD format) |
| 23 | + - Useful for backfilling data or analyzing specific periods |
| 24 | + - Results available via event: `octopus_germany_smart_meter_readings_result` |
| 25 | + |
| 26 | +#### Device Organization |
| 27 | +- **Service Device Grouping**: All entities now grouped under single service device per account |
| 28 | + - Device name: "Octopus Energy Germany (A-xxxxxxx)" |
| 29 | + - Type: SERVICE (cloud service, not hardware) |
| 30 | + - Configuration link to https://my.octopusenergy.de/ |
| 31 | + - Cleaner device registry - no more scattered entities |
| 32 | + |
| 33 | +### 🔧 Improvements |
| 34 | + |
| 35 | +#### API Enhancements |
| 36 | +- Added comprehensive GraphQL schema exploration (54,000+ lines) |
| 37 | +- New charging sessions query with device type filtering |
| 38 | +- Smart meter readings query with property-based filtering |
| 39 | +- Multiple date range testing for data availability |
| 40 | +- Enhanced error handling with detailed logging |
| 41 | + |
| 42 | +#### Token Management |
| 43 | +- Fixed token refresh logic to clear expired tokens before login |
| 44 | +- Improved retry mechanism with exponential backoff |
| 45 | +- Better handling of concurrent token refresh attempts |
| 46 | +- Restored previous token on complete login failure |
| 47 | + |
| 48 | +#### Code Quality |
| 49 | +- All 22 entities now have consistent `device_info` property |
| 50 | +- Proper use of `DeviceEntryType.SERVICE` enum |
| 51 | +- Improved typing with `RestoreEntity` for persistent sensors |
| 52 | +- Cleaner imports and consistent code formatting |
| 53 | +- Fixed `OctopusGermanyOptionsFlow` initialization |
| 54 | + |
| 55 | +### 📝 Configuration Changes |
| 56 | + |
| 57 | +#### New Constants |
| 58 | +- `EXPLORE_SCHEMA_ONCE`: Control schema exploration (debug feature) |
| 59 | +- Service constants for smart meter readings: |
| 60 | + - `SERVICE_GET_SMART_METER_READINGS` |
| 61 | + - `ATTR_DATE` |
| 62 | + - `ATTR_PROPERTY_ID` |
| 63 | + |
| 64 | +#### Updated Services Definition |
| 65 | +- Added `get_smart_meter_readings` service configuration |
| 66 | +- Includes validation for date format (YYYY-MM-DD) |
| 67 | +- Optional property_id (uses first property if not specified) |
| 68 | + |
| 69 | +### 🐛 Bug Fixes |
| 70 | + |
| 71 | +- **Device Status Sensor**: Now properly filters by device_id (previously showed only first device) |
| 72 | +- **Binary Sensor**: Added missing `device_info` property |
| 73 | +- **Switches**: Added missing `device_info` property |
| 74 | +- **Options Flow**: Fixed initialization to accept config_entry parameter correctly |
| 75 | +- **Formatting**: Cleaned up line wrapping and improved readability |
| 76 | + |
| 77 | +### 📖 Documentation Updates |
| 78 | + |
| 79 | +- Updated README with: |
| 80 | + - Smart charging sessions sensor documentation |
| 81 | + - Smart meter readings sensor and service documentation |
| 82 | + - Device grouping explanation |
| 83 | + - Service examples and automation ideas |
| 84 | +- Added detailed attribute descriptions for new sensors |
| 85 | +- Clarified data availability timelines (smart meter data lag) |
| 86 | + |
| 87 | +### 🔄 Migration Notes |
| 88 | + |
| 89 | +**Automatic Migration** (no action required): |
| 90 | +- Existing entities will automatically be grouped under service device on next HA restart |
| 91 | +- All entity IDs remain unchanged |
| 92 | +- Historical data is preserved |
| 93 | + |
| 94 | +**New Functionality**: |
| 95 | +- Smart charging sessions: Automatically created if you have SmartFlex devices |
| 96 | +- Smart meter readings: Automatically created if you have electricity service |
| 97 | +- Service device: Visible in Devices & Services after restart |
| 98 | + |
| 99 | +### 🎯 Requirements |
| 100 | + |
| 101 | +- Home Assistant 2024.1.0 or newer |
| 102 | +- Python 3.11 or newer |
| 103 | +- `python-graphql-client==0.4.3` (unchanged) |
| 104 | + |
| 105 | +### 📊 Statistics |
| 106 | + |
| 107 | +- **New Sensors**: 2 (Smart Charging Sessions, Smart Meter Readings) |
| 108 | +- **New Services**: 1 (Get Smart Meter Readings) |
| 109 | +- **Code Changes**: ~2,500+ lines added/modified |
| 110 | +- **Files Changed**: 9 core files |
| 111 | +- **Device Info Coverage**: 100% (22/22 entities) |
| 112 | + |
| 113 | +### 🙏 Acknowledgments |
| 114 | + |
| 115 | +Thanks to all users providing feedback and testing the integration! |
| 116 | + |
| 117 | +### 📞 Support |
| 118 | + |
| 119 | +For issues or questions: |
| 120 | +- GitHub Issues: https://github.com/thecem/octopus_germany/issues |
| 121 | +- Discussions: https://github.com/thecem/octopus_germany/discussions |
| 122 | + |
| 123 | +--- |
| 124 | + |
| 125 | +## Previous Releases |
| 126 | + |
| 127 | +### Version 0.0.65 (2025-11-22) |
| 128 | + |
| 129 | +**Note**: Version 0.0.65 was released on GitHub with partial features. |
| 130 | +Version 0.0.66 completes the implementation with all features fully documented. |
| 131 | + |
| 132 | +### Version 0.0.64 (2025-09-22) |
| 133 | + |
| 134 | +**Highlights** |
4 | 135 | - Fix: Boost Charge switch could become unavailable due to independent coordinator using an expired JWT. The boost switch now uses the main coordinator and shared token handling. |
5 | 136 | - Fix: Restored `boost_charge_active` and `boost_charge_available` attributes on the Boost Charge switch. |
6 | 137 | - Cleanup: Removed remnants of deprecated `set_vehicle_charge_preferences` service and consolidated to `set_device_preferences`. |
7 | 138 | - Docs: Updated `custom_components/octopus_germany/README.md` and added `TECHNICAL_NOTES.md` describing architecture, token management, and availability rules for the boost switch. |
8 | 139 | - Repository: Rebased local `main` onto `origin/main` to reconcile divergent branches. |
9 | 140 |
|
10 | | -Notes for integrators |
| 141 | +**Notes for integrators** |
11 | 142 | - Boost Charge switch availability depends on the device being LIVE, not suspended, and supporting smart control/smart charging on the account. |
12 | 143 | - If you maintain CI or local clones, consider choosing a default pull behavior to avoid repeated hints from Git. Example to set rebase as default: |
13 | 144 |
|
14 | 145 | git config pull.rebase true |
15 | 146 |
|
16 | | -Contact |
| 147 | +**Contact** |
17 | 148 | - For questions or if you observe regressions, open an issue or attach logs from your Home Assistant instance. |
0 commit comments