diff --git a/CHANGELOG.md b/CHANGELOG.md index 85a4250..8659580 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,22 +39,28 @@ Recent features from development that have not been formally released yet: * -## 2024.2.7 Pre-release +## 2024.3.6 release -Prepare for HA Core 2025.1 release, by moving deprecated Contants to Enums. Triggered by HA Core 2023.12 release logging deprecation warnings on startup. +Initial support for new entity features in Climate entity, preparing for HA Core 2025.1. +This will suppress deprecation warnings under Home Assistant Core 2024.2 and later. -### Added +### Fixed -* +* bf778a8 Fixes deprecation warnings in HA 2024.2.x (#74) -### Changed +### Documented -* +* 95e1dab doc: move a release from beta to production +* 375a870 Changelog and manifest ready for Pre-Release 2024.2.7 + + +## 2024.2.7 Pre-release + +Prepare for HA Core 2025.1 release, by moving deprecated Contants to Enums. Triggered by HA Core 2023.12 release logging deprecation warnings on startup. ### Fixed * 38ef7ae Updated to use new ENUM constants instead of deprecated ones (Issue #65) -* ### Documented @@ -65,14 +71,6 @@ Prepare for HA Core 2025.1 release, by moving deprecated Contants to Enums. Trig * 909513e Contributing pre-releases (beta versions) * -### Deprecated - -* - -### Removed - -* - ## 2023.3.27 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5ecb026..feb0faf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -133,3 +133,12 @@ Otherwise, when the Release is created it should be marked as a Pre-release. That way it will only be available to users who have selected the option 'show beta versions'. + +When community testing shows that a Prerelease is ready for mainstream use: +* in the main ha-warmup repository, go into [Code / Tags / Releases](https://github.com/ha-warmup/warmup/releases) +* find the Prerelease and Edit it +* remove mentions in the text of this being a Prerelease +* uncheck the box `Set as a pre-release` +* check the box `Set as the latest release` +* click Update Release +This should make that the target of https://github.com/ha-warmup/warmup/releases/latest and therefore the version that most HACS users will be updated to. diff --git a/README.md b/README.md index d80f62a..a89db76 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,17 @@ If you are winding up having to do multiple restarts because Home Assistant won' Alternatively, with the menu restructuring, the menu entry for _Stop Server_ isn't accessible. However you can use the keyboard short cut 'c' and type restart to find that choice. Once the server has stopped you can move the config entry in and do a `ha core start` +#### Debugging flags +If you do encounter issues, here are the logger settings in the Home Assistant configuration file you use to set debug or other levels of logging. + +``` +logger: + default: warning + logs: + custom_components.warmup.climate: debug + custom_components.warmup.warmup4ie.warmup4ie: debug +``` ### Add your devices to the dashboard Our wiki has some [ideas on how to configure warmup diff --git a/custom_components/warmup/climate.py b/custom_components/warmup/climate.py index ac049ca..f164372 100644 --- a/custom_components/warmup/climate.py +++ b/custom_components/warmup/climate.py @@ -22,7 +22,10 @@ CONF_USERNAME, PRECISION_HALVES, UnitOfTemperature, + MAJOR_VERSION, + MINOR_VERSION, ) + from homeassistant.exceptions import InvalidStateError, PlatformNotReady import homeassistant.helpers.config_validation as cv from homeassistant.util import Throttle @@ -67,7 +70,7 @@ CONST_MODE_OFF: HVACMode.OFF, } -SUPPORT_FLAGS = ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE +SUPPORT_FLAGS = ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE | ClimateEntityFeature.TURN_ON |ClimateEntityFeature.TURN_OFF SUPPORT_HVAC_HEAT = [HVACMode.HEAT, HVACMode.AUTO, HVACMode.OFF] SUPPORT_PRESET = [PRESET_AWAY, PRESET_HOME, PRESET_BOOST] @@ -152,6 +155,9 @@ def __init__(self, hass, device: Warmup4IEDevice, client: WarmupClient): self._away = False self._on = True + # https://developers.home-assistant.io/blog/2024/01/24/climate-climateentityfeatures-expanded + self._enable_turn_on_off_backwards_compatibility = False + @property def name(self): """Return the name of the climate device.""" @@ -250,6 +256,14 @@ def set_hvac_mode(self, hvac_mode): else: raise InvalidStateError + def turn_on(self) -> None: + """Turn the entity on.""" + self.set_hvac_mode(HVACMode.AUTO) + + def turn_off(self) -> None: + """Turn the entity off.""" + self.set_hvac_mode(HVACMode.OFF) + def set_override(self, temperature, until): """Set a temperature override for this thermostat.""" self._device.set_override(temperature, until) diff --git a/custom_components/warmup/manifest.json b/custom_components/warmup/manifest.json index 8fadc2b..f4f92a5 100644 --- a/custom_components/warmup/manifest.json +++ b/custom_components/warmup/manifest.json @@ -8,5 +8,5 @@ "iot_class": "cloud_polling", "issue_tracker": "https://github.com/ha-warmup/warmup/issues/", "requirements": [], - "version": "2024.2.7" + "version": "2024.3.6" }