Skip to content

Releases: mbillow/localthings

v0.17.1

Choose a tag to compare

@mbillow mbillow released this 30 Jul 03:10
5f5aecb

✨ Added

  • Composite devices that expose prefixed hrefs but do not respond on <prefix>/device/0 now inherit all href’s from the main device. (#205)

v0.17.0

Choose a tag to compare

@mbillow mbillow released this 30 Jul 01:33

✨ Added

  • Composite devices — appliances that expose more than one logical subdevice behind a single IP, like Samsung's 2-in-1 air conditioners (ARTIK051_DONGLE_FAC_18K, TP2X_FAC_BORA_21K) — are now supported: every subdevice gets its own entities instead of just the one the config entry was set up against, each showing up as its own linked device. (#177)
  • Water purifiers on the AILITE_DA-REF-WATERPURIFIER board now expose cup-detection status, sound mode/output/volume, and last-pour statistics. (#196)
  • Fridges with a discrete, non-contiguous cooler-temperature setpoint list (e.g. RT42DG6630B1FZ) get a new select entity for it, instead of the setting staying app-only. (#186)
  • Ovens/ranges get two more entities: an energy-saving standby switch and a cooktop-on alert switch. (#183)
  • BESPOKE Cube Air purifiers on the next-generation AVT-WW-TP1-23 board family are now recognized. (#190)

🐛 Fixed

  • Water purifiers on the AILITE_DA-REF-WATERPURIFIER board (e.g. RWP70F15ANW) were misrouted to the refrigerator registry and flagged with an incomplete-coverage warning; hot_water_temperature no longer shows "unknown" on boards that don't report a supported-temperatures list. (#196)
  • Fixed a ZeroDivisionError setting up fan entities on microwave/range-hood vent fans that omit supportedFanSpeed (e.g. ME8000T-/AA0). Thanks to @firstof9 for the contribution! (#201)
  • Cassette air conditioners (TP1X_DA-AC-CAC board family) lost their climate entity in 0.16.0's device-type rework and fell back to common capabilities; routing is restored. (#191)
  • Setup now always attempts a real DTLS handshake against the two historically-confirmed ports even when the cheap liveness sweep rules them out — a segregated-VLAN report showed the sweep giving a wrong verdict on exactly those ports. (#192)
  • Legacy ARTIK051-generation air conditioners were reporting cumulative energy usage 100x too high; their cumulativePower is in centiwatt-hours, not the plain Wh every other board family reports. (#193)
  • Legacy ARTIK051-generation air conditioners' beep control is now a proper on/off switch instead of a 0-100 volume control that could never actually write the mute token. (#136)
  • Oven/range fast_preheat and natural_steam switches were bound unconditionally even on boards that don't support them, so toggling them silently did nothing. (#183)
  • Power state now polls on the faster "warm" tier instead of the default cadence, so switches and climate state that depend on it (e.g. remote-control enablement) reflect device changes sooner. (#56)

v0.16.0

Choose a tag to compare

@mbillow mbillow released this 29 Jul 04:18

⚠️ Potentially Breaking

  • Device-type detection was reworked from an ordered ladder of substring checks into a flat board-token table, and no longer consults oneUiVersion (previously the first signal checked) at all. Verified byte-identical against every one of the 49 known device fixtures, but if your appliance was only ever recognized through oneUiVersion rather than its model number, it could regress to "unknown" device type after updating — please open an issue with a fresh diagnostics dump if that happens.

✨ Added

  • Air conditioners on the RAC board family (e.g. Lennox-branded heat pumps) get absence-detection power saving and motion-detect wind-avoidance switches, plus read-only save-mode/airflow-direction sensors. (#173)
  • Microwaves get filter reminder and end signal reminder switches on ME7500D-class boards. (#181)
  • Diagnostics now capture OCF's own identity/discovery resources (/oic/p, /oic/d, /oic/res) and speculatively probe /device/1//device/2 — groundwork for recognizing multi-unit "Composite Device" systems like 2-in-1 air conditioners. No new entities yet. (#177)

🐛 Fixed

  • Microwaves that omit /information/vs/0 (e.g. ME8000T-/AA0) no longer fall back to unknown device type. Thanks to @firstof9 for the contribution! (#172)

v0.16.0-beta.2

v0.16.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@mbillow mbillow released this 29 Jul 03:55
2b67dda
Merge pull request #185 from mbillow/claude/issue-triage-429jtb

diagnostics: capture /oic/res discovery links

v0.16.0-beta.1

v0.16.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@mbillow mbillow released this 29 Jul 03:39
03958dd
Merge pull request #184 from mbillow/claude/issue-triage-429jtb

Issue triage: absence/motion AC sensors (#173), microwave reminders (#181), Python 3.13 pin

v0.15.0

Choose a tag to compare

@mbillow mbillow released this 28 Jul 19:13
498da49

✨ Added

  • Samsung ARTIK051_KRAC_18K room air conditioners are now supported — full climate control plus SPI, auto clean, air monitoring, beep volume, Good Sleep, outdoor temperature, and filter-time entities specific to this legacy board generation. Thanks to @perseus177 for the contribution! (#136)
  • Air conditioners get beep, tropical night mode, filter-usage/threshold, and air-quality (clean level/odor/dust/fine dust/super fine dust) entities on ARTIK051_PRAC-class boards; the shared filter entities also surface on dehumidifiers. Tropical night mode and the air-quality sensors ship disabled by default since their presence can't be reliably confirmed at boot. Thanks to @blka for the original contribution! (#129)
  • Samsung Air dressers are now supported, across two board generations (DA_DF_A51_20_COMMON, DA_DF_TP2_20_COMMON). (#157, #162)
  • BESPOKE Cube Air purifiers (A-VTWW-TP2-21-COMMON) are now supported. (#151)
  • Wind-Free 2-in-1 air conditioners (TP2X_FAC_BORA_21K) are now supported. (#150, #153)
  • The NE63A6511SS/AA range now reads its full set of oven cook modes (Convection Roast, Keep Warm, Bread Proof, Air Fryer, Dehydrate, Self Clean, Steam Clean) live from the device instead of a hardcoded list. (#138)
  • Air conditioner presets and fan modes not covered by Home Assistant's built-in icons now render their own icons — WindFree, Quiet, Smart, Speed, Long Wind, motion-aware presets, Dry Comfort, 2-Step, turbo/max, and the numeric fan speeds some boards report as bare "1"–"5" labels — matching the icon HA's own SmartThings integration uses for WindFree. (#169)

🐛 Fixed

  • A microwave's lamp switch was reading/writing a token the device never actually reports; corrected to the confirmed on/off tokens. (#152)
  • Air conditioner fan speed silently dropped every speed but Auto on units with a non-standard code scheme; speeds are now read live from the device's own labels instead of a fixed map. (#155)
  • A genuine 0% humidity reading was shown as "unknown" instead of 0%. (#160)
  • A refrigerator's "incomplete capability coverage" repair notice stayed open over an opaque resource-monitoring href that isn't a real capability gap; door sensors already worked correctly. (#165)
  • The air conditioner alarm sensor showed inert *_OFF placeholder codes (e.g. FilterAlarm_OFF) as if they were live alarms. (#166)

v0.14.0

Choose a tag to compare

@mbillow mbillow released this 28 Jul 03:26
cc57053

✨ Added

  • Air purifiers (ARTIK051_TVTL) get real fan-speed control — a confirmed Auto/Sleep/Low/Medium/High mapping replaces the previous read-only speed. (#56)
  • Kimchi-refrigerator compartments are now supported — a storage-mode select, ripening status/timer, and rack count per compartment, plus a door sensor on the top compartment. (#26)
  • Range hoods (AHD-WW-TP1-22-COMMON) get after-run support — activation state, progress, and a cancel button. (#147)
  • Microwave built-in vent fans (/hood/fanspeed/vs/0) are now bound. (#137, #142)

🐛 Fixed

  • Microwaves are now their own device type instead of riding on the oven registry, fixing an incorrect 30-270°C setpoint range, a cooking-mode list missing MicroWave/MicroWaveGrill/MicroWaveConvection/KeepWarm, and a lamp switch that read/wrote the wrong option token; also adds a new cavity power-level sensor. (#121)
  • Water purifiers' favorite hot-water switch was mislabeled as a "favorite enabled" flag — it's actually the same hot-water lock as the standard lock entity, and the two now share that key. (#144, #145)
  • A stale DTLS session left behind by an unclean Home Assistant restart could leave an appliance unreachable for 5-15 minutes; reconnects now bind a fixed source port per device so the appliance evicts the orphaned session immediately instead of waiting it out. Thanks to @QuiteYellow for the contribution! (#119)
  • Resources a device genuinely reports as empty (e.g. an unsupported energy sensor) were being confused with ones not yet fetched, spawning phantom entities permanently stuck at "unknown." (#127)

v0.13.0

Choose a tag to compare

@mbillow mbillow released this 27 Jul 14:58

✨ Added

  • Samsung water purifiers (TP2X_WATERPURIFIER_20K) are now supported — dispense settings, sterilize/filter status, and favorite-capacity presets, plus favorite hot-water and coffee-brew controls on coffee-capable units. (#90, #107)
  • Samsung dehumidifiers are now supported — target humidity, operating mode, and the shared AC filter/auto-clean/mute controls. (#88)
  • Samsung Bespoke Window AC units are now recognized and get full air conditioner support. (#87)
  • Standalone Samsung induction cooktops are now supported, with a new Bluetooth meat-probe sensor and burner power/child-lock/pan-detection controls shared with combo ranges. (#86)
  • Top-load washers (e.g. WA8000T) are now recognized and fully supported. (#106)
  • Completion-time sensors were added for washers, dryers, and dishwashers, plus several new laundry cycle-name translations (AI Wash, Jeans, and more). Thanks to @Metal-Eagle for the contribution! (#65, #80)
  • WD7000B-class washer-dryers now correctly go read-only on power when their firmware reports remote power-off as unsupported, and skip the remote-control gate for settings writes when firmware allows it; TP1X_REF_21K refrigerators (e.g. RB38C705CWW) get working vendor-path temperature writes. Thanks to @vmvarga for the contribution! (#70)
  • Air conditioners: cool-only global RAC boards now get WindFree presets, Auto mode, and a display-light switch; several newer wall-mount and WindFree-firmware boards are now recognized, with 2-axis swing and overload-protection status where the newer firmware needs it; humidity/temperature sensors and horizontal swing were added where missing. (#75, #91, #115, #116, #117, #120, #126)
  • Combi microwaves are now recognized and get full oven-style controls. (#121)
  • Newer air-purifier boards get fan-mode control, plus several previously-missing controls (display, HEPA filter, pet-filter mode, sound settings). (#130)
  • New device type: Samsung stick-vacuum clean/auto-empty stations — dust-bag status, auto-empty settings, and UV sanitize-cycle status. (#131)

🐛 Fixed

  • Air conditioner "AIComfort" mode now maps correctly to Auto with its own preset, instead of being left unmapped. (#93)
  • Range and oven detection now works for boards that report no device-info resource at all. (#74)
  • Dryer detection now works for models whose description lists two paired model numbers. (#79)
  • Fixed a serial-number collision that could silently drop entities when two ARTIK051_DONGLE_REF appliances (e.g. a fridge and a freezer) were set up on the same install. (#77, #83)
  • The air conditioner climate card now honors the HVAC mode passed alongside a temperature change, instead of silently leaving the unit off. Thanks to @pedroperosin for the contribution! (#128)
  • A single poll-failure reconnect no longer logs at WARNING — only sustained reconnect trouble does. (#119)

v0.12.0

Choose a tag to compare

@mbillow mbillow released this 25 Jul 02:45

⚠️ Breaking Changes

  • Write commands to array-based hrefs now only send the singular changed option instead of the entire array with the updated option. If you notice writes that previously worked now fail, please create an issue.

✨ Added

  • LocalThings has new branding! 👨🏼‍🎨✨
  • We’ve completely overhauled and improved the translation catalog. LocalThings is now entirely translatable and our first new language is Dutch, thanks to @hmmbob (#68, #72)
  • In order to help debug mutable hrefs and proper device updates, we’ve added a manual write option flow. This is an advanced feature and should only be used if you understand what you are doing! (#54, #67)
  • The device registry now understands most of the supportedOptions key we’ve seen in all dishwasher, washer, and dryer diagnostics. It is now used as a fallback for devices that don’t expose a dedicated editCourseList field. (#64)
  • We’ve added a bunch of new laundry cycle name translations! (#1)

🐛 Fixed

  • Various different refrigerator switches weren’t able to be turned off due to a logic error. This was identified and fixed by @splitsec2! (#71)
  • Some diagnostic sensors on certain air purifiers have been cleaned up. (#56)

v0.11.1

Choose a tag to compare

@mbillow mbillow released this 24 Jul 04:12
ed768d7

🐛 Fixed

  • Samsung system air conditioner installs (multi-indoor-unit commercial units, e.g. A-CAWW-TP2-20-COMMON) weren't recognized and fell back to generic capabilities; they're now correctly detected and get full air conditioner support. (#52)