Miele@Home XKM 3100W Protokollanalyse

Hallo demel42, danke für deine Rückmeldung.

Wenn die Waschmaschine in der Miele@home App zu sehen ist, also in der Miele-Cloud registriert ist, kommt man auch dran.
Allerdings ist die Steuerung von Miele@Home-Geräte über die API ja noch nicht realisiert, werde ich aber in Angriff nehmen (siehe vorige Posts). Die Erweiterung der Miele-API, um die Geräte steuern zu können, ist ziemlich frisch.
Ja stimmt, Mit der App klappt alles. Das wäre toll wenn du das erweitern könntest.

Du meinst Client-ID und Client-Secret?
Ja genau die habe ich schon bekommen.

Ich weis nicht, welche beiden Möglichkeiten Du meinst bzw welchen Beitrag, ich kann nur zu dem Modul GitHub - demel42/IPSymconMieleAtHome: Interface for Miele@Home third-party-API to IP-Symcon (under construction) etwas sagen.

In diesem Beitrag wird auf Seite 5 vom Gateway XKM3100W gesprochen:GitHub - Ich-Eben/MieleXKM3100WGateway Hier bekomme ich den Fehler 403
Die andere Möglichkeit die ich getetest habe, ist diese GitHub - oklona/Miele-MQTT: A very simple script to read data from Miele@home cloud services, and publish using Mosquitto MQTT von Seite 5. Da wird mir die config nicht erstellt.

Deine Version konnte ich leider nicht testen da ich kein Symcom habe. Kann ich damit auch ohne Symcom was testen?

Hallo,

das Modul basiert natürlich auf dem Rahmen, den Symcon bietet. Es ist aber nichts anderes als ein PHP-Script (wie alles bei Symcon). Die Logik kann mantürlich für eigene Programmierung verwenden.

Aber wenn, wie ich verstanden habe, Deine Programmierkenntnisse begrenzt sind, wird’s natürlich schwierig.

Mal ganz blöd gefragt, wäre es für Dich nicht sinnvoll, auf ein existierendes Framework wie Symcon oder ein anderes Produkt aufzusetzen? Damit erspart man sich doch viel von den Arbeiten, die man hat, wenn man alles selbst programmieren will …

demel

Hallo demel,

da ich gerade noch versuche das System aufzubauen um abwägen zu können wieviel Mehrwert mir das ganze bringt bin ich momentan mit kostenlosen Tools unterwegs und zwar in diesem Fall mit FHEM. Bis jetzt reichen meinen Programmierkenntnisse dafür aus um meine Anforderungen damit umsetzen zu können, Viele Sachen werde ja auch sehr ausführlich im Netzt erklärt. Bevor ich natürlich in einem HomeServer investiere würde ich das gerne nach Möglichkeit mit FHEM einmal getestet haben.

Hallo,

klar, wenn FHEM einsetzt und damit zufriedne bist, gibts keinen Grund zu wechseln. Nur musst Du dann wahrscheinlich für Miele selbst etwas bauen.

gruß
demel

Hallo,

ich habe nun die neue API umgesetzt und die PUT-Calls implementiert. Es funktioniert grundsätzlich, ist aber etwas eingeschränkt, was man wirklich machen kann (halt auch nicht mehr als mit der Original-Miele-App). Bedingungen siehe hier

Z.B.: man kann die Waschmaschine und Trockner per Call starten, geht aber nach meine Versuchen nur wie folgt: man muss einen Waschgang (ich nehme an beim Trockner genauso) am Geräte einstellen und zwar mit gesetztem Timer (weil in der Zukunft). Dann kann man vor Ablauf des Timers das Gerät starten.

Die Funktionen sind erstmal nur als php-Aufrufe aus einem Script implementiert (z.B. MieleAtHomeDevice_Start(42995 /[Miele@Home Gerät (Waschmaschine)]/);).

Gruß
demel

Super, werde es mal testen.

Edit:
Wenn der Geschirrspüler läuft und man das Kommando Pause gibt, hält dieser auch an und im Display steht Pause. Allerdings kann man diese Pause dann nicht mehr per Kommando beenden. Bei mir ging dies nur über die Miele App. Mit dem Start Kommando ist nichts passiert, was wiederum auch klar ist, wenn man sich die Doku anschaut:

Precondition: (fullRemoteControl==true) && (status==4) - Status 4 bedeutet „Programmiert, warten auf Start“, Pause ist aber status==6

Hmm, ich prüfe die Preconditions auch in den Funktionen ab, also wird auch kein akommando an deinen Geschirrspüler geschickt.

Könnte natürlich sein, das die Doku nicht richtig ist und ein START wieken würdw. Bist Du soweit firm, das du das testhablber mal in dem Modul (IPSymconMieleAtHome/MieleAtHomeDevice/module.php) ändern kannst?
Wenn das nix bringt könntest Du vielleicht an den Mielde-Support (developer@miele.com) schreiben und Dein Problem schildern? Hatte ich auch schon mal gemacht und relativ rasch (~3 Tage) eine qualifizierte Antwort bekommen

