Skip to content

feat: support App login and align device controls - #1

Draft
wangty163 wants to merge 4 commits into
masterfrom
codex/account-password-auth
Draft

feat: support App login and align device controls#1
wangty163 wants to merge 4 commits into
masterfrom
codex/account-password-auth

Conversation

@wangty163

@wangty163 wangty163 commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • reproduce the current Haier Smart Home App account/password token exchange
  • persist only generated client IDs and returned tokens; never persist account passwords
  • normalize numeric Haier user IDs to strings and migrate existing entries for Home Assistant compatibility
  • align entity names, program options, value ranges, and entity platforms with the current official App configuration for the verified dishwasher and refrigerator models
  • add missing device controls, including dishwasher stop/reservation/App settings and refrigerator temperature/time controls
  • read the dishwasher settings list dynamically so Home Assistant follows the names and switches currently exposed by the App backend
  • exclude mall, customer service, account management, unsafe engineering commands, and model attributes that are not exposed by the verified App product profile

Entity semantics

  • expose dishwasher and refrigerator door states as binary_sensor entities with the door device class
  • remove the malformed writable dishwasher doorStatus attribute and use the real read-only doorCloseStatus
  • expose one-shot power and refrigerator purification commands as buttons
  • separate dishwasher running state from running control
  • invert buzzerDisabled so the Home Assistant “蜂鸣音” switch matches the App meaning
  • migrate stale or platform-changed entity registry entries before platform setup

Device impact

  • Casarte CWC10-B29BKU1: six official wash programs, stop, reservation, drying, disinfection, enhance, rinse, power, remote authorization, buzzer, water-softener and rinse-aid levels, plus App reminder/AI/hot-wind/peak-valley settings
  • Casarte BCD-450WGCFDM4WNU1: refrigerator/freezer temperature controls, baby-care compartment, smart storage, quick freeze, travel energy saving, purification, time-of-use settings, and four door-state sensors

Validation

  • real account/password login confirmed in Home Assistant by the user
  • 23 unit tests pass inside the live Home Assistant 2026.7.4 container
  • 54 Python files compile and git diff --check passes
  • current device digital models and official App cloud/configuration APIs were audited read-only against the live account
  • all 27 live integration files exactly match the release tree hash
  • after the beta.4 restart, 74 Haier entities load with the expected domain distribution; 43 key App/semantic entities match their required names and platforms, with zero unavailable entities
  • all five door entities report device_class=door and the current closed state
  • Home Assistant is healthy with restart count 0 and no Haier startup errors
  • no device control command was sent during validation

Deployment

Release v1.3.0-beta.4 is installed through HACS from wangty163/haier at commit 4d73260; the integration was not manually copied into the live Home Assistant configuration.

@wangty163 wangty163 changed the title feat: support Haier account and password login feat: support App login and align device controls Jul 29, 2026
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