- Entity translations: HA's Entity._name_internal returns _attr_name before it
consults translation_key, and sensor.py/number.py set both, so every
entity.sensor.* and entity.number.* string was unreachable. Dropped
_attr_name (and the dead display_name parameter); filled ambient_lux,
lux_reduction and ramp_half_width into strings.json and translations/en.json.
- ambient_lux gets SensorDeviceClass.ILLUMINANCE; the curve outputs keep none.
- The five number entities move to EntityCategory.CONFIG.
- validate.yml and hassfest.yaml lose their schedule: GitHub auto-disabled
both on 2026-09-08 after 60 days of inactivity, which also stops their push
and pull_request triggers.
- README: the tanh half-width is live-tunable (5-120 min), not a fixed 30 min;
the dead All-Contributors badge is gone, and .all-contributorsrc with it
(the fork does not run the bot and no longer merges from upstream).
- CHANGELOG.md covers 2.3.0-cdit.1 through 2.5.0-cdit.1 (2.2.0 was never
tagged; its content shipped in 2.3.0) and gives 2.1.0 its real date.
- CLAUDE.md matches the fork as it is: number.py, sensor.py and helpers.py in
the layout, three switches, no active openspec change,
add-runtime-range-controls shipped in v2.1.0-cdit.1, and the
translation_key-only naming rule.
164 tests pass, ruff clean.
- manifest.json: remove the 'homeassistant' key (not a valid manifest key;
the min HA version lives in hacs.json). Verified hassfest-clean locally.
- validate.yml / hassfest.yaml: trigger on push to main (default branch) too,
not only master, so CI actually runs.