mbillow/localthings
Hardware & IoTHome Assistant integration that controls Samsung SmartThings appliances over the local network without a cloud account.
What it does
LocalThings is a Home Assistant custom integration for Samsung appliances that normally connect through the SmartThings app. It talks to washers, dryers, refrigerators, air conditioners, ovens, cooktops, dishwashers, robot vacuums and other supported appliances directly on the local network instead of through Samsung's cloud. Supported devices get Home Assistant entities for power, modes, start/pause/stop, temperatures and setpoints, remaining time, door and child-lock state, energy use, filter status and alarms, depending on what the appliance reports.
Appliances that support push updates send changes as they happen; the rest are polled every 30 seconds. Setup is mostly a matter of entering an IP address, after which LocalThings reads the device type and model and builds matching controls. Most appliances from about 2022 onward are supported, plus some earlier washers, air conditioners and wall ovens on the older TCP 8888 interface.
The integration relies on the OCF device model and CoAP over DTLS, using the smartthings-local library for the protocol layer. Appliance support is defined in declarative tables that map reported resources to Home Assistant entities.
Install and add an appliance
- In HACS, open Integrations, search for LocalThings, and select Download. The integration is in HACS's default list, so no custom repository is needed; you can also use the HACS repository shortcut.
- Restart Home Assistant.
- Go to Settings > Devices & Services > Add Integration > LocalThings.
- Enter the appliance's IP address. LocalThings connects, reads its type and model, and adds one Home Assistant device for it.
Without HACS, copy custom_components/localthings/ into the custom_components/ folder of your Home Assistant configuration. The first appliance added contacts Samsung's servers once to read a public identifier, with no account or login; later appliances reuse it and need only an IP address.
Constraints and known behavior
- Appliances must remain registered in SmartThings. Removing one from the app causes it to reset its network settings the next time it reaches Samsung's servers, dropping it off Wi-Fi.
- Some appliances refuse the automatic certificate and require a pre-shared key, which LocalThings cannot obtain for you; see the credential acquisition notes and the tracking issue #435. Older TCP 8888 devices ask for a device token instead, and setup details differ per model.
- An appliance accepts only one local connection at a time, so other clients holding a connection can interfere. Brief disconnects are normal and entities keep their last value while reconnecting.
- For devices that don't report their MAC address, an IP change requires Reconfigure on the entry; re-adding the device would lose entities, history and automations.
- Starting an oven, range or microwave requires the mode, temperature and cook time to arrive together; each appliance reports which modes may be started remotely. On washers and dryers using the DA_WM_TP2_20_COMMON board, the energy total may stop increasing while the appliance cannot reach SmartThings.
- Diagnostics downloads are redacted before saving and are the intended way to report unsupported devices; the project is MIT-licensed.
HotRepo's take
LocalThings reached 12th place on the all-language GitHub daily ranking on 2026-11-07, gaining 184 stars that day, with 926 stars and 102 forks recorded in the same snapshot. That burst is notable for a Home Assistant custom component, a category where growth usually comes from a concrete local-control gap rather than broad developer adoption. The README is unusually specific about protocol details, per-model caveats and diagnostics, which makes the project easier to evaluate than a generic integration listing; it also shows that support breadth still depends on device reports, so prospective users should check the supported-appliance table and known behavior before assuming a specific model works.
Written by AI from the project's README, updated . The project's own docs are the source of truth.