v0.1.1 — entity IDs no longer contain your email address
Breaking for existing installs: entity IDs change. If you installed v0.1.0,
your dashboard cards, automations and templates will need updating — see below.
The fix
v0.1.0 titled the config entry with the account's email address. Home Assistant
slugifies that title into the device name and from there into every entity ID,
so v0.1.0 produced entities like sensor.you_example_com_points_balance, with
the whole address — local part and employer domain — repeated in every
friendly name.
That is not just untidy. Entity IDs travel: into dashboard YAML pasted into a
forum thread or an issue on this repository, and into any screenshot. Nobody
should have to remember to redact their email address out of a card.
The entry is now titled with the account's first name, which the API
already returns at login — which is also what the title is for, since it is
what tells two accounts in the same household apart. So you get
sensor.michael_points_balance. If the account has no first name set, the
title falls back to the local part of the address, never the whole address.
The unique_id that stops the same account being added twice is unchanged and
is still the full lowercased email; it is never rendered anywhere.
Upgrading from v0.1.0
Entity IDs are fixed when an entity is first created, so updating the
integration is not enough on its own. Remove the Trappers config entry and
add it again (Settings → Devices & Services → Trappers → ⋮ → Delete, then
Add Integration). Then update any card, automation or template that referred
to the old IDs. Recorder history under the old IDs is not carried over.
A fresh install needs none of this.
Also in this release
async_login() now returns only the account's first name rather than the whole
userDetails object it came from — so the surname, home address, telephone
number and employer employee numbers sitting alongside it never reach a caller
at all.
Two tests pin the whole rendered surface — every entity ID, every state
attribute and every device field — so this cannot quietly come back.