What's changed
Stale device cleanup (#170)
- Auto-reconciliation on reload —
async_setup_entrynow diffs the device list returned by the Govee API against every device registered under the config entry. Devices whose identifier is no longer in the API response are automatically removed from the registry on every HA restart or integration reload. - Delete button — implements
async_remove_config_entry_device, enabling the Delete button on the device page. The button is only active for devices absent from the current API response; live devices show it disabled, preventing accidental removal. - Empty-response guard — tightened the API result check from
is Noneto falsy so a 200 with an empty device list (e.g. wrong Govee account) does not trigger a mass device wipe.