Skip to content

Releases: alepee/hass-heating_cooling_degree_days

v1.0.2

06 Nov 22:46
8083612

Choose a tag to compare

Heating & Cooling Degree Days – Persistent Storage and Improved Configuration (v1.0.2)

Downloads for this release

A new release introducing persistent storage for historical data and improved default configuration settings. This release ensures data survives Home Assistant restarts and provides better default values for a smoother setup experience.

✨ What's New?

Persistent Storage for Historical Data

The integration now saves daily degree days values to persistent storage, ensuring data survives Home Assistant restarts:

  • Automatic data persistence using Home Assistant's Store helper
  • Historical daily HDD and CDD values are automatically saved after each update cycle
  • Data is automatically restored on startup before the first refresh
  • Prevents loss of accumulated weekly and monthly degree days calculations after restarts
  • Each integration instance uses its own storage file for independent operation

This fixes #57 where monthly and weekly degree days values would reset after a Home Assistant restart.

Improved Default Base Temperature Configuration

The default base temperature has been updated to use more appropriate values:

  • Changed default for Celsius: From 65.0°C to 18.0°C (standard reference for heating degree days in metric systems)
  • Kept default for Fahrenheit: Remains 65.0°F (standard reference for imperial systems)
  • Automatic unit detection: Temperature unit is now automatically detected from Home Assistant preferences
  • Simplified configuration: Removed temperature unit field from configuration flow
  • Better UI guidance: Added field descriptions in configuration UI

🔧 Technical Details

  • Storage location: .storage/heating_cooling_degree_days_data_{entry_id}.json
  • Data format: JSON with ISO date strings as keys and float values
  • Data retention: 60 days (existing cleanup logic preserved)
  • Error handling: Graceful fallback to empty dictionaries if storage operations fail

📝 Important Notes

  • No breaking changes: This release is fully backward compatible. Existing setups continue to work seamlessly.
  • Existing installations: Will automatically get persistent storage enabled. Historical data will start accumulating from the upgrade date.
  • Temperature unit: Existing configurations continue to use their current setting. New installations benefit from automatic detection.

🧪 Testing Needed

We would appreciate feedback on:

  • Data Persistence: Verify that weekly and monthly degree days values are preserved after Home Assistant restarts.
  • Historical Accuracy: Confirm that calculations immediately after restart use the full historical data (no reset to zero or loss of previous days).
  • Multiple Instances: Test that multiple integration instances store data independently without conflicts.
  • Storage Behavior: Monitor storage file creation and verify data is being saved correctly (check .storage/ directory).
  • Default Configuration: Verify that default base temperature is correctly set (18°C for Celsius, 65°F for Fahrenheit) and that temperature unit is auto-detected.
  • Configuration Flow: Test the simplified configuration flow and verify field descriptions appear correctly.

🐛 Bug Reports

If you encounter any issues, please open a GitHub issue and include:

  • Your Home Assistant version.
  • Your integration configuration (temperature sensor, base temperature, enabled periods).
  • Debug-level logs showing data loading and saving operations.
  • A clear description of the problem, including:
    • Whether data persists after restart or if values reset to zero.
    • Which sensors are affected (daily, weekly, monthly, HDD, CDD).
    • When the issue occurs (first startup after upgrade, after restart, during operation).
    • Whether storage files are created in .storage/ directory.
  • Storage file contents (if safe to share, with any sensitive data redacted).

📋 Compatibility

  • Minimum required versions:
    • Home Assistant Core: 2024.1.0
    • HACS: 1.32.0

🔧 Installation / Update

Via HACS (recommended)

  1. Open HACS
  2. Go to Integrations
  3. Click the three dots menu on "Heating & Cooling Degree Days"
  4. Select "Update"
  5. Restart Home Assistant

Manual Installation

  1. Download the latest release from the releases page
  2. Extract the custom_components folder to your Home Assistant configuration directory
  3. Restart Home Assistant

v1.0.2-beta.2

