github mbillow/localthings v0.22.0

5 hours ago

⚠️ Breaking: config entries move to v3 — this upgrade can't be downgraded past

Dust sensors (dust/fine_dust/super_fine_dust, see below) now report a real unit, µg/m³, instead of none. Home Assistant treats a sensor's unit as part of its identity — shipping the unit alone would have tripped units_changed and silently stopped recording history for those entities. A one-time config-entry migration (v2 → v3) relabels their existing statistics metadata to match; no recorded values are touched or converted, only the label.

Migrations only run forward: once a config entry is on v3, loading it with an older version of LocalThings will fail the entry instead of mangling its data. If you might need to roll back, back up your config before upgrading.

⚠️ Breaking: progress, diagnosis and buzzer state values are now lowercase

These entities report translated states now, which requires Home Assistant's
lowercase state keys. Update any automation, script, template or dashboard
card that matches on the old values:

Entity Old value New value
sensor.*_progress Rinse, Finish, Idle, Wash, … rinse, finish, idle, wash, …
sensor.*_diagnosis, sensor.*_diagnosis_status Ready ready
select.*_buzzer_sound Volume_Off, Volume_High, … volume_off, volume_high, …

The rule is simply lowercase, so Finishfinish.

A state trigger on the old value fails silently — a "wash finished"
notification will just stop arriving, with nothing in the log. Worth
checking before you upgrade if you have one. select.select_option calls
raise instead, so those are self-announcing.

What you see in the UI is unchanged or better: "Rinsing" rather than
Rinse, translated in every shipped language. Long-term statistics are
unaffected.

✨ Added

  • Dust readings (dust/fine_dust/super_fine_dust) on air purifiers and air monitors now carry pm10/pm25/pm1 device classes with a µg/m³ unit, instead of showing as unitless numbers. Thanks to @JayChickenK for the original work! (#370, closes #363, #325)
  • Washer Table_02 cycle labels 0A (Towels) and B0 (Mixed Load), across all locale catalogs. (#370)
  • VS9700 stick-vacuum battery level, charging status, and stick diagnostics via /status/stick/vs/0. Thanks to @WiestDaessle! (#369)

🐛 Fixed

  • Upgraded to smartthings-local 0.1.6 and adopted its typed-error interface: restores the "certificate was rejected" setup error that had silently degraded to a generic "cannot connect" once the library started redacting exception text, and closes four spots where a library exception could escape uncaught instead of triggering a reconnect or a clear service error. (#368)

Don't miss a new localthings release

NewReleases is sending notifications on new releases.