Releases: JoshuaSeidel/homeassistant-acinfinity
v1.3.1 - Custom Device Names in Lovelace Cards
Enhancement: Custom Device Names for Lovelace Cards
This release adds support for displaying custom device names from the AC Infinity app in Lovelace cards and templates.
What's New
Port/Device Entities Now Include:
- device_name - The custom name set in AC Infinity app (e.g. Humidifier, Grow Light)
- port_number - The port number for reference
Sensor Entities Now Include:
- sensor_port - The sensor port number
- sensor_type - The sensor type identifier
Example Usage in Templates
Access device_name in templates:
{{ state_attr('sensor.controller_port_3_current_power', 'device_name') }}
This displays the custom name like 'Humidifier' instead of 'Port 3'.
Implementation
Added extra_state_attributes property to:
- ACInfinityDeviceEntity (all port/device entities)
- ACInfinitySensorEntity (all sensor entities)
These attributes are automatically available on all entity types across all platforms (sensor, binary_sensor, switch, number, select, time).
Use Cases
- Dashboard Cards - Show custom names instead of port numbers
- Custom Cards - Display meaningful names in card titles
- Templates - Use device names in automations and scripts
- History Graphs - Better legend labels with custom names
Lovelace Card Integration
Custom cards can access device names via JavaScript:
const deviceName = entity.attributes.device_name;
Compatibility
- No breaking changes
- Backward compatible with all previous versions
- Works with v1.3.0 consolidated device grouping
Ready for your custom Lovelace card integration!
v1.3.0 - Consolidated Device Grouping 🎯
🎉 Major Release: Consolidated Device Grouping
⚠️ BREAKING CHANGE
This release fundamentally changes how AC Infinity devices are organized in Home Assistant.
Before v1.3.0
- ❌ Each port created a separate device
- ❌ Each sensor/probe created a separate device
- ❌ Impossible to view all controller info together on dashboard cards
- ❌ Many separate devices cluttering the device registry
After v1.3.0
- ✅ Single controller device with all entities grouped together
- ✅ All ports are entities under the controller device
- ✅ All sensors/probes are entities under the controller device
- ✅ All outlets are entities under the controller device
- ✅ Dashboard cards can now show complete controller information
- ✅ Clean device registry with logical organization
🔧 What Changed
Removed:
- Separate
DeviceInfocreation for ports (~10 lines) - Separate
DeviceInfocreation for sensors (~100 lines) - Complex device matching logic in cleanup function
Updated:
ACInfinityDevice.device_infonow returns controller's device_infoACInfinitySensor.device_infonow returns controller's device_info- Cleanup function now removes legacy port/sensor devices from old versions
📊 Impact
Device Registry:
- Before: 1 controller + N ports + M sensors = many devices
- After: 1 controller device with all entities
Dashboard Cards:
- Can now use entity cards to show all controller data together
- Filter by device to see all related entities
- Much cleaner UI organization
🚀 Upgrade Instructions
- Backup your configuration (recommended)
- Update to v1.3.0
- Restart Home Assistant (required for entity re-registration)
- Legacy port/sensor devices will be automatically cleaned up
- Update any dashboard cards that referenced old device IDs
- Enjoy consolidated device view! 🎊
📝 Technical Details
- Lines of code removed: 151 (cleaner, simpler codebase)
- Breaking change: Device identifiers changed
- Entity IDs: Unchanged (no automation breakage)
- Unique IDs: Unchanged (entities preserve history)
⚙️ For Developers
This change aligns with Home Assistant best practices:
- Devices represent physical hardware
- Entities represent individual capabilities/sensors
- Ports and outlets are capabilities, not separate hardware
🐛 Known Issues
None currently. If you experience issues:
- Try restarting Home Assistant twice
- Check for orphaned devices in Configuration > Devices & Services
- Report issues at: https://github.com/JoshuaSeidel/homeassistant-acinfinity/issues
Full Changelog: v1.2.5...v1.3.0
v1.2.5 - Fix Device Association
Changes in v1.2.5
Bug Fixes
- Fixed device_id attribute issue: Entities now properly associate with their devices in the entity registry
- Previously, all entities showed as
no_device_idbecause device association wasn't being properly registered
Technical Details
- Set
_attr_device_infoin all entity subclasses (ACInfinityControllerEntity,ACInfinitySensorEntity,ACInfinityDeviceEntity) - Added
_attr_should_poll = Falseto base entity class (entities use coordinator polling instead) - Ensures proper device linkage for all entity types across all platforms
Impact
This fix ensures that:
- Entities properly show up under their associated devices in Home Assistant
- Device grouping works correctly in the UI
- Entity registry correctly tracks device associations
- Automations and scripts can properly reference entities by device
Note: After updating, you may need to restart Home Assistant for the entity registry to properly re-associate entities with their devices.
v1.2.4 - Translation Domain Support
Changes in v1.2.4
Enhancements
- Added
_attr_translation_domainattribute to all entity classes - Ensures proper translation support across all platforms
- Improves entity name and state translation consistency
Technical Details
- Affects all entity platforms: binary_sensor, sensor, switch, number, select, and time
- Sets translation domain to match the integration domain ('ac_infinity')
- Enables proper use of translation files for entity names and states
This is a minor enhancement that improves the integration's compatibility with Home Assistant's translation system.
v1.2.3 - Auto-reload and Disabled Device Cleanup
What's New
Auto-reload Support
Configuration changes now take effect immediately without requiring a full Home Assistant restart. When you modify settings in the options flow, the integration will automatically reload.
Disabled Device Cleanup
When you disable a port or sensor group in the settings, the corresponding device will now be automatically removed from the Home Assistant device registry. Previously, disabled devices would remain in the registry as orphaned entries.
Improvements
- Improved error handling for entity configuration lookups
- Gracefully handle missing config entries by defaulting to disabled state
- Removed restart prompts from the options flow UI since they're no longer needed
How It Works
- Go to Settings > Devices & Services > AC Infinity > Configure
- Select "Enable / Disable Entities"
- Choose a controller
- Set any port or sensor group to "Disable"
- Submit - the integration will reload automatically and the disabled device will be removed
Testing Notes
Please test and verify:
- Disabling a port removes the port device from the registry
- Disabling sensors removes sensor devices from the registry
- Re-enabling a disabled item recreates the device and entities
- Configuration changes apply without requiring a Home Assistant restart
v1.2.2 - Port Number Identification
🔢 New Feature: Port Number Sensor
Now you can easily see which physical port each device is connected to!
✨ What's New
Port Number Sensor
- Displays the physical port number (1-8) for each device
- Shows exactly where the device is plugged into the controller
- Makes it easy to match devices to physical locations
🎯 Why This Matters
Previously, devices showed their status and type but not their port location. Now you can:
- Quickly identify port locations - Know at a glance that "Exhaust Fan" is on Port 3
- Organize dashboards by port - Sort or filter devices by port number
- Match physical to digital - Connect what you see in Home Assistant to the actual controller
- Troubleshoot faster - "Check Port 5" is clearer than "check the fan"
📊 Complete Port Identification
Each device now provides 5 identification sensors:
- Port Number ⬅️ NEW! - Physical port location (1-8)
- Port Status - Active/Inactive
- Connected Device Type - Human-readable name (e.g., "Ventilation Fan")
- Device Load Type ID - Numeric identifier
- Sub-Device ID - Unique device identifier
📋 Example Use Case
Before v1.2.2:
- "Controller Port 1" device shows status, but you don't know it's Port 1
After v1.2.2:
- Port Number sensor shows "1"
- You instantly know this is the first physical port on the controller
🔧 Upgrade Instructions
- Update to v1.2.2 via HACS
- Restart Home Assistant
- Port Number sensor will appear for each device port
Full Changelog: v1.2.1...v1.2.2
v1.2.1 - Critical Bugfix: Port Sensors Now Visible
🔧 Critical Bugfix Release
This release fixes the issue where the new port status sensors added in v1.2.0 were not appearing in Home Assistant.
�� What Was Fixed
Issue: Port status sensors not showing up after v1.2.0 update
Root Causes:
- Custom sensor keys not properly registered in
CustomDevicePropertyKey - Sensor
suitable_fnincorrectly checking for device_control data - Keys using string literals instead of constant references
Solutions:
- Added
PORT_STATUS,CONNECTED_DEVICE_TYPE, andSUB_DEVICE_IDtoCustomDevicePropertyKeyconstant - Changed
suitable_fnfor all 4 port detection sensors to always returnTrue - Updated sensor keys to use proper constant references
✅ Now Working
All 4 port detection sensors now properly appear:
- Port Status - Active/Inactive indicator
- Connected Device Type - Human-readable device name
- Device Load Type ID - Numeric identifier
- Sub-Device ID - Unique device identifier
📋 Upgrade Instructions
- Update to v1.2.1 via HACS or manual installation
- Restart Home Assistant
- The 4 new sensors should now appear for each device port
If sensors still don't appear:
- Go to Settings → Devices & Services → AC Infinity
- Click on your controller device
- Check if the entities are disabled - enable them if needed
🙏 Apologies
Sorry for the inconvenience! The sensors were tested locally but a configuration issue prevented them from appearing in fresh installations. This is now resolved.
Full Changelog: v1.2.0...v1.2.1
v1.2.0 - Port Status and Device Detection
🔌 New Feature: Port Usage & Device Identification
Know exactly which ports are in use and what's connected to them!
✨ What's New
4 New Sensors Per Port
Port Status Sensor
- Shows "Active" or "Inactive" for each port
- Helps identify which ports are configured and in use
Connected Device Type Sensor
- Human-readable device names like:
- Grow Light
- Humidifier / Dehumidifier
- Heater / AC
- Circulation Fan / Ventilation Fan
- Water Pump / Peristaltic Pump
- CO2 Regulator
- Generic Outlet
Device Load Type ID Sensor
- Numeric identifier for the device type
- Useful for automations and advanced configurations
Sub-Device ID Sensor
- Unique identifier for each connected device
- Track specific hardware across configurations
🎯 Use Cases
- Dashboard Organization: Show only active ports with device icons
- Port Mapping: Quickly identify what's connected where
- Configuration Validation: Verify all devices are properly configured
- Automation Logic: Trigger actions based on device type
- Documentation: Export port configurations for reference
📊 Device Types Supported
Standard Controllers (15 types):
- No Device Type, Grow Light, Humidifier, Dehumidifier
- Heater, AC, Fan, Water Pump, and more
AI+ Controllers (11 additional types):
- Outlet, Circulation Fan, Ventilation Fan
- Peristaltic Pump, CO2 Regulator, and more
🔧 Technical Details
- 4 new sensor entities per device port
- Zero breaking changes - all existing entities unchanged
- Compatible with all controller models
- Device type mapping for both standard and AI+ controllers
📈 Total Sensors Per Port
With this release, each device port now provides:
- 27+ sensors covering status, device info, automation, and settings
Full Changelog: v1.1.0...v1.2.0
v1.1.0 - Comprehensive Sensor Exposure
🎉 Major Feature Release: Complete Data Visibility
This release exposes every available data point from your AC Infinity controllers, giving you complete visibility into your automation settings and environment for advanced dashboard creation.
✨ What's New
📊 20+ New Sensors Per Device Port
Every device port now exposes comprehensive automation data:
Target & Trigger Values:
- Target Temperature, Humidity, and VPD
- High/Low Temperature Triggers
- High/Low Humidity Triggers
- High/Low VPD Triggers
Timing & Cycles:
- Timer to On (Minutes)
- Timer to Off (Minutes)
- Cycle On Duration
- Cycle Off Duration
- Schedule Start Time
- Schedule End Time
Live Automation Data:
- Automation Temperature (what the controller sees)
- Automation Humidity (what the controller sees)
- Automation VPD (what the controller sees)
- Temperature Trend (rising/falling)
- Humidity Trend (rising/falling)
Speed Settings:
- On Speed
- Off Speed
🎯 Use Cases
With this release you can now:
- Monitor Automation Targets: See exactly what your automation is trying to achieve
- Track Trigger Points: Know when devices will turn on/off based on thresholds
- Visualize Trends: Display rising/falling climate indicators
- Build Complete Dashboards: Every automation parameter is now available
- Debug Automation: See what values the controller is using vs. what sensors report
📈 Technical Details
- Expanded from 3 to 23+ sensors per device port
- All sensors properly typed with Home Assistant device classes
- Clean naming conventions with appropriate icons
- Zero breaking changes - all existing entities remain unchanged
🔧 Compatibility
- Works with all AI+ controller models (89 AI+, Outlet AI, Outlet AI+)
- Requires Home Assistant 2023.1 or newer
- HACS installation recommended
Full Changelog: v1.0.1...v1.1.0
v1.0.1 - AI Assist Documentation
What's New
Documentation improvements for AI-managed devices to clarify behavior for users with AI Assist enabled.
Documentation Updates
- AI Assist Behavior: Added comprehensive documentation explaining how AI Assist manages devices from the cloud
- Sensors Only Mode: Clarified that users with AI Assist should use "Sensors Only" mode in Home Assistant
- AI Schedule Viewing: Documented where to view AI-generated schedules and recommendations (AC Infinity app)
Notes
- AI Assist controls devices automatically based on cloud-side AI decisions
- Home Assistant integration operates independently and can conflict with AI management
- For AI users: Enable sensors only, view AI schedules in the app
- For manual control: Disable AI Assist and manage everything through Home Assistant
See AI_DATA_REFERENCE.md for complete details.
Full Changelog: v1.0.0...v1.0.1