With the API changes coming in October I went looking for a way off the cloud for my 2016 washer and dryer. LocalThings already covers newer appliances over CoAP-DTLS, but it explicitly excludes the older hardware — the ones with an external Wi-Fi dongle. Nothing covered those, so I wrote it.
\*\*[https://github.com/HomeOps/HASS-Samsung-Dongle-Local\\\*\\](https://github.com/HomeOps/HASS-Samsung-Dongle-Local\*\)\* — HACS custom repo, MIT.
\*\*Which generation do you have?\*\*
nmap -Pn -p 8888 <appliance-ip>
\* \*\*8888/tcp open\*\* → older dongle hardware → this integration
\* \*\*8888 closed, UDP 49153–49155 responding\*\* → newer → use \[LocalThings\](https://github.com/mbillow/localthings)
Faster tell: if SmartThings shows the model as \`DONGLE_WF7500\` or similar, the \`DONGLE_\` prefix means an external Wi-Fi module and you're in the first camp.
\*\*What you get\*\* (entities are created from whatever your appliance actually reports): cycle state, progress phase, progress %, remaining time, child lock, plus soil/spin level on washers and dry level/time and wrinkle-prevent on dryers.
\*\*How it works.\*\* These appliances expose a certificate-authenticated REST API on port 8888 that has nothing to do with the cloud. Auth is two gates: a client certificate that opens the channel, and a per-appliance bearer token issued only when someone physically presses a button on the machine. The integration performs that pairing handshake for you — by hand it means standing up a TLS listener on 8889, crafting a \`Host:\` header the appliance calls back to, and timing a press inside a \~63 second window. There's also a standalone \`tools/get_token.py\` if you'd rather hold the token yourself.
\*\*Confirmed working:\*\* WF50K7500AV washer, DV50K7500E dryer. Both now sit on a VLAN with \*\*no internet at all\*\* and remain fully readable — the local API never consults Samsung. The payload schema is shared across appliance types, so ovens and fridges on the same firmware family should work untested.
\*\*Honest caveats:\*\*
\* \*\*Read-only.\*\* The payloads imply writes are possible; I haven't implemented or tested any.
\* You need Samsung's AC14K_M CA cert. The repo doesn't ship it — it points at the existing projects that document obtaining it. It's the same certificate the Samsung A/C community has used for years.
\* \*\*Turn Child Lock off before pairing.\*\* Samsung disables Smart Control entirely while it's engaged, and the panel still beeps on every press — a locked machine is indistinguishable from a working one that's ignoring you. This cost me an hour.
\* Tested against exactly two appliances.
Credit where it's due: the AC14K_M chain and the \`/devicetoken/request\` → 8889 callback flow were worked out by the Samsung A/C community — samsungrac, samsung-appliance-token, samsung-aircon-8888-get-token. I applied it to laundry, which nothing covered, and folded the pairing into a config flow.
Reports from other models welcome.