Julian Pawlowski
ee45fc14f9
Delete docs/user/versioned_docs/version-v0.24.0/automation-examples.md
2025-12-25 13:06:46 +01:00
copilot-swe-agent[bot]
cd526a965e
Replace water heater with home battery storage system
...
Water heater was not a realistic example - people want hot water immediately regardless of price. Home battery storage is the perfect example: purpose-built for price arbitrage, high consumption (5-10 kW), actual ad-hoc price checking makes sense
Co-authored-by: jpawlowski <75446+jpawlowski@users.noreply.github.com>
2025-12-24 23:28:32 +00:00
copilot-swe-agent[bot]
a182882e0f
Replace unrealistic device examples with practical alternatives
...
- Changed dishwasher → water heater (high consumption, thermal storage, more realistic)
- Changed washing machine → pool pump (continuous operation, ideal for price automation)
- Both new examples are widely applicable real-world scenarios
Co-authored-by: jpawlowski <75446+jpawlowski@users.noreply.github.com>
2025-12-24 17:49:23 +00:00
copilot-swe-agent[bot]
cb4100db9c
Improve automation examples with realistic volatility thresholds
...
- Changed from > 15 to >= 15 (include moderate volatility, not just high)
- Updated titles and descriptions for accuracy (moderate+ instead of high-only)
- Added volatility threshold guide (CV ranges and meanings)
- Clarified what CV thresholds mean in real-world savings
- Made examples more practical and user-friendly
Co-authored-by: jpawlowski <75446+jpawlowski@users.noreply.github.com>
2025-12-24 17:33:19 +00:00
copilot-swe-agent[bot]
7dd1d2c8dc
Fix: Use coefficient_of_variation attribute from volatility sensor
...
Replaced incorrect day_volatility_% on binary sensor with actual coefficient_of_variation attribute from sensor.tibber_home_volatility_today
Co-authored-by: jpawlowski <75446+jpawlowski@users.noreply.github.com>
2025-12-24 17:17:32 +00:00
copilot-swe-agent[bot]
fb70b0ca6b
Fix automation examples in all versioned docs (v0.21.0-v0.24.0)
...
Applied same volatility sensor fix to all versioned documentation
Co-authored-by: jpawlowski <75446+jpawlowski@users.noreply.github.com>
2025-12-24 16:37:06 +00:00
github-actions[bot]
fc64aecdd9
docs: add version snapshot v0.24.0 and cleanup old versions [skip ci]
2025-12-22 23:42:52 +00:00
github-actions[bot]
5cc71901b9
docs: add version snapshot v0.23.1 and cleanup old versions [skip ci]
2025-12-21 10:48:25 +00:00
github-actions[bot]
19882fb17d
docs: add version snapshot v0.23.0 and cleanup old versions [skip ci]
2025-12-18 15:19:19 +00:00
Julian Pawlowski
df1ee2943b
docs: update AGENTS.md links to use main branch
2025-12-18 15:16:34 +00:00
Julian Pawlowski
f539c9119b
Merge branch 'main' of https://github.com/jpawlowski/hass.tibber_prices
2025-12-18 15:15:23 +00:00
Julian Pawlowski
b815aea8bf
docs(user): add comprehensive average sensor documentation
...
Expanded user documentation with detailed guidance on average sensors:
1. sensors.md (+182 lines):
- New 'Average Price Sensors' section with mean vs median explanation
- 3 real-world automation examples (heat pump, dishwasher, EV charging)
- Display configuration guide with use-case recommendations
2. configuration.md (+75 lines):
- New 'Average Sensor Display Settings' section
- Comparison table of display modes (mean/median/both)
- Attribute availability details and recorder implications
3. Minor updates to installation.md and versioned docs
Impact: Users can now understand when to use mean vs median and how to
configure display format for their specific automation needs.
2025-12-18 15:15:00 +00:00
github-actions[bot]
c30af465c9
docs: add version snapshot v0.22.1 and cleanup old versions [skip ci]
2025-12-13 14:10:02 +00:00
github-actions[bot]
51cf230c48
docs: add version snapshot v0.22.0 and cleanup old versions [skip ci]
2025-12-11 08:44:26 +00:00
Julian Pawlowski
60e05e0815
refactor(currency)!: rename major/minor to base/subunit currency terminology
...
Complete terminology migration from confusing "major/minor" to clearer
"base/subunit" currency naming throughout entire codebase, translations,
documentation, tests, and services.
BREAKING CHANGES:
1. **Service API Parameters Renamed**:
- `get_chartdata`: `minor_currency` → `subunit_currency`
- `get_apexcharts_yaml`: Updated service_data references from
`minor_currency: true` to `subunit_currency: true`
- All automations/scripts using these parameters MUST be updated
2. **Configuration Option Key Changed**:
- Config entry option: Display mode setting now uses new terminology
- Internal key: `currency_display_mode` values remain "base"/"subunit"
- User-facing labels updated in all 5 languages (de, en, nb, nl, sv)
3. **Sensor Entity Key Renamed**:
- `current_interval_price_major` → `current_interval_price_base`
- Entity ID changes: `sensor.tibber_home_current_interval_price_major`
→ `sensor.tibber_home_current_interval_price_base`
- Energy Dashboard configurations MUST update entity references
4. **Function Signatures Changed**:
- `format_price_unit_major()` → `format_price_unit_base()`
- `format_price_unit_minor()` → `format_price_unit_subunit()`
- `get_price_value()`: Parameter `in_euro` deprecated in favor of
`config_entry` (backward compatible for now)
5. **Translation Keys Renamed**:
- All language files: Sensor translation key
`current_interval_price_major` → `current_interval_price_base`
- Service parameter descriptions updated in all languages
- Selector options updated: Display mode dropdown values
Changes by Category:
**Core Code (Python)**:
- const.py: Renamed all format_price_unit_*() functions, updated docstrings
- entity_utils/helpers.py: Updated get_price_value() with config-driven
conversion and backward-compatible in_euro parameter
- sensor/__init__.py: Added display mode filtering for base currency sensor
- sensor/core.py:
* Implemented suggested_display_precision property for dynamic decimal places
* Updated native_unit_of_measurement to use get_display_unit_string()
* Updated all price conversion calls to use config_entry parameter
- sensor/definitions.py: Renamed entity key and updated all
suggested_display_precision values (2 decimals for most sensors)
- sensor/calculators/*.py: Updated all price conversion calls (8 calculators)
- sensor/helpers.py: Updated aggregate_price_data() signature with config_entry
- sensor/attributes/future.py: Updated future price attributes conversion
**Services**:
- services/chartdata.py: Renamed parameter minor_currency → subunit_currency
throughout (53 occurrences), updated metadata calculation
- services/apexcharts.py: Updated service_data references in generated YAML
- services/formatters.py: Renamed parameter use_minor_currency →
use_subunit_currency in aggregate_hourly_exact() and get_period_data()
- sensor/chart_metadata.py: Updated default parameter name
**Translations (5 Languages)**:
- All /translations/*.json:
* Added new config step "display_settings" with comprehensive explanations
* Renamed current_interval_price_major → current_interval_price_base
* Updated service parameter descriptions (subunit_currency)
* Added selector.currency_display_mode.options with translated labels
- All /custom_translations/*.json:
* Renamed sensor description keys
* Updated chart_metadata usage_tips references
**Documentation**:
- docs/user/docs/actions.md: Updated parameter table and feature list
- docs/user/versioned_docs/version-v0.21.0/actions.md: Backported changes
**Tests**:
- Updated 7 test files with renamed parameters and conversion logic:
* test_connect_segments.py: Renamed minor/major to subunit/base
* test_period_data_format.py: Updated period price conversion tests
* test_avg_none_fallback.py: Fixed tuple unpacking for new return format
* test_best_price_e2e.py: Added config_entry parameter to all calls
* test_cache_validity.py: Fixed cache data structure (price_info key)
* test_coordinator_shutdown.py: Added repair_manager mock
* test_midnight_turnover.py: Added config_entry parameter
* test_peak_price_e2e.py: Added config_entry parameter, fixed price_avg → price_mean
* test_percentage_calculations.py: Added config_entry mock
**Coordinator/Period Calculation**:
- coordinator/periods.py: Added config_entry parameter to
calculate_periods_with_relaxation() calls (2 locations)
Migration Guide:
1. **Update Service Calls in Automations/Scripts**:
\`\`\`yaml
# Before:
service: tibber_prices.get_chartdata
data:
minor_currency: true
# After:
service: tibber_prices.get_chartdata
data:
subunit_currency: true
\`\`\`
2. **Update Energy Dashboard Configuration**:
- Settings → Dashboards → Energy
- Replace sensor entity:
`sensor.tibber_home_current_interval_price_major` →
`sensor.tibber_home_current_interval_price_base`
3. **Review Integration Configuration**:
- Settings → Devices & Services → Tibber Prices → Configure
- New "Currency Display Settings" step added
- Default mode depends on currency (EUR → subunit, Scandinavian → base)
Rationale:
The "major/minor" terminology was confusing and didn't clearly communicate:
- **Major** → Unclear if this means "primary" or "large value"
- **Minor** → Easily confused with "less important" rather than "smaller unit"
New terminology is precise and self-explanatory:
- **Base currency** → Standard ISO currency (€, kr, $, £)
- **Subunit currency** → Fractional unit (ct, øre, ¢, p)
This aligns with:
- International terminology (ISO 4217 standard)
- Banking/financial industry conventions
- User expectations from payment processing systems
Impact: Aligns currency terminology with international standards. Users must
update service calls, automations, and Energy Dashboard configuration after
upgrade.
Refs: User feedback session (December 2025) identified terminology confusion
2025-12-11 08:26:30 +00:00
github-actions[bot]
f67d712435
docs: add version snapshot v0.21.0 and cleanup old versions [skip ci]
2025-12-07 21:05:21 +00:00