Releases: JCSharpIII/ha-portacool-apex
v.0.1.6
Full Changelog: v0.1.5...v0.1.6
v0.1.4
Full Changelog: v0.1.4...v0.1.5
v0.1.4
Full Changelog: v0.1.3...v0.1.4
v0.1.3
Full Changelog: v0.1.2...v0.1.3
v0.1.1
Full Changelog: v0.1.1...v0.1.2
bug fixes
v0.1.1
Portacool APEX – Functional Summary (Today’s Release)
Core Connectivity & Architecture
• Real-time state tracking via Firebase WebSockets
• Device state (power, fan, pump, alerts, timer, temperatures) now updates based on WS push data instead of blind polling.
• Polling interval increased to 60 seconds for safety and efficiency; WS remains the primary update mechanism.
• Stable cloud authentication
• Firebase custom token handling stabilized.
• Automatic token refresh handled without user intervention.
⸻
Controls & UI Improvements
Power Control
• Single authoritative Power switch
• Device on/off is now cleanly mapped and no longer causes state “bounce” or double toggles.
• Power switch placed at the top of the integration device view for clarity.
⸻
Fan Control
• Unified Fan Mode selector
• Renamed to Fan Mode
• Options mapped to user-friendly values:
• Off
• 20%
• 40%
• 60%
• 80%
• 100%
• Eliminates ambiguity between raw datapoints and actual fan behavior.
⸻
Pump Control (Major Redesign)
• Pump On/Off switch removed
• Replaced with a single Pump Mode selector that fully represents device behavior:
• Off
• Eco
• 1
• 2
• 3
• 4
• 5
• Max
• Prevents invalid state combinations (e.g., Eco + Manual speed simultaneously).
• Mirrors Portacool mobile app behavior exactly.
⸻
Timer Enhancements
• Sleep Timer selector
• Sets the device timer via API.
• New: Timer Remaining sensor
• Shows remaining time until shutdown.
• Updates periodically (minutes, not seconds) for accuracy and efficiency.
• Automatically resets when the timer expires or is turned off.
• Designed as a sensor (not a selector) for professional HA behavior.
⸻
Sensors Added & Improved
Temperature Sensors
• Exit Temperature
• Derived from datapoint correlation (DP3)
• Rounded and displayed in °F
• Ambient Temperature
• Derived from datapoint correlation (DP4)
• Displayed in °F
⸻
Electrical / Diagnostics
• Voltage monitoring
• Two voltage datapoints exposed (likely input and internal load reference).
• Useful for diagnosing fan or pump load-related alerts.
⸻
Alert Handling (Major Design Improvement)
• Category-based alert aggregation
• Alerts grouped logically instead of dozens of individual binary sensors:
• Fan
• Pump
• Louvers
• Water
• Temperature
• Voltage
• Each category surfaces a summarized sensor state.
• Prevents UI clutter while preserving full alert fidelity.
• Water Status sensor
• Correctly reflects:
• Empty
• Low
• Overflow
• Normal
• Matches mobile app behavior exactly.
⸻
Integration Metadata & UX
• Device name and model pulled from API
• Integration title now reflects actual device (e.g., APEX 1200).
• Model number stored in config entry.
• Timer, pump, fan, and power states stay synchronized
• No desync between HA, WS updates, and the Portacool mobile app.
⸻
Reliability Fixes
• Fixed:
• Duplicate entity creation
• Selector state not updating
• Power toggle flicker
• Missing constants causing integration load failures
• Broken imports after refactors
⸻
Net Result
• A fully state-accurate, cloud-backed Portacool APEX integration
• Clean, professional Home Assistant UI semantics
• Real-time updates with minimal cloud load
• A solid foundation for:
• Climate entity abstraction
• Advanced dashboard cards
• Future HA PR / HACS release
v0.1.0
This is the initial release for the Portacool Apex 1200, It should support other Apex models since they share the same API and base functions.
Supports the following functions:
Cloud Auth: Email/Password (same credential used with mobile app)
Power: on | off
Fan speed: Off | 20% | 40% | 60% | 80% | 100%
timer: 30m | 1h | 2h | 4h | 8hr
When I have time, I will add the control to turn pump on/off, sensors for water level, exit temperature (if possible), Current Status, Notifications, and pooling to ensure state changes from the mobile app or manual control on the cooler itself are refreshed in home assistant. I really need to dig into the API to see what is possible. More to come, I hope to get this working before spring 2026.