05 Nov 21:10
f9380f7

Choose a tag to compare

v1.0.2-beta.2 Pre-release
Pre-release

Heating & Cooling Degree Days – Persistent Storage and Improved Configuration (v1.0.2-beta.2)

Downloads for this release

A new beta release introducing persistent storage for historical data and improved default configuration settings. This release ensures data survives Home Assistant restarts and provides better default values for a smoother setup experience.

✨ What's New?

Persistent Storage for Historical Data

The integration now saves daily degree days values to persistent storage, ensuring data survives Home Assistant restarts:

  • Automatic data persistence using Home Assistant's Store helper
  • Historical daily HDD and CDD values are automatically saved after each update cycle
  • Data is automatically restored on startup before the first refresh
  • Prevents loss of accumulated weekly and monthly degree days calculations after restarts
  • Each integration instance uses its own storage file for independent operation

This fixes #57 where monthly and weekly degree days values would reset after a Home Assistant restart.

Improved Default Base Temperature Configuration

The default base temperature has been updated to use more appropriate values:

  • Changed default for Celsius: From 65.0°C to 18.0°C (standard reference for heating degree days in metric systems)
  • Kept default for Fahrenheit: Remains 65.0°F (standard reference for imperial systems)
  • Automatic unit detection: Temperature unit is now automatically detected from Home Assistant preferences
  • Simplified configuration: Removed temperature unit field from configuration flow
  • Better UI guidance: Added field descriptions in configuration UI

🔧 Technical Details

  • Storage location: .storage/heating_cooling_degree_days_data_{entry_id}.json
  • Data format: JSON with ISO date strings as keys and float values
  • Data retention: 60 days (existing cleanup logic preserved)
  • Error handling: Graceful fallback to empty dictionaries if storage operations fail

📝 Important Notes

  • No breaking changes: This release is fully backward compatible. Existing setups continue to work seamlessly.
  • Existing installations: Will automatically get persistent storage enabled. Historical data will start accumulating from the upgrade date.
  • Temperature unit: Existing configurations continue to use their current setting. New installations benefit from automatic detection.
  • Beta release: This is a beta version. Please report any issues you encounter.

🧪 Testing Needed

We would appreciate feedback on:

  • Data Persistence: Verify that weekly and monthly degree days values are preserved after Home Assistant restarts.
  • Historical Accuracy: Confirm that calculations immediately after restart use the full historical data (no reset to zero or loss of previous days).
  • Multiple Instances: Test that multiple integration instances store data independently without conflicts.
  • Storage Behavior: Monitor storage file creation and verify data is being saved correctly (check .storage/ directory).
  • Default Configuration: Verify that default base temperature is correctly set (18°C for Celsius, 65°F for Fahrenheit) and that temperature unit is auto-detected.
  • Configuration Flow: Test the simplified configuration flow and verify field descriptions appear correctly.

🐛 Bug Reports

If you encounter any issues, please open a GitHub issue and include:

  • Your Home Assistant version.
  • Your integration configuration (temperature sensor, base temperature, enabled periods).
  • Debug-level logs showing data loading and saving operations.
  • A clear description of the problem, including:
    • Whether data persists after restart or if values reset to zero.
    • Which sensors are affected (daily, weekly, monthly, HDD, CDD).
    • When the issue occurs (first startup after upgrade, after restart, during operation).
    • Whether storage files are created in .storage/ directory.
  • Storage file contents (if safe to share, with any sensitive data redacted).

📋 Compatibility

  • Minimum required versions:
    • Home Assistant Core: 2024.1.0
    • HACS: 1.32.0

🔧 Installation / Update

Via HACS (recommended)

  1. Open HACS
  2. Go to Integrations
  3. Click the three dots menu on "Heating & Cooling Degree Days"
  4. Select "Update"
  5. Restart Home Assistant

Manual Installation

  1. Download the latest release from the releases page
  2. Extract the custom_components folder to your Home Assistant configuration directory
  3. Restart Home Assistant

