mrkeyoor.com_
Sat 07 Nov 23:40 UTC
Self-Hostedevaluationupdated 07 Nov 2026

localthings review

LocalThings is a Home Assistant integration for controlling Samsung appliances over a local network. Its documentation says setup needs no Samsung account login, although first-appliance setup contacts Samsung for a public identifier. Local commands do not disconnect the appliance from Samsung: the appliance retains its own cloud connection.

Verdict

LocalThings is worth a model-specific trial for Home Assistant owners seeking local Samsung commands who can handle the documented authentication limits. Our repository install and build succeeded, but pytest exited with 200 collection/setup errors and no passing tests. Keep an existing automation until the replacement demonstrates the required state changes and commands on your appliance. This run does not establish hardware reliability or operation with Samsung blocked.

We ran it

Lab card: what happened when we ran localthingsScreenshot of localthings (github.com/mbillow/localthings)
Install✓ · 9s35 packages · 38 MB
Build✓ · 2s
Tests✗ · 9s0 passed · 0 failed · 200 errors of 200 (pytest)
Known vulns0(pip-audit)
Repo598 files~89,144 lines of source · 7.3 MB · 1 CI workflows · Dockerfile · tests dir

Answers from our run

Does localthings build from source?

Dependencies installed in 9 seconds (35 packages), and the build succeeded in 2 seconds. We cloned commit 1e633ca into a clean Debian container with 3 CPUs and no project-specific setup.

Do localthings's tests pass?

No. The project's own test command finished in 9 seconds and reported 0 passed, 0 failed, 200 collection errors (pytest).

Does localthings have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use localthings?

Owners whose appliance rejects the automatic certificate and who cannot obtain the required pre-shared key.

What are the alternatives to localthings?

Home Assistant SmartThings integration, SmartThings-Local. LocalThings is worth a model-specific trial for Home Assistant owners seeking local Samsung commands who can handle the documented authentication limits.

SetupN/ANot assessed: the repository installed successfully, but this run did not reproduce the documented Home Assistant deployment, certificate acceptance or appliance pairing. Repository installation timing cannot establish how easy model-specific setup will be.
Docs3/5Editorial rubric: 1 means essential setup guidance is missing; 2 means a partial path; 3 means a documented main path with explicit exceptions; 4 additionally requires independently reproduced installation and pairing; 5 requires independently checked guidance across relevant authentication paths. The README supports 3 by explaining HACS installation, certificate refusal, token flows and model restrictions. Hardware instructions were not executed.
CommunityN/ANot assessed: the supplied documentation describes diagnostics and contribution routes, but this review did not measure maintainer response times, issue resolution or support capacity for a particular appliance. Those unknowns do not justify a numerical score.
MaturityN/ANot assessed: the sandbox recorded 200 collection/setup errors and no passing tests, while the supplied tail cannot identify their cause. No appliance reliability was measured. Neither the failed command nor a successful build establishes operating maturity.

Who it’s for

Home Assistant owners who want local Samsung appliance commands and can check their exact model.
Users comfortable installing a HACS integration and supplying an appliance IP address.
Contributors who can investigate missing controls and provide redacted diagnostics.

Who it’s NOT for

Owners whose appliance rejects the automatic certificate and who cannot obtain the required pre-shared key.
Users expecting LocalThings to disconnect the appliance from Samsung.
Users requiring energy totals to keep increasing with Samsung blocked on every model.
Users expecting local commands to bypass appliance remote-start restrictions.

Setup reality

Our November 7, 2026 sandbox run at commit 1e633ca installed in 9 seconds and built in 2 seconds. It recorded 35 dependencies and a 38 MB installed footprint. Tests exited 1 after 9 seconds: pytest recorded 0 passed, 0 failed and 200 collection/setup errors out of 200. pip-audit reported 0 known vulnerabilities. The supplied log tail repeats a fragment about real-network waits but does not expose the underlying exception. It does not establish why the command failed.

The documented Home Assistant route is to download LocalThings through HACS, or copy custom_components/localthings/ into the Home Assistant configuration's custom_components/ directory, then restart Home Assistant and add an appliance by IP address. These are unexecuted documentation instructions; our repository installation did not reproduce this deployment or pair an appliance. The README says first-appliance setup contacts Samsung once for a public identifier without an account login. Some appliances reject the automatic certificate and need credentials LocalThings cannot obtain for you. Older TCP 8888 appliances require a device token and a reachable callback port.

The configured sandbox had 3 CPUs, 8 GB RAM and image ghcr.io/astral-sh/uv:python3.12-bookworm. That image label does not establish the actual runtime or operating-system version. No appliance control, network isolation or hardware reliability was measured.

LocalThings can move Samsung appliance commands onto your home network while the appliance keeps its own Samsung connection. Blocking that connection is a separate decision: the README identifies washer and dryer boards whose energy totals stop increasing without SmartThings access.

For a Home Assistant owner, the useful question is whether the local controls cover a particular automation. Check authentication, command restrictions and the sensors you depend on before replacing it. Our sandbox provides repository setup evidence; it did not control an appliance.

What happened when we ran it

At commit 1e633ca on November 7, 2026, installation succeeded in 9 seconds and the build succeeded in 2 seconds. The run recorded 35 dependencies and a 38 MB installed footprint. Tests exited 1 after 9 seconds, with pytest recording 0 passed, 0 failed and 200 collection/setup errors out of 200.

