Releases: joyfulhouse/intellicenter
v3.6.6
What's New in v3.6.6
Added
- Climate Entity - Full support for UltraTemp heat pump with cooling
HVACAction.COOLINGdetection for active cooling state- Preset modes reflecting detected heating/cooling capabilities
- Simplified HVAC modes (Off/Auto) driven by actual equipment state
- IntelliChem Dosing Sensors - Acid and chlorine dosing volume monitoring
- VSF Pump Control - Variable Speed/Flow pump mode selection and speed/flow setpoints
- Pump Speed/Flow Control - Number entities for variable speed pump setpoints
Changed
- pyintellicenter 0.1.15 - Updated protocol library with climate and pump improvements
- Improved pump entity creation: removed restrictive subtype checks for PMPCIRC entities
Fixed
- Water Heater Operation Mode - Resolved validation error when setting operation mode; decoupled from body STATUS
- IntelliChem Tank Level - Corrected off-by-one error in acid tank level reporting
- Light effect control now works correctly with pyintellicenter 0.1.7+
Full Changelog: v3.6.5...v3.6.6
v3.6.5
Fix: Water heater operation mode shows correctly for inactive bodies (#34)
Bug fix: The water heater's current_operation was incorrectly gated by body STATUS, causing the operation mode to show "off" when a heater was configured for an inactive body (e.g., setting the Spa heater while in Pool mode).
Changes
- Decoupled
current_operationfrom bodySTATUSso it reflects the configured heater regardless of whether the body pump is running - Real-time heating activity (
heating/idle) remains correctly gated by body STATUS inextra_state_attributes
Testing
- 217 tests passing (2 new tests for the fix)
- All CI checks green (ruff, mypy, bandit, hassfest, HACS)
Fixes #34
v3.6.4
Fix: Water Heater Operation Mode Validation Error
Fixes #32
What changed
- Removed
stateproperty override — newer Home Assistant versions markWaterHeaterEntity.stateas@final, deriving state fromcurrent_operation. The old override returned values not inoperation_list, causing the validation error and blank tile card state. - Added
WaterHeaterEntityFeature.ON_OFF— enables tile card toggle for turn on/off. - Added
heating_statusextra state attribute — preserves heating/idle distinction as"heating"or"idle"(accessible viastate_attr()in automations).
Behavior
| Scenario | State | heating_status |
|---|---|---|
| Heater off | off |
not present |
| Actively heating | Gas Heater |
heating |
| At setpoint | Gas Heater |
idle |
Migration notes
- If you had automations checking
state == "on"orstate == "idle", update them to usestate_attr('water_heater.xxx', 'heating_status')instead. - The tile card will now correctly show the heater name or "off" instead of a blank dot.
v3.6.3
What's Changed
Climate Entity Improvements
- Add preset mode support for heat pump systems
- Simplified HVAC mode handling for cleaner state reporting
Bug Fix: Light Effects (via pyintellicenter 0.1.15)
- Fix
set_light_effect()returning 404 errors from IntelliCenter - Regression introduced in pyintellicenter v0.1.8 (affected v0.1.8–v0.1.14):
ACTattribute was accidentally replaced withUSEwhen setting light effects USEreflects current state (read-only);ACTis the correct action trigger forSETPARAMLIST- Fixes #30
Dependencies
- Requires
pyintellicenter>=0.1.15
🤖 Generated with Claude Code
v3.6.2
What's Changed
Added
- Climate entity for UltraTemp heat pumps - Bodies with UltraTemp heat pumps now get a climate entity with:
- Dual setpoints: heating (
LOTMP) and cooling (HITMP) - HVAC modes: off, heat, cool, heat_cool
- Active cooling detection via
HVACAction.COOLING
- Dual setpoints: heating (
Dependencies
- Requires pyintellicenter >= 0.1.13
Notes
- Climate entities are only created for bodies where
body_supports_cooling()returns True (UltraTemp heaters withSUBTYP="ULTRA") - Bodies without cooling support continue to use the water_heater entity
v3.6.1
What's New
IntelliChem Dosing Sensors
- Added pH dosing volume sensor (PHVOL)
- Added ORP dosing volume sensor (ORPVOL)
VSF Pump Control
- Unified Speed Entity: Single speed control that dynamically switches between RPM and GPM based on pump mode
- Mode Selector: New select entity for switching between RPM and GPM modes on VSF pumps
- Smart Capability Detection: Correctly identifies VSF (dual-mode) vs VS (RPM-only) pumps
Bug Fixes
- Fixed pump capability detection for VS vs VSF pumps
- Fixed mode selector only appearing for pumps that support both RPM and GPM
- Fixed speed value display using clamped values from pyintellicenter
Technical Improvements
- 194 automated tests (up from 182)
- Comprehensive test coverage for pump speed and mode entities
Full Changelog: v3.6.0...v3.6.1
v3.6.1-beta.6
What's Changed
VSF Pump Control Redesign
VSF (Variable Speed/Flow) pumps now use a unified speed entity that dynamically changes based on the pump mode:
- Single entity replaces separate RPM/GPM entities
- Unit of measurement changes automatically (
rpm↔gpm) based onSELECTmode - Min/max/step values update automatically when mode switches
- Entity responds to both
SPEEDandSELECTattribute changes
| SELECT Mode | Unit | Min | Max | Step |
|---|---|---|---|---|
| RPM | rpm | 450 | 3450 | 50 |
| GPM | gpm | 15 | 140 | 5 |
Breaking Change
number.pool_rpm_pool and number.pool_gpm_pool will become unavailable. Users may need to update automations referencing old entity IDs.
Technical Details
- Added
PumpSpeedNumberclass for VSF pumps with dynamic properties - VS-only pumps continue to use
PoolNumberwith RPM - VF-only pumps continue to use
PoolNumberwith GPM - 19 new tests added for the redesigned functionality
Full Changelog: v3.6.1-beta.5...v3.6.1-beta.6
v3.6.1-beta.5
What's Changed
Bug Fixes (from beta.4)
- Fixed pump mode selector creation - Now only creates the RPM/GPM mode selector when the pump supports BOTH modes (MAX_ATTR > 0 AND MAXF_ATTR > 0)
- Fixed pump capability detection - IntelliFlo VS (speed-only) pumps no longer get GPM entities
- Fixed select entity method name and API call
Features
- Add IntelliChem dosing volume sensors (PHVOL, ORPVOL) for monitoring cumulative acid/chlorine dispensed
- Add pump mode selector for VSF pumps that support both RPM and GPM modes
Entity Creation Logic
| Pump Type | RPM Setpoint | GPM Setpoint | Mode Selector |
|---|---|---|---|
| IntelliFlo VS (speed-only) | ✅ | ❌ | ❌ |
| IntelliFlo VF (flow-only) | ❌ | ✅ | ❌ |
| IntelliFlo VSF (both) | ✅ | ✅ | ✅ |
Full Changelog: v3.6.1-beta.4...v3.6.1-beta.5
v3.6.1-beta.4
What's Changed
Bug Fixes
- Fixed pump capability detection - IntelliFlo VS (speed-only) pumps no longer incorrectly get GPM entities or mode selectors
- Fixed select entity - Corrected method name and API call for pump mode selection
- Fixed supports_gpm logic - Now properly checks if parent pump has MAXF_ATTR > 0
Features (from beta.3)
- Add IntelliChem dosing volume sensors (PHVOL, ORPVOL) for monitoring cumulative acid/chlorine dispensed
- Add pump mode selector for VSF pumps that support both RPM and GPM modes
- Track SELECT_ATTR, SPEED_ATTR, and GPM_ATTR for PMPCIRC objects
Technical Details
- Sensors only appear if your IntelliCenter returns PHVOL/ORPVOL values
- Pump mode selector only appears for VSF pumps (those with MAXF_ATTR > 0 on parent pump)
- IntelliFlo VS and other speed-only pumps will only see RPM setpoints
Full Changelog: v3.6.1-beta.3...v3.6.1-beta.4
v3.6.1-beta.3
What's Changed
IntelliChem Dosing Volume Sensors
- Fixed: PHVOL and ORPVOL sensors now appear for IntelliChem controllers
- Root cause: Attributes were missing from coordinator's tracking map despite pyintellicenter 0.1.8 support
VSF Pump Improvements
- New: Both RPM and GPM number entities created for VSF pumps based on capability (MAXF > 0)
- New: Pump mode select entity to switch between RPM/GPM modes
- Enables full control of variable speed/flow pumps
Changes
coordinator.py: Add PHVOL/ORPVOL to CHEM_TYPE attribute mapnumber.py: Check pump capability instead of just attribute presenceselect.py: New platform for pump mode selection__init__.py: Add Platform.SELECT to platforms list
Dependencies
- pyintellicenter: 0.1.7 → 0.1.8
Full Changelog: v3.6.1-beta.2...v3.6.1-beta.3