v1.0.2-beta.1

05 Nov 00:07
387a0ea

Choose a tag to compare

v1.0.2-beta.1 Pre-release
Pre-release

Heating & Cooling Degree Days – Persistent Storage (v1.0.2-beta.1)

Downloads for this release

A new release of the Heating & Cooling Degree Days integration focused on improving data persistence and preventing data loss on Home Assistant restarts.

✨ What's New?

  • Persistent Storage for Historical Data: The integration now saves daily degree days values to persistent storage, ensuring data survives Home Assistant restarts:

    • Automatic data persistence using Home Assistant's Store helper

    • Historical daily HDD and CDD values are automatically saved after each update cycle

    • Data is automatically restored on startup before the first refresh

    • Prevents loss of accumulated weekly and monthly degree days calculations after restarts

    • Each integration instance uses its own storage file for independent operation

  • Improved Data Reliability: Weekly and monthly calculations now maintain accurate historical data across restarts, eliminating the need to rebuild history from scratch after each restart.

  • Seamless Data Recovery: Historical data is automatically loaded during integration setup, ensuring calculations are accurate immediately after Home Assistant restarts.

🔧 Technical Details

  • Storage Implementation:

    • Storage location: .storage/heating_cooling_degree_days_data_{entry_id}.json
    • Data format: JSON with ISO date strings as keys and float values
    • Storage version: 1 (initial version)
    • Data retention: 60 days (existing cleanup logic preserved)
  • Error Handling: Graceful fallback to empty dictionaries if storage operations fail, with appropriate logging for troubleshooting.

📝 Important Notes

  • No breaking changes; existing setups continue to work seamlessly.
  • This release fixes #57 where monthly and weekly degree days values would reset after a Home Assistant restart.
  • Existing installations will start with empty storage and begin accumulating data automatically after upgrade.
  • The integration maintains backward compatibility with the previous in-memory storage approach during migration.

🧪 Testing Needed

We would appreciate feedback on:

  • Data Persistence: Verify that weekly and monthly degree days values are preserved after Home Assistant restarts.
  • Historical Accuracy: Confirm that calculations immediately after restart use the full historical data (no reset to zero or loss of previous days).
  • Multiple Instances: Test that multiple integration instances store data independently without conflicts.
  • Storage Behavior: Monitor storage file creation and verify data is being saved correctly (check .storage/ directory).
  • Cleanup Logic: Verify that old data (older than 60 days) is properly cleaned up while preserving recent history.

🐛 Bug Reports

If you encounter any issues, please open a GitHub issue and include:

  • Your Home Assistant version.
  • Your integration configuration (temperature sensor, base temperature, enabled periods).
  • Debug-level logs showing data loading and saving operations.
  • A clear description of the problem, including:
    • Whether data persists after restart or if values reset to zero.
    • Which sensors are affected (daily, weekly, monthly, HDD, CDD).
    • When the issue occurs (first startup after upgrade, after restart, during operation).
    • Whether storage files are created in .storage/ directory.
  • Storage file contents (if safe to share, with any sensitive data redacted).

Thanks for helping improve the reliability and data persistence of the Heating & Cooling Degree Days integration!

v1.0.1

01 Sep 09:37
29dcd8f

Choose a tag to compare

Heating & Cooling Degree Days - Bug Fix Release (v1.0.1)

Download

The Heating & Cooling Degree Days integration calculates Heating Degree Days (HDD) and Cooling Degree Days (CDD) based on outdoor temperature measurements. These measurements are designed to quantify the energy demand required to heat or cool a building.

🐛 What's Fixed

Bug Fixes

  • Fixed excessive precision in degree days values - Values are now rounded to 1 decimal place for better readability
  • Resolves display of confusing values with 15+ decimal places (e.g., 12.345678901234567°C·d now shows as 12.3°C·d)
  • Improved consistency across all sensor types (daily, weekly, monthly)

Technical Improvements

  • Rounding implemented at calculation source for cleaner architecture
  • Enhanced debugging logs with consistent decimal precision
  • Updated sensor display logic for optimal performance

