Skip to content

fix(appliances): route enumeration at Haier's new unified-api endpoint - #8

Merged
Dekkee merged 1 commit into
mainfrom
fix/haier-unified-appliance-list
Jun 21, 2026
Merged

fix(appliances): route enumeration at Haier's new unified-api endpoint#8
Dekkee merged 1 commit into
mainfrom
fix/haier-unified-appliance-list

Conversation

@Dekkee

@Dekkee Dekkee commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Why

Around 2026-06-20 Haier migrated appliance enumeration off the legacy /commands/v1/appliance REST endpoint that pyhon-revived 0.18.3 calls in HonAPI.load_appliances. For migrated accounts that endpoint now returns 200 with an empty {"payload":{"appliances":[]}} body, so every Haier device shows up as unavailable in Home Assistant.

Independently confirmed in mmalolepszy#48 — same day, same symptom, same new endpoint (discovered by intercepting the hOn app): https://api-iot.he.services/unified-api/v1/view/appliance-list.

What

  • New appliance_list_patch.py monkey-patches HonAPI.load_appliances to query the new endpoint; __init__.py applies it on import.
  • Response envelope is undocumented (reference gist was deleted), so list extraction probes the plausible shapes and logs the raw keys if none match, rather than silently returning nothing.

Stopgap until the fix lands upstream in pyhon-revived.

Ref: mmalolepszy#48

🤖 Generated with Claude Code

Haier migrated appliance enumeration off the legacy /commands/v1/appliance
REST endpoint around 2026-06-20. For migrated accounts that endpoint now
returns 200 with an empty {"payload":{"appliances":[]}} body, so every
device shows up as unavailable in Home Assistant — pyhon-revived 0.18.3
still calls the legacy path in HonAPI.load_appliances.

Monkey-patch load_appliances to query the endpoint the hOn app now uses,
{API_URL}/unified-api/v1/view/appliance-list, which returns the same
records. The response envelope is undocumented, so list extraction probes
the plausible shapes and logs the raw keys if none match, instead of
silently returning nothing.

Stopgap until the fix lands upstream in pyhon-revived.

Ref: mmalolepszy#48

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Dekkee
Dekkee merged commit 18120b6 into main Jun 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant