Skip to content

Fix duplicate version in update entity title - #176

Open
ColinSummers wants to merge 14 commits into
schmittx:mainfrom
ColinSummers:fix/update-title-duplication
Open

Fix duplicate version in update entity title#176
ColinSummers wants to merge 14 commits into
schmittx:mainfrom
ColinSummers:fix/update-title-duplication

Conversation

@ColinSummers

Copy link
Copy Markdown

Summary

  • The eero API returns a firmware title like "eeroOS 7.16.1" which already embeds the version number
  • HA's update card renders the title property alongside latest_version (e.g. "v7.16.1")
  • This results in "eeroOS 7.16.1 v7.16.1" — the version shown twice
  • Fix: strip the version suffix from the API title so only the product name ("eeroOS") is returned

Before: eeroOS 7.16.1 v7.16.1
After: eeroOS v7.16.1

Test plan

  • Verify update entities display version without duplication
  • Verify title still displays correctly when API returns a title without a version suffix
  • Verify title returns None gracefully when no firmware title is available

ColinSummers and others added 14 commits July 20, 2026 12:48
async_remove_device raises KeyError when the device has already been
removed from the registry (e.g. by a prior iteration of the cleanup
loop). Python 3.14's ReadOnlyDict.pop() surfaces this as an unhandled
exception, causing the entire integration setup to fail with
setup_error.

Wrap the call in try/except to handle the race gracefully.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix KeyError in device cleanup on Python 3.14
HA 2026.7 changed zone/person tracking to rely on the in_zones state
attribute. The old manual state/state_attributes approach doesn't set
in_zones, so zone.home reports 0 persons for router-based trackers.

BaseScannerEntity is the intended base class for connection-based
trackers — it derives state from is_connected and handles in_zones
automatically. The existing is_connected, source_type, ip_address,
mac_address, and hostname properties are exactly what it needs.

Closes #3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix device tracker zone counting (HA 2026.7)
- api/eero.py:143: set_status_light_brightness(0) returned the bound
  method instead of calling it — added missing parentheses
- __init__.py:401: conf_activity[network_id] → .get(network_id, {})
  to guard against KeyError on migrated config entries
- __init__.py: fixed copy-pasted "Return the state attributes" docstrings
  on network and resource properties
- api/__init__.py:284: removed dead file.close() after with block
- api/network.py:87: "Adblock dasy" → "Adblock day"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PP pass: fix brightness bug, KeyError guard, dead code
Wired clients return None for connectivity sub-keys rather than
omitting them. Use `or {}` to guard against explicit None values.

Fixes #4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Migrate to has_entity_name pattern so Home Assistant does not
prepend the device name twice when generating entity IDs.
Move network prefix and connection type suffix into device_info.name
and return only the entity description name from the name property.

Fixes #6
Offline or inactive devices return (None, None) for data usage.
Coalesce None to 0 before summing download and upload bytes.

Fixes #5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix TypeError when data usage values are None
Fix AttributeError in channel_width_rx/tx for wired clients
UNDEFINED lives in homeassistant.helpers.typing, not homeassistant.const.
The wrong import prevented the entire eero integration from loading on
HA 2026.7.x.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The eero API returns a title like "eeroOS 7.16.1" which already embeds
the version number. HA's update card appends latest_version alongside
the title, resulting in "eeroOS 7.16.1 v7.16.1". Strip the version
suffix from the title so it displays as "eeroOS v7.16.1".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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