Releases: dalinicus/homeassistant-acinfinity
Releases · dalinicus/homeassistant-acinfinity
"Remaining Time" and "Next State Change" Sensors
What's Changed
💥 Breaking Changes
- Removed "Surplus" sensor
- Replaced by "Remaining Time" sensor
- This value represented the remaining time until the controller would toggle power in timer and schedule based modes, and was pulled from the control payload as it was thought it was the only place it was made available. The correct value was discovered in the sensor payload, so this control is no longer needed.
🚀 Features
- Add "Remaining Time" sensor for port devices.
- Represents the number of seconds until the next state change when using timer or schedule based modes.
- Replaces the "Surplus" sensor.
- Add "Next State Change" sensor for port devices.
- Represents he timestamp of the next state change when using timer or schedule based modes, calculated based on the controller's configured time zone
- Required for Timer Bar Card support
🪲 Bug Fixes
- Fix issue with updating entities where the data returned by the AC Infinity API may have None values in fields that represent enum or int values, resulting in None errors. Defaults values were added to all controls to protect against this scenario.
🔨 Refactoring
- Switch to python 3 built in
ZoneInfo
to handle timezone calculations - Fixed miscellaneous typos
Full Changelog: 1.7.0...1.8.1
"Remaining Time" and "Next State Change" Sensors
What's Changed
💥 Breaking Changes
- Removed "Surplus" sensor
- Replaced by "Remaining Time" sensor
- This value represented the remaining time until the controller would toggle power in timer and schedule based modes, and was pulled from the control payload as it was thought it was the only place it was made available. The correct value was discovered in the sensor payload, so this control is no longer needed.
🚀 Features
- Add "Remaining Time" sensor for port devices.
- Represents the number of seconds until the next state change when using timer or schedule based modes.
- Replaces the "Surplus" sensor.
- Add "Next State Change" sensor for port devices.
- Represents he timestamp of the next state change when using timer or schedule based modes, calculated based on the controller's configured time zone
- Required for Timer Bar Card support
🪲 Bug Fixes
- Fix issue with select based controls where the data returned by the AC Infinity API may have None values in fields that represent enum values, resulting in an index lookup error. Defaults values were added to all select controls to protect against this scenario.
🔨 Refactoring
- Switch to python 3 built in
ZoneInfo
to handle timezone calculations - Fixed miscellaneous typos
Full Changelog: 1.7.0...1.8.0
Additional Advanced Controls
Changes
🚀 Features
- Adds target controls for Auto and VPD device modes (#76) (#70) @dalinicus
- Add device type setting (#75) @dalinicus
- Add sensor to indicate the controller is connected to the AC Infinity API (#74) (#67) @dalinicus
- Add sensor to indicate if a device is in an on or off state (#73) @dalinicus
- Add sunrise/sunset duration port advanced settings (#69) @dalinicus
- Add outside humidity advanced settings for controller. (#68) @dalinicus
Dynamic Response Support
🚀 Features
- Add entities for changing Dynamic Support settings for port devices.
- Switch between "Transition" and "Buffer" dynamic response type.
- Set Transition or Buffer Temperature between 0-10C or 0-20F.
- Set Transition or Buffer Humidity between 0-10%.
- Set Transition or Buffer VPD between 0.0-1.0 kPa in increments of 0.1 kPa
- Apply an
is_suitable
check for all entities on startup- This will protect against controls throwing errors if a given controller does not support a given entity.
📚 Documentation
- Improve distinction between what a Sensor, Control, and a Setting represents within the scope of the integration
- Add Table of Contents
🔨 Refactoring
- Additional renaming to reinforce the difference between a Sensor, Control, and Setting
Calibration Settings Support
🚀 Features
- Add controls to modify the calibration settings on a UIS Controller.
- Calibrate Temperature up to ±10C or ±20F.
- Calibrate Humidity up to ±10%.
- Calibrate Leaf Temperature Offset up to ±10C or ±20F.
🐎 Performance
- Rework client update calls to match the payload of the Android/iOS app exactly.
📚 Documentation
- Clarify in README that the Bluetooth only model of Controller 69 is not a compatible device.
🔨 Refactoring
- Organize API field keys into importable python objects.
- Standardize naming of sensors and fields to use "Controller" and "Port" nomenclature.
- Merge requirements.txt into a single file.
Support Long Term Statistics
Changes
🚀 Features
Add state_class to select sensors to enable log term statistics.
Controller Sensors
- Temperature
- Humidity
- VPD
Port Sensors
- Current Power
POST Payload Defaults
Changes
🪲 Fixes
- When updating device settings, sets the default value of some unused fields in the payload to
0
instead ofNone
. This fixes an issue with newer device firmware that expects a nonNone
value. This is possibly related to performance issues reported in #39, but more investigation is needed. (#52) @cole-maclean
Password Length and kPa Default Unit Fixes
Changes
🪲 Fixes
- Fixes an issue with passwords over 25 characters. The API only accepts passwords of length 25 or fewer, and it appears the Android/iOS apps just truncate the users password down to 25. Updates the config flow to do the same so users can log in with their longer than allowed password. (#51) @dalinicus
- Add suggested unit of measurement to kpa sensor. Without a suggested unit of measurement, in addition to native unit of measurement, haas defaults the sensor units to psi instead of kPa. New users adding the integration should now correctly have kPa as the default (#51) @dalinicus
Add ability to change password.
Translation Support and Initilization Improvements
Changes
🚀 Features
📣 Translations Wanted! Please open a pull request with your own translation json file.
- Add sensor name values to
strings.json
andtranslations/en.json
(#41) @dalinicus - Replace hard coded sensor names with translation key values (#40) @dalinicus
🪲 Fixes
- Fix issue with device mode selection where data coordinator was not being refreshed when user changed the mode, resulting in a delay in visual updates (#40) @dalinicus
🔨 Refactoring
- Incorporate EntityDescription pattern provided by HA Core instead of manually setting _attr values. (#40) @dalinicus
- Create mixin objects to provide
fn_get_value
andfn_set_value
to built-in EntityDescriptions (#40) @dalinicus- Allows each sensor description to be in control of its own data transformation instead of being implemented by the class object
- Refactor or remove sensor class objects made redundant by using the EntityDescritpion pattern. (#40) @dalinicus
📚 Documentation
- Various README updates.