Dependency Updates

  • Updated development dependencies for better security and performance:
    • Bumped pre-commit from 4.0.1 to 4.3.0
    • Updated pip requirement from <24.4,>=21.0 to >=21.0,<25.3
    • Bumped ruff from 0.9.9 to 0.12.11
    • Bumped hassil from 2.2.3 to 3.2.0
    • Updated GitHub Actions dependencies (checkout v4→v5, upload-release-action v2.9.0→v2.11.2)

📝 Important Notes

  • This is a bug fix release that improves user experience without breaking changes
  • All existing sensors will continue to function exactly as before
  • Values will now display with appropriate precision (1 decimal place)

🙏 Community Feedback

This release addresses GitHub issue #13 reported by the community. Thank you for your feedback and helping improve the integration!

🔗 Related Links

v1.0.0

08 Mar 19:01
7fe9a98

Choose a tag to compare

Heating & Cooling Degree Days - Feature Complete Release (v1.0.0)

Download

The Heating & Cooling Degree Days integration calculates Heating Degree Days (HDD) and Cooling Degree Days (CDD) based on outdoor temperature measurements. These measurements are designed to quantify the energy demand required to heat or cool a building.

✨ What's New

New Features

  • Added calculation for Cooling Degree Days (CDD)
  • Option to enable/disable weekly and monthly sensors
  • Improved validation to accept only temperature sensors

Improvements

  • Enhanced calculation method using numerical integration
  • Updated title based on configured options
  • Fixed entity_id generation

📝 Important Notes

  • The integration has been renamed from "Heating Degree Days" to "Heating & Cooling Degree Days"
  • Existing sensors will continue to function as before

📋 Compatibility

  • Minimum required versions:
    • Home Assistant Core: 2024.1.0
    • HACS: 1.32.0

🔧 Installation / Update

Via HACS (recommended)

  1. Open HACS
  2. Search for "Heating & Cooling Degree Days"
  3. Download the latest version
  4. Restart Home Assistant

Manual Installation

  1. Download heating_cooling_degree_days.zip
  2. Extract the contents into your custom_components folder
  3. Restart Home Assistant

v1.0.0-alpha.3

14 Feb 22:23
13ce7c6

Choose a tag to compare

Heating Degree Days - Hass integration type (v1.0.0-alpha.3)

Downloads for this release

✨ What's New

Integration Improvements:

  • Prefer default integration_type

v1.0.0-alpha.2

14 Feb 22:13
f561cae

Choose a tag to compare

Heating Degree Days - Enhanced Units & HACS Compatibility (v1.0.0-alpha.2)

Downloads for this release

This custom integration calculates Heating Degree Days (HDD) based on outdoor temperature measurements. HDDs are a measurement designed to quantify the demand for energy needed to heat a building.

✨ What's New

Enhanced Unit Display:

  • Proper temperature unit per day display (°C·d or °F·d)

HACS Integration Improvements:

  • Fixed validation issues for better HACS compatibility
  • Improved manifest structure
  • Better integration with Home Assistant's ecosystem

🔧 Technical Improvements

Code Quality:

  • Enhanced coordinator implementation for temperature unit handling
  • Improved type hints and documentation

📝 Important Notes

  • Units will automatically update based on your temperature settings
  • No configuration changes needed for existing installations
  • Compatible with both Celsius and Fahrenheit temperature sensors

v1.0.0-alpha

14 Feb 17:12
c940843

Choose a tag to compare

Heating Degree Days - Initial release (v1.0.0-alpha)

Downloads for this release

This custom integration calculates Heating Degree Days (HDD) based on outdoor temperature measurements. HDDs are a measurement designed to quantify the demand for energy needed to heat a building.

✨ What's New

Initial release

  • Heating Degree Days (HDD) calculation
  • Support for daily, weekly and monthly periods

📝 Important Notes

  • First release
  • Calculation may be wrong