Seite 1 von 2

[V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Sa Jan 17, 2026 3:09 am
von MoseP
Für Miele gibt es mit Miele@Home eine Status- und Steuerungs-API, die hier auch schon öfter diskutiert wurde (z. B. viewtopic.php?t=4676 und konkret die API-Umsetzung im Timberwolf V4.0 hier viewtopic.php?t=4240).

Seitdem gibt es Änderungen bei Miele@Home (siehe https://developer.miele.com):
  • Miele 3rd Party API ist jetzt v1.1.0 mit neuem OAuth 2.0 Auth Provider und Tokens mit gerätespezifischen Berechtigungen auf auth.domestic.miele-iot.com
  • Das bisherige OAuth2_Legacy-Verfahren auf api.mcs3.miele.com/thirdparty/login wird im Laufe des Jahres 2026 abgeschaltet, neue Implementierungen sollen es deshalb nicht mehr verwenden.
  • Eine neue SPINE-IoT API wird entsprechend EN 50631 und IEC 63510 eine standardisierte Kommunikation zwischen Energy Smart Appliances und Energy Management Systems (EMS) ermöglichen und soll herstellerübergreifend funktionieren (EEBUS). Damit können ESA-Geräte den geplanten Stromverbrauch im Programmablauf melden und mit dem EMS passendes Programm+Zeitslot auswählen. Diese neue SPINE-IoT-API ist zwar schon als v1.0.0 veröffentlicht, aber noch nicht nutzbar ("Access will be granted shortly—please check back soon.")
Deshalb möchte ich hier das Vorgehen mit der 3rd Party API aus den anderen Threads zusammentragen und auf die aktuelle API v1.1.0 aktualisieren.

0) Voraussetzung
Voraussetzung für die Nutzung der API ist eine Registrierung auf https://developer.miele.com/get-involved, man bekommt dann einen Link, mit dem man sich Client ID und Client Secret erzeugen lassen kann. Die Email braucht meistens einige Minuten. Ausserdem braucht man einen Miele-Account, in dem man in der App die Geräte zugeordnet hat.

1) Ersten Token erstellen
Mittels der Client ID und Secret und einem Miele-Account kann man sich einen Bearer-Token für seine Geräte erzeugen lassen.

1a) Das funktioniert manuell auf der Miele Developer-Seite im API-Explorer. Der API-Explorer brauchte bei mir beim ersten Aufruf einige Zeit, um dargestellt zu werden, vorher hatte ich nur eine schwarze Seite, also Geduld.
Bild
Bei den Scopes kann man einschränken, was der Zugriff darf. Ich habe alles ausgewählt.
Im Anschluss muss man das Land auswählen, auf dem der eigene Miele-Nutzeraccount (=Anmeldedaten für die Miele@home-App) läuft.

1b) Etwas einfacher geht es mit dem Tool "Postman", dass man sich auf dem PC installieren kann.
In Postman erstellt man mit "Create Request" einen neuen Eintrag und schreibt darin:
Bild

Auth URL und Token URL entsprechend https://developer.miele.com/docs/authorization
Client ID und Client Secret entsprechend 1).
Bei Scope muss man die Scopes eintragen, auf die man zugreifen möchte, mit Leerzeichen getrennt. Für alle Scopes schreibt man also:
mcs_thirdparty_read mcs_thirdparty_write openid mcs_thirdparty_media openid

Dann nach ganz unten scrollen und "Get New Access Token" drücken.
Es erscheint eine Anmeldemaske und man muss sich mit dem Miele-Account anmelden. Anschliessend die zu steuernden Geräte in der Liste anklicken und "Weiter" anklicken, anschliessend "Zugriff anfordern". Darauf achten, dass Popup-Blocker deaktiviert sind. In Postman erhält man dann "Access Token" und "Refresh Token" angezeigt.

1c) Man kann den Access Token auch direkt vom Timberwolf empfangen lassen.
Dazu braucht es ein HPPT-API-Server Subsystem als Redirect-Adresse. Ich brauche so ein Subsystem später auch zum Einlesen von Tarifdaten meines Stromversorgers EKZ, deshalb war es eine gute Übung.
Bild

Darin zwei Auswertungen erstellen:
i. Bezeichnung = Authorization Code, Lokation = URI, Selektor = code, Format = Text (STRING)
ii. Bezeichnung = State, Lokation = URI, Selektor = state, Format = Text (STRING)

Idealerweise verknüpft man dann gleich den Authorization Code mit einem Objekt im Timberwolf, um ihn zu speichern.

Um den Access Token zu erstellen, ruft man dann im Browser diese URL auf:

Code: Alles auswählen

https://auth.domestic.miele-iot.com/partner/realms/mcs/protocol/openid-connect/auth?
  client_id=YOUR_CLIENT_ID&
  response_type=code&
  redirect_uri=YOUR_REDIRECT_URI&
  scope=mcs_thirdparty_read%20mcs_thirdparty_write%20mcs_thirdparty_media%20openid&
  state=RANDOM_STRING
