First full dryer dump (issue #14, DV90BB5245AES1) surfaced 5 unbound hrefs and an "incomplete capability coverage" repair. Handle them and, while here, make the washer/dryer/dishwasher families consistent instead of each carrying a bespoke variant of the same controls. Dryer coverage: - /power/0, /kidslock/0, /remotectrl/0: bind via the OCF-native + vendor fallback pairs (prefer the standard OCF resource, fall back to -vs). - /buzzersound/vs/0: new Buzzer sound select. - /course/vs/0: cycle select shared with washer/dishwasher; ignore the /st/dryercourse/vs/0 re-encoding (mirror of /st/washercourse/vs/0). Consistency / de-duplication: - Move generic OCF controls (power/kids-lock/remote-control fallback pairs, energy meter) into common.py; every registry uses them. - Move shared laundry controls (buzzer, job-beginning-status, and the /course/vs/0 cycle-select machinery) into laundry.py; washer and dishwasher stop hand-rolling their own copies. - Energy meter is now sentinel-aware everywhere: the dead '-500' instantaneousPower reading no longer shows a misleading 0 W (fixes it on dryers and dishwashers, matching the earlier washer fix). - Job-beginning-status reads x.com.samsung.da.currentStatus, the field every dump actually carries; the dryer sensor was previously blank. Adds a scrubbed dryer fixture, golden, and capability tests, plus an .claude/skills/adding-device-support skill capturing the dump-reading, OCF-vs-vendor, entity-taxonomy, and coverage workflow. Bumps to 0.6.0.
37 lines
570 B
Plaintext
37 lines
570 B
Plaintext
# Secrets and per-instance config — never commit
|
|
.env
|
|
.DS_Store
|
|
|
|
# Certificates and keys — per-instance, never push
|
|
certs/
|
|
*.pem
|
|
*.crt
|
|
*.p12
|
|
*.pfx
|
|
*.key
|
|
token.txt
|
|
|
|
# Python artifacts
|
|
__pycache__/
|
|
*.pyc
|
|
.venv/
|
|
venv/
|
|
|
|
# Capture / dump files
|
|
*.pcap
|
|
*.har
|
|
*.mitm
|
|
capture/
|
|
flows/
|
|
|
|
# Local-only research tools (not part of the HA integration)
|
|
local-tools/
|
|
|
|
# Claude Code per-project state (permissions allowlist, etc.) — but keep
|
|
# shared, committed skills under .claude/skills/.
|
|
.claude/*
|
|
!.claude/skills/
|
|
|
|
# HA dev instance — persisted config and secrets
|
|
ha_config/
|