Miele@LAN: Local push events from smart Miele devices

Miele@LAN — Local control of Miele@home appliances, without breaking the Miele app

Hi all,

Releasing Miele@LAN — a HACS-installable Home Assistant integration that talks directly to Miele@home appliances on your LAN. No cloud polling, no sidecar server, and crucially: does not break the official Miele app.

:link: GitHub / HACS: GitHub - tiehfood/ha-miele-at-lan: Home Assistant integration to control Miele devices via local API · GitHub
:label: Release: v1.2.0

What it does

  • mDNS auto-discovers every appliance in your household — one click in Add Integration → Miele@LAN
  • Speaks Miele's native LAN protocol (MieleH256 HMAC-SHA256 + AES-CBC, signed with your household GroupKey)
  • Real-time state updates via Miele's own SuperVision push channel (sub-second on cycle devices); 1–30 s polling fallback
  • Read-only display for cooling appliances (fridges/freezers — see Limitations)

How it relates to MieleRESTServer

This is not meant as a competitor to MieleRESTServer — that project is what made all of this possible in the first place, and
most of the protocol RE this integration relies on traces back to akappner's work. Huge thanks for consistent reverse-engineering in the open.

The difference is in approach. MieleRESTServer is a standalone Flask sidecar with a polling model; you proxy through it from HA via rest: sensors. Miele@LAN is a native HA
integration that runs entirely inside Home Assistant — no extra server to maintain — and uses Miele's own SuperVision push channel for state updates instead of polling. That
brings live state changes for cycle devices and avoids the polling spikes that hammer the appliance when something is actively cooking.

Two other differences worth calling out: setup is a guided HA config flow (mDNS auto-discovers every appliance in your household in one click, no per-device YAML), and the Miele
app keeps working alongside HA
— Miele@LAN pairs through the official cloud OAuth flow once, fetches your household GroupKey from Miele's cloud, then talks LAN-only from then
on. If you've already extracted a GroupID/GroupKey via MieleRESTServer's provisioning, you can also paste those in and skip the cloud step entirely.

For factory-fresh appliances without an existing Miele app account, a tools/miele_lan_provision.py CLI is bundled for one-shot LAN-only commissioning.

How the pairing works

You log in once with your Miele account (standard OAuth via prod.map.miele-iot.com). HA fetches your household GroupKey from the cloud, then uses it locally over your LAN — afterwards no cloud traffic is needed. The Miele app continues to work alongside HA. If you already have a GroupID/GroupKey (e.g. from a previous MieleRESTServer provisioning), you can paste them directly and skip the cloud step.

For factory-fresh appliances without an existing Miele app account, a tools/miele_lan_provision.py CLI is bundled for one-shot LAN-only commissioning.

Limitations

  • Cooling appliances are read-only on LAN. The K7000/EasyControl firmware blocks all LAN writes — confirmed by RE on a KF series fridge and matches Miele's own docs (MobileStart is permanently on for cooling appliances and isn't a togglable feature). State changes you make from the Miele app are still mirrored back to HA in real time via SuperVision push.
  • Setpoint writes on cycle appliances (oven/dishwasher/laundry) require MobileStart to be activated on the appliance panel.
  • Compatible with HA 2025.6+; tested with my devices at home.

Credits

Standing on the shoulders of akappner/MieleRESTServer and asyncmiele, the HA community thread #840093, and astrandb/miele (the upstream HA core integration; used here for cross-referencing the cloud surface and translation keys).

Feedback / issue reports welcome — particularly state captures from appliance types not in my testbed (washer-dryer combos, microwaves, robot vacuums, induction-extractor hobs). Open an issue on GitHub.

5 Likes

I can't wait to try this out. However, I'm stuck at the config flow, it says to refer to the integration documentation for the macOS MieleAuth.app, but there is no documentation I can find in the repo.

Ah, I think I have to fix that.
Best is, to open the link shown in Chrome, open dev tools, login to Miele.
Then the redirect should throw an error, but in the dev tools you could copy the link starting with “miele://” to the integration.

That part is a bit annoying but needed only once.
I had build a small MacOS app that registered the “Miele://“ URL, but not everyone is on Mac so I thought the browser way is better.

Please try out and let me know, if you know what to do. Otherwise I will give more detailed instructions

I updated the integration and README in the repo. Thanks!

1 Like

I'm using a Mac, but I couldn't find the app :sweat_smile:
Will try the browser.

