Skip to content

Commit 08271e2

Browse files
committed
Release version 0.0.66
Major Features: - Smart charging sessions sensor with reward tracking (30€/month) - Smart meter readings sensor with hourly breakdown - Service device grouping for cleaner organization - New get_smart_meter_readings service Improvements: - Token management fixes with better error handling - All 22 entities now properly grouped under service device - Device status sensor now correctly filters by device_id - Enhanced GraphQL schema exploration Bug Fixes: - Fixed device_info properties on all entities - Corrected OctopusGermanyOptionsFlow initialization - Improved code formatting and consistency See RELEASE_NOTES.md for full details.
1 parent 58c5bc6 commit 08271e2

File tree

9 files changed

+3401
-76
lines changed

9 files changed

+3401
-76
lines changed

RELEASE_NOTES.md

Lines changed: 135 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,148 @@
1-
2025-09-22 - Short release notes
1+
# Release Notes
22

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**
4135
- 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.
5136
- Fix: Restored `boost_charge_active` and `boost_charge_available` attributes on the Boost Charge switch.
6137
- Cleanup: Removed remnants of deprecated `set_vehicle_charge_preferences` service and consolidated to `set_device_preferences`.
7138
- Docs: Updated `custom_components/octopus_germany/README.md` and added `TECHNICAL_NOTES.md` describing architecture, token management, and availability rules for the boost switch.
8139
- Repository: Rebased local `main` onto `origin/main` to reconcile divergent branches.
9140

10-
Notes for integrators
141+
**Notes for integrators**
11142
- Boost Charge switch availability depends on the device being LIVE, not suspended, and supporting smart control/smart charging on the account.
12143
- 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:
13144

14145
git config pull.rebase true
15146

16-
Contact
147+
**Contact**
17148
- For questions or if you observe regressions, open an issue or attach logs from your Home Assistant instance.

0 commit comments

Comments
 (0)