Releases: bigmoby/home-assistant-candy
Release list
v1.2.2
๐ Bug Fix
Fix: Integration fails to load when appliance is off at HA startup
In v1.2.1, if Home Assistant restarted while the appliance was powered off, the integration
could not complete its first coordinator poll and entered a retry loop โ causing all sensors
to appear as "unavailable" with the warning:
"Questa entitร non viene piรน fornita dall'integrazione candy"
(This entity is no longer provided by the candy integration)
Root cause: On the first poll after startup, last_known_status was None (no previous
successful poll in memory). A timeout from the offline device therefore could not trigger
the "Off" heuristic introduced in v1.2.1, resulting in UpdateFailed โ
ConfigEntryNotReady โ integration not loaded โ entities missing.
Fix: The integration now reads Home Assistant's own entity registry and state machine
at startup to determine the previously registered device type. It pre-populates
last_known_status with a synthetic "Off" status before the first poll โ allowing the
integration to load successfully even when the appliance is powered off.
Startup behavior after this fix
| Scenario | Before v1.2.2 | After v1.2.2 |
|---|---|---|
| HA restarts, appliance off after finished cycle | โ Integration fails to load | โ Sensors show "Off" |
| HA restarts, appliance on | โ Works normally | โ Works normally |
| Appliance goes offline during HA session (after Finished/Idle) | โ Sensors show "Off" | โ Sensors show "Off" |
| Appliance goes offline during active cycle | โ Sensors show "unavailable" | โ Sensors show "unavailable" |
Followup fix for issue #1 reported by @nelsonamen
Full Changelog: v1.2.1...v1.2.2
v1.2.1
๐ Bug Fixes & โจ Improvements
New: Program sensor for all appliances
Each supported appliance now exposes a dedicated program sensor that shows the currently selected program number directly in Home Assistant:
| Sensor | Entity ID | Appliance |
|---|---|---|
| Wash program | sensor.wash_program |
Washing machine |
| Dryer program | sensor.dryer_program |
Tumble dryer |
| Oven program | sensor.oven_program |
Oven |
| Dishwasher program | sensor.dishwasher_program |
Dishwasher |
Fix: Graceful "Off" state when device is powered down
Previously, when an appliance was turned off after completing a cycle, all sensors would enter an error "unavailable" state โ even though the device was simply switched off by the user.
Starting from this release, the integration uses a heuristic to infer the device state:
- โ If the last known state was Finished or Idle โ sensors display "Off"
โ ๏ธ If the device goes offline during an active cycle โ sensors still display "unavailable" (possible network issue)
This behavior closely matches what users expect from smart appliance integrations.
Fix: Faster offline detection
The internal API client now retries failed requests 3 times instead of 10, reducing the time to detect an offline device from several minutes down to ~15 seconds.
Fix: Improved log level for expected timeouts
Network timeouts caused by a powered-off device are now logged as WARNING instead of ERROR, reducing noise in the Home Assistant log.
Fixes issue #1 reported by @nelsonamen โ "Error fetching candy data: Error communicating with API: TimeoutError()"
Full Changelog: v1.2.0...v1.2.1
v1.2.0
๐ Introduction of LAN Auto-Discovery & Full Localization!
This release brings a massive improvement to the user onboarding experience and completely replaces hardcoded sensor names with the modern Home Assistant native translation engine. Plus, a completely overhauled, rock-solid CI/CD pipeline!
โจ New Features
- LAN Auto-Discovery: The integration now performs an automatic, asynchronous parallel scan of your local subnet (max 15s) during the configuration setup. If multiple Candy devices are found, you'll be greeted with a convenient selection list! For specific network setups, the manual IP entry fallback is always available.
- Full Localization Support (Entity Translations): Wave goodbye to hardcoded English python labels. All sensors, options and entities for Washing Machines and Dishwashers natively support the modern Home Assistant
strings.jsonmulti-language system. - Complete UI translations: The entire UI (Setup & Discovery wizard) and all the entities are now fully translated in English and Italian ๐ฎ๐น!
๐ Bug Fixes & Stability
- Fixed
manifest.jsondependencies: Explicitly added thenetworkcore component to comply with stricthassfest(Official HA validation bot) requirements. - Fixed systematic
mypytype-checker issues regarding custom attributes likedevice_class.
๐งฐ Under the Hood (Maintenance)
- GitHub Actions Overhaul: Completely modernized the GitHub Actions Continuous Integration pipeline (
lint,test,validateandreleaseworkflows). - CI tests now natively use Python 3.13, Node.js 24 compatibility (bypassing GitHub deprecation warnings) and run the HACS Check to ensure 100% adherence to community standards.
- Added clear reference to the original author and origins inside
LICENSE.md.
Installation Note: If you are upgrading from older manual versions, your entities will automatically migrate and map to the new translated Home Assistant ID system!
Full Changelog: https://github.com/bigmoby/home-assistant-candy/commits/v1.2.0