Adding the integration worked fine via Chrome, both my dishwash and washer-dryer were discovered. For the dishwasher (which is a 6xxx model), only a few sensors show data - I guess the parsing for the other stuff is not implemented yet.

I wrote in the issue :slight_smile: would be great, if you could report missing sensors. If you are familiar with capturing pcaps that would be a great help, if you provide a pcap from the device

1 Like

@tishylediathysio

This is (probably) exactly what I am looking for, local control of Miele devices without to need of a cloud connection :slight_smile:
Thank you for building this!
Today my new washmachine arrived (WEC395 WPS) which has home connect (selection called Mobile Start) to get this setup.

In the manual I read that I need to download the app and then select Mobilestart on the machine.
Then use the app to install WiFi details.
When I do this I will have had to create an account and have my machine registered at Miele server. I then when I have understand it correctly this integration will pick new device and key to get updates and push commands.

How does it work to get the device connected to WiFi without the Miele App, if possible at all.

I see there is for factory-fresh appliances without an existing Miele app account, a tools/miele_lan_provision.py CLI is bundled for one-shot LAN-only commissioning.
What I understand from reading up on this topic and some help from AI:
I need a GroupKey only way to get this GroupKey is via installation with Miele App.
I will go for that option.

How does this work?
When I get it enrolled in HA MIELA@LAN I will report back what features are visible.
When needed to get better control I will dust off my sniffer and try to get captures.
If there is detailed information available on how to do this and what exaclty needs to be caputered (take it all traffic from and to device) please share this.

Update 17:30:
Have added integration and logged in via link.
Obtained the Miele url from dev tools.
But now get this error:
Miele@LAN (household …)
Failed setup, will retry: no Miele devices reachable on the LAN yet — will retry. Configure static IPs
in the integration’s options if your network blocks mDNS/multicast.
I have a static IP for the washmachine, how do I get this IP in the integration?
Washmachine replies to ping

HA has found the device on my network, unfortunately I cannot add it from the discovered devices to Miele@LAN, only directs me to Miele site to install default cloud integration.

Update 19:30
And when you wait long enough device is found :slight_smile:
This is discovered:


And 12 disabled entities under Diagnostic

And when pressing wake up the machine comes to life.

Thanks for this integration.

Thank you for all your time and effort on this project!
Bernard

@tishylediathysio
I have been using it for a few days and did a compare with the Miele App.
I noticed that on Miele App the following items are available which would be nice to have in HA.
Under Status → Reinigen en Onderhoud → Hygiene Assistant.

The Hygiene Assistant would be good to have under HA.

Under Apparaat (device)
There is available under Extra’s
Cap Dosing and Extra functies

Also under Apparaat
Informatie
Maximale belading (have not seen this change during usage)
Waterverbuik (water usage)
Energieverbruik (energy usage)
Water and energy would be really nice to have so in HA we can track this like with switches etc.

I noticed that the Miele app is in Dutch but some part are in English.

I have made 2 captures (PCAP format) for my washmachine which I can share if you would be interested to add them to the Miele@LAN in HA integration.

Please contact me on how to share the files.

Thank you for all you have done so far!

Hi,

I’m interested into buying a Miele TWC640WP dryer and would like to use this custom integration. My main goal to having it connected to HASS is too pause the dryer when energie demand of the house is too high, and resume when values have dropped.

Could somebody confirm if it’s possible to pause the dryer AND resume afterwards?

Hello, I wanted to ask if this integration can access all of the statistics that are available on the Miele app? Things like the weekly, monthly and yearly reports.

If not, does anyone know how to access them remotely? Many thanks.

I don’t think these Re collected on device, and if they are not part of Miele’s third-party API, you simply won’t be able to access them. The work around would be to collect them yourself with an automation and same helper entities.

1 Like

Hi, I tried to use the browser to get to "miele://”. However, I still can’t get it after many attempts. Could you please give more detailed instructions or the small MacOS app that you built. Thank you.

I tried again and was successful this time with Chrome Incognito mode.

Firstly, thank you for this integration, Miele Cloud is unreliable for me, I hope this will make automation far more reliable!

I have a G7655 dishwasher, integration has gone fine and I see numerous sensors as well as control entities.

One control missing currrently is programme select, assuming this is writeable over the LAN, I’m happy to provide any diagnostic output if it helps to add it to the integration!

Sensors for autodos, salt and rinse aid would also be awesome!

Thanks
Jag