The supplied log tail repeats a fragment about real-network waits and ends with one warning and 200 errors in pytest's own 7.20 seconds. The recorded outer test step took 9 seconds. The tail does not expose the underlying exception, so it cannot establish a fixture, dependency, network or environment cause.

These were collection/setup errors rather than failed product assertions. The test command still failed, and the run supplies no passing-suite evidence. A full traceback is needed to diagnose the failure.

The checkout contained 598 files, approximately 89,144 source lines and 7.3 MB. The scan found one CI workflow, a Dockerfile, a Compose file and a tests directory. pip-audit reported 0 known vulnerabilities. That audit result does not verify appliance security or operational reliability.

The configured sandbox had 3 CPUs, 8 GB RAM and image ghcr.io/astral-sh/uv:python3.12-bookworm. The image name does not establish the actual runtime or operating-system version. Repository installation also does not establish a working Home Assistant deployment.

Local commands and appliance internet access

The LocalThings README says first-appliance setup contacts Samsung once to read a public identifier without an account login. Later appliances reuse it. The documentation says LocalThings does not contact Samsung after setup, while the appliance keeps its own connection. These are documented behaviors, not traffic observations from our sandbox.

The README advises keeping appliances registered in SmartThings. It says removing one can cause it to reset its network settings when it next reaches Samsung, leaving it off Wi-Fi until app setup is repeated.

It also identifies the DA_WM_TP2_20_COMMON board, including the WW80T654ALX and DV80T6220LX examples, as a case where energy totals stop increasing while SmartThings is unreachable. LocalThings can report only what the appliance records. If energy history matters to your automation, verify it before changing internet access.

Pairing and command limits

The documented installation uses HACS or a custom-component copy, followed by a Home Assistant restart and setup by appliance IP address. These instructions were not executed in our sandbox.

Some appliances reject the automatic certificate. Setup then offers to import a pre-shared key, which LocalThings cannot obtain for you. The README also says no appliance that refused the automatic certificate has been reported to accept the offered public fallback certificate. Treat certificate acceptance as a prerequisite to check, rather than assuming an IP address is sufficient.

Older TCP 8888 devices use a device-token flow. The documented callback requires the appliance to reach Home Assistant on port 8889, and pairing steps vary by model. The README says this interface requires TLS 1.0 and a certificate LocalThings cannot verify; that exception applies to this connection. We did not execute that flow.

Remote operation remains subject to appliance restrictions. The documentation says ovens report which modes a remote may start and their temperature and time limits. LocalThings follows those limits, and Remote Control must be enabled at the appliance. Verify the action your automation needs, including whether the command takes effect, before relying on it.

Release scope and documentation rating

Release v0.36.0, published November 2, 2026, describes soundbar support and startup changes. Its DONGLE_0281 refrigerator controls are not yet confirmed on hardware. It separately gives the same qualification for four-way cassette air-conditioner vane selects. These release notes distinguish implemented support from hardware confirmation.

Documentation receives an editorial 3/5. The rubric is: 1 for missing essential setup guidance, 2 for a partial setup path, 3 for a documented main path with explicit exceptions, 4 for that guidance plus independently reproduced installation and pairing, and 5 for independently checked guidance across the relevant authentication paths. The README explains installation, certificate refusal, older token flows and appliance-specific restrictions. Our run did not reproduce Home Assistant pairing, so it does not support the higher levels. This is a documentation assessment, not a compatibility score. Setup ease, community support and operating maturity remain unassessed numerically.

Which route to evaluate

The Home Assistant SmartThings integration requires Samsung account credentials and maps SmartThings capabilities to entities. Its documentation warns that free SmartThings API access is being phased out starting in October 2026, with a paid Personal Plan required afterward. That warning affects its suitability as a fallback. Confirm the applicable terms and whether the API exposes your required capability; this review did not verify subscription access.

SmartThings-Local is the Python protocol library used by LocalThings and includes a reference MQTT bridge demo. Its README directs ordinary Home Assistant appliance-control users to LocalThings. Evaluate the library for protocol work or a custom client, with authentication and deployment still your responsibility.

For a LocalThings trial, start with one appliance and one existing automation. Check pairing, state updates and the command's effect before replacing the original. If you also plan to block Samsung access, verify the sensors you need under that condition separately.

Alternatives

ProjectWhat it isPick it when
Home Assistant SmartThings integration gh↗Home Assistant's SmartThings integration requires Samsung account credentials and maps SmartThings capabilities to Home Assistant entities.Evaluate it when the API exposes the controls you need. The supplied Home Assistant documentation warns that free SmartThings API access is being phased out starting in October 2026 and requires a paid Personal Plan afterward. Confirm the applicable terms before relying on this route; this review did not test subscription access.
SmartThings-LocalThe Python protocol library used by LocalThings, with a reference MQTT bridge demo.Choose it for protocol investigation or a custom client. Its README directs users who simply want Samsung appliance control in Home Assistant to LocalThings. The bridge demo is another deployment to evaluate, not a hardware-verified substitute established by our run.

What people are saying

  1. [github-trending] mbillow/localthings

Sources

  1. LocalThings README
  2. Release v0.36.0
  3. Home Assistant SmartThings
  4. SmartThings-Local README

More self-hosted reviews

kubevirt · nvke · voxl · rustdesk-server · spotifast · tapflow · the whole board →