demel.

Das sollte ich hinbekommen.

Deine Vermutung war korrekt. Ich habe die „public function start“ nun wie folgt angepasst:
$states = [
STATUS_WAITING_TO_START,
STATUS_PROGRAMMED,
STATUS_PAUSE
];

Somit kann ich den Geschirrspüler starten, wenn dieser programmiert ist und auch nach einer Pause wieder starten.
Als nächstes möchte ich noch die Lichtfunktion näher untersuchen. Diese scheint ja eigentlich nicht für den Geschirrspüler gedacht zu sein, allerdings hat dieser auch zwei LEDs. Werde berichten…

Übernehmen ich,

Dann ist es bestimmt auch so, das man ein Gerät, was pausiert auch stoppen (function Stop) können sollte?

Bitte dran denke, das bei den Aktiona-Funktionen immer auch der Gerätetyp angegeben ist…

demel

In der Stop Funktion sind diese schon enthalten. Das reicht auch aus.

Bzgl. der LED Funktion habe ich schon die entsprechenden Devices abgeändert. Dies brachte aber auch keine Änderung. Diese Funktion scheint wirklich nur für bestimmte Weinkühler oder Abzugshauben zur Verfügung zu stehen.

Vielen Dank nochmal für deinen Einsatz, diese Funktionen für Symcon zur Verfügung zu stellen!

Version 1.5 @ 30.12.2018 16:57

[ul]
[li]die Aktionen (HTTP-PUT-Aufrufe) stehen nun als Variablen mit Standard-Aktionen zur Verfügung
[/li][li]der Status ist nun kein String mehr sondern ein Integer mit entsprechendem Variablenprofil
[/li][/ul]

Version 1.4 @ 28.12.2018 15:33

[ul]
[li]Anpassung an aktuelle API-Dokumentation
[/li][li]Ergänzung um die neuen HTTP-PUT-Aufrufe
[/li][/ul]

Version 1.3 @ 22.12.2018 12:25

[ul]
[li]Fehler in der http-Kommunikation nun nicht mehr mit echo (also als ERROR) sondern mit LogMessage als NOTIFY ausgegeben
[/li][li]Fix in einer DebugMessage
[/li][/ul]

Version 1.2 @ 21.12.2018 13:10

[ul]
[li]Standard-Konstanten verwenden
[/li][/ul]

Version 1.1 @ 27.11.2018 17:03

[ul]
[li]optional die Statuscodes selbst übersetzen
[/li][/ul]

Hmm, ich habe gerade gesehen, dass der Miele - Trockner auch so unaufgefordert an die IP-Adresse 157.97.106.X (der Firma ProfitBricks GmbH) verschlüsselt sendet.

An die Hersteller von Haushaltsgeräten und insbesondere Miele möchte ich diesen eindringlichen Appell richten:

Eine Funktion eines Haushaltsgerätes, die eine Internetverbinding veraussetzt, ist in KEINEM Fall nachhaltig oder umweltschonend. Gerade wenn dass Gerät die nächsten Jahre halten soll, muss ein Gerät möglichst langlebig auf offenen Standards OHNE Cloud betriebsbereit sein (ZB. bei der Integration einer autarken Solaranlagensteuerung). Außerdem wirft es ernsthafte Fragen des Datenschutzes auf. ( Siehe DSVGO und Datensparsamkeit / Datenminimierung )

Seit heute bekomme ich ständig Fehlermeldungen bei der Authentifizierung.

10.01.2019 23:11:27*| MieleAtHomeIO*| url=https://api.mcs3.miele.com/thirdparty/auth => statuscode=202, err=got http-code 401 (unauthorized)

Funktioniert bei Euch der Zugang ?

ja, funktioniert, hat bei mir auch gestern Abend funktioniert.

demel

Moin in die Runde,

nein bei mir geht der Zugang auch nicht mehr.

11.01.2019 14:30:37 | MieleAtHomeIO | url=https://api.mcs3.miele.com/thirdparty/auth => statuscode=202, err=got http-code 401 (unauthorized)

Ich hätte noch eine Anregung,
ist es möglich einene Checkbox einzubauen, wo man das Modul / Abfrage on- und offline bzw. Aktiv / Ausschalten kann?

Grüße
Thomas

Update-Intervall auf 0 setzen

demel

Moin,

ja - eine Idee, dann werden die Daten nicht mehr aktualisiert :slight_smile:

Aber das ist ja noch kein „Modul An & Ausschalten“ :wink:

Grüße
Thomas

Hallo zusammen

Auch bei mir geht der zugang nicht mehr :frowning:

MieleAtHomeIO*| url=https://api.mcs3.miele.com/thirdparty/auth => statuscode=202, err=got http-code 401 (unauthorized)

Gruess Dani

Hmm, dann habe ich nicht verstanden, was Du damit meinst. Kannst DU mir vielleicht mal den konkreten Anwendusfall schildern?

Gruß
demel