Anstelle von YOUR_REDIRECT_URI die URI des Timberwolfs angeben (z. B. https://timberwolf0000/api/oauthcallback/), darauf achten, dass sie mit einem / endet. Bei YOUR_CLIENT_ID kommt die eigene Client-ID rein. RANDOM_STRING kann ein beliebiger Text sein, z.B. das Datum.
Man muss sich dann mit seinem Miele-User anmelden und die Geräte auswählen, die steuerbar sein sollen. Anschliessend bestätigen, und im Browser erscheint im Erfolgsfall nur {}.

Der Authorization code wird dann im Timberwolf empfangen. Zur Kontrolle sieht man auch den state, den man vorher eingegeben hatte.

<Fortsetzung zum Token Refresh und zur Nutzung folgt>

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Sa Jan 17, 2026 7:01 am
von gbglace
:clap:

Du hast nicht zufällig auch noch ein paar BSH Geräte im Haushalt?
Da würde mich eine solche Anleitung auch weiter bringen.

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Sa Jan 17, 2026 7:47 am
von Mibr85
Mega danke für die Anleitung muss ich bei Gelegenheit mal testen.

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Sa Jan 17, 2026 8:16 am
von ThomasD
Hey, es ist eine sehr detaillierte Anleitung aber ist das für nen „normalen“ Anwender nicht sehr umständlich? In HomeAssistant werden mir 111 Entitäten für meine Miele Geräte angeboten da bräuchte ich ja ewig für die Konfiguration am TWS. Stand Miele@Home nicht auch mal mit auf einer RoadMap?

Gruß
Thomas

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Sa Jan 17, 2026 8:48 am
von AndererStefan
Moin,

danke, ich finde das sehr gut beschrieben! Mir gefällt auch dass du alternative Wege beschreibst.

@ThomasD Wie einfach ist es denn in HomeAssistant so eine Schnittstelle einzurichten, wenn nicht schon jemand anderes eine Lösung vorbereitet hat?

Was die Schritte hier etwas abkürzen kann, ist der Export-/ Import des HTTP-API Profils im Timberwolf. Die notwenigen Schritte mit Cloud-Account-Erstellung und oAuth muss man so oder so machen. - Eine tolle Errungenschaft von IoT Geräten ohne lokale Schnittstellen. :/

VG Stefan

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Sa Jan 17, 2026 9:03 am
von gbglace
@ThomasD
Und bei HA hat das dann auch die Firma HA bzw. Firma Miele implementiert und regelmäßig aktualisiert?

HA ist ein System User für User. Hier hat ein User den variablen Teil der Plattform TWS genutzt und stellt den anderen Usern ein Mittel zur Anbindung zur Verfügung.

Das darf man einfach mal honorieren.

Welchen Mehrwert soll da jetzt wieder dieser unsachliche Kommentar bringen, dass da mal eine interne Roadmap veröffentlicht wurde?
Genau wegen solcher Kommentare ohne jedweden Mehrwert zum Thema und gefüllt von Frust gibt es auf solche "Fragen" auch keine offiziellen Antworten mehr und auch keine Roadmaps mehr.

Hast Du selbst der HA Community auch schon mal irgendeine Zeile Code beigesteuert oder wurmelst Du da auch nur rum, weil Du mal irgendwo einen FR oder gar PR im Git gefunden hast und der Entwickler das noch nicht umgesetzt hat?

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Sa Jan 17, 2026 6:07 pm
von MrWilson
Hast Du dir den Bereich Eventing mal angeschaut?
Ich habe es nicht mehr weiterverfolgt, aber meinem Kenntnisstand nach bekommt man mit dem TWS keine Statusmeldungen abgefragt. Weiß jetzt aber nicht, ob sich von Seiten des TWS oder von Miele neue Möglichkeiten ergeben haben.

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: So Jan 18, 2026 10:43 am
von CHD
Was genau meinst du mit abfragen? Der TWS kann sowohl als Client als auch als Server Subsystem eingerichtet werden und darüber dann auch aktiv von außen angesprochen werden. Wie z.B. hier bei ekey beschrieben: viewtopic.php?t=5994

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: So Jan 18, 2026 10:55 am
von MrWilson
The Miele 3rd Party API uses Server-Sent Events (SSE) to deliver real-time updates from the backend to subscribed clients. This eventing mechanism allows external applications to listen for changes,such as device status updates or notifications, without the need for constant polling.

SSE is a lightweight, one-way communication protocol over HTTP, ideal for scenarios where the server needs to push data to the client as soon as something happens.

Note: To consume events via SSE, your client must support persistent HTTP connections and handle incoming event streams according to the EventSource specification.
https://developer.miele.com/docs/eventing

Hier nochmal zum nachlesen.

Es geht mir um "without the need for constant polling" und "your client must support persistent HTTP connections and handle incoming event streams..."

Re: [V4.8 IP4] Miele@Home mit Miele 3rd Party API

Verfasst: Fr Jan 23, 2026 1:16 am
von MoseP
Danke für Eure Rückmeldungen, ich arbeite gerade an einer dynamischen Authentifizierung, damit man es nicht mehr von Hand im Browser eingeben muss.
Die Statusmeldung und Steuerung lässt sich eventuell über Variablen vereinfachen, so wie im meinem FYTA-Beispiel (viewtopic.php?t=6186).
Das Eventing wollte ich mir auch anschauen. Geduld...
AndererStefan hat geschrieben: Sa Jan 17, 2026 8:48 am Was die Schritte hier etwas abkürzen kann, ist der Export-/ Import des HTTP-API Profils im Timberwolf.
Das bringt mich zu der Frage, wie kann man eine solche HTTP-API-Profildatei exportieren? In der Doku und im Forum habe ich es nicht gefunden (nur den Import). Dann müsste nicht jeder von Hand die Objekte anlegen.