[Modul] Miele@Home

Es gibt schon seit langem ein Modul zum Auslesen/Steuern von Miele-Haushaltsgeräten via Miele@Home.
Als Diskussions-Thread hatte ich seinerzeit leider einen alten Thread (Miele@Home XKM 3100W Protokollanalyse) benutzt, was immer wieder zur Verwirrung führte.
Daher habe ich jetzt einen eigenen Thread angelegt und @Nall-chan war so nett, die betreffenden Nachrichten aus dem „falschen“ Thread hierhin zu verschieben.

  1. Voraussetzungen
  • mindestens IP-Symcon 6.0
  • ein Miele@Home-Account und ein damit verknüpftes Gerät
  1. Enthaltene Module
    MieleAtHomeSplitter, MieleAtHomeConfig, MieleAtHomeDevice

  2. Installation
    Über den Module Store!

  3. Dokumentation
    IPSymconMieleAtHome

Hallo,

soweit ich den Feed richtig gelesen habe gibt es noch kein Modul, das die miele@home-3rd-party-API verwendet?
der vorige Post von danimerz bietet ja schon eine erheblich Teil der Logik zum Verständnis der API.

Da ich meine erstes Geräte gerade bekommen habe (Waschmaschine), im Januar definitiv noch ein zweites Gerät bekomme (Wäschetrockner) , würde ich gerne ein Modul incl. Konfigurator erstellen. Wenn jemand Lust hat, zu testen, würde ich mich freuen.

Die API ist zwar schon etwas dürftig und erstmal nur „read-only“, aber ist ja auch ganz neu, vielleicht entwickelt sich da noch etwas.

demel

Ich teste gern!

Würde mich für einen Test ebenso zu verfügung stellen :slight_smile:

Danke und Gruess

Hallo,

Prima!

ich kommen ganz gut voran, hab meine Waschmaschine bereits grob laufen (ein Testzyklaus dauert so lange, sodaß ich möglich Daten-Konstellationen peu à peu prüfen kann).

Das ist das Modul: GitHub - demel42/IPSymconMieleAtHome: Interface for Miele@Home third-party-API to IP-Symcon (under construction)

Ich habe ein klassisches 3-Teilung:

  1. ein IO-Modul (Miele@Home IO), in dem die Zugangsdaten eingegeben werden (das zuerst anlegen)

  2. ein Konfiguration-Modul (Miele@Home Konfigurator), bei dem man jedes seiner Geräte auswählt, das angelegt werden soll.

  3. das Geräte-Modul (Miele@Home Gerät), das aber nicht von Hand sondern nur über den Konfigurator angelegt wird!

Nun ist es so, das die Felder meiner Meinung nach nicht für alle Gerätetype gleich sind (gibt’s bei der Waschmaschine die Drehzahl), daher lege ich in Abhängigkeit vom Typ bestimmte Felder an.

Noch ist die Doku nicht vorhanden, das kommt in den nächsten Tagen

Welche Gerätetypen habe ihr?

Zur Zeit habe ich noch keine weiteren Geräte mit Miele@Home verbunden, brauche also ein paar Informationen.

Was wäre am besten:

Anlegen der Module in der Reihenfolge IO, Konfigurator und im Konfigurator das oder die Geräte anlegen.
Dann

  • die Geräte-Konfigurationsseite aufrufen
  • Debug aktivieren
  • Daten abrufen betätigen
  • den Debug-Output sicher (Speichern als)

Die Daten mal anschauen, was relevant sein könnte und nachschauen, wie die Felder (zB in der Miele-App) zu betiteln sind.

Wenn ihr mir den Debug-Output des Geräte-Module mit diesen Informationen zukommen lasst, kann ich das fix einbauen …

Gruß
demel

Wow, das ging ja schnell, besten Dank.
Ich habe nur das Problem das ich mich nicht anmelden kann, bzw. wenn ich in der IO Instanz auf Zugang Prüfen klicke erscheint mir die beigefügte Fehlermeldung. Ich kann mir nur vorstellen das es mit den Sprachen zu tun hat… Da ich aus der Schweiz bin muss ich bei „meinem“ skript „ch-ch“ als Sprache einstellen.
Ach ja, mein bestehendes Skript funktioniert mit den gleichen Login Daten…

Zurzeit haben wir nur einen Tumbler der Miele@Home fähig ist. jedoch ist unsere Miele Waschmaschine nicht mehr die neuste und wer weiss, vielleicht bringt das Christkind ja eine neue :wink:

Tumbler Typ = TKR850WP

Gruess Dani

Ok, es ist definitiv die Sprache, habe es lokal im Modul kurz erweitert und funktioniert einwandfrei :slight_smile:
hier noch die Ausgabe aus dem Debug.

data={"status":{"value_raw":3,"value_localized":"Program selected","key_localized":"State"},"programType":{"value_raw":2,"value_localized":"","key_localized":"Programme"},"programPhase":{"value_raw":512,"value_localized":"","key_localized":"Phase"},"remainingTime":[1,51],"startTime":[0,0],"targetTemperature":[{"value_raw":-32768,"value_localized":null,"unit":"Celsius"}],"temperature":[{"value_raw":-32768,"value_localized":null,"unit":"Celsius"},{"value_raw":-32768,"value_localized":null,"unit":"Celsius"},{"value_raw":-32768,"value_localized":null,"unit":"Celsius"}],"signalInfo":false,"signalFailure":false,"signalDoor":true,"remoteEnable":{"fullRemoteControl":true,"smartGrid":false},"light":0,"elapsedTime":[0,0],"dryingStep":{"value_raw":2,"value_localized":"Normal","key_localized":"Drying level"},"ventilationStep":{"value_raw":null,"value_localized":"","key_localized":"Power Level"}}

mieleIOFehler.PNG

Besten Dank an danimerz und demel42 für ihre Arbeit.

Das Modul funktioniert mit dem Trockner TMM843WP. Eine neue Waschmaschine soll demnächst folgen.

Beim Skript hatte ich das Problem, dass meine Zugangsdaten nach einiger Zeit nicht mehr akzeptiert wurden.
Getriggert wurde das Skript alle 60 Sekunden nur bei laufendem Gerät.

Nach Anforderung eines neuen Passwortes in der Miele-App ist der Zugang wieder möglich.

Hmm, ich habe die Sprachauswahl Gerde auch erweitert. Was mich wundert ist, das der Text nun wieder in Englisch kommt

"key_localized":"Power Level"

Eventuell muss man den VgSelector bei Login und die Sprache unterschiedlich einstellen können … habe ich mal eingebaut. bitte aktualisieren und testen

Als Sprache dann „Deutschland“ und als VG-Auswahl „Schweiz“

Welcher Code steht eigentlich als Geräte-ID in dem erzeugten „Geräte“-Modul?

Bei den Daten, die dann geschickt werden … welchen von den Daten haben denn einen interessanten Inhalt, wenn der Trockner läuft? Da gibt es ja diverse Temperaturen, einen dryingStep und ventilationStep?

Gruß
demel

Ja das Problem konnte ich auch feststellen, könnte mir vorstellen das Miele dies nicht so gerne hat wenn zu viele abfragen oder anmeldungen in kurzer zeit erfolgen.
Beim Modul konnte ich das bis jetzt noch nicht feststellen
.

Eventuell muss man den VgSelector bei Login und die Sprache unterschiedlich einstellen können … habe ich mal eingebaut. bitte aktualisieren und testen

Als Sprache dann „Deutschland“ und als VG-Auswahl „Schweiz“

Welcher Code steht eigentlich als Geräte-ID in dem erzeugten „Geräte“-Modul?

Bei den Daten, die dann geschickt werden … welchen von den Daten haben denn einen interessanten Inhalt, wenn der Trockner läuft? Da gibt es ja diverse Temperaturen, einen dryingStep und ventilationStep?

Ich werde das heute Abend mal testen und hier berichten.Sobald der Trockner den mal läuft gebe ich dir die Daten bekannt. Aber was mich zum beispiel interessieren würde wäre der Energie verbrauch, dieser kommt jedoch nicht an:confused:

Besten Dank und Gruess Dani

Hallo.

Mein Skript publiziert die Information des Miele Geräte mit MQTT, so dass alle die verschidene Automation-systeme die Information anwenden kann. Darum bracuhst mann auch ein App, um MQTT information zu publizieren.

Mosquitto_pub ist ein App, der zugänglich ist, für alle aktuelle Operativsysteme. Darum habe ich dass gewählt. Auf Raspbian ist es ein Teil des packet „mosquitto-clients“, wenn ich alles korrekt merken.

Ja, das kann ich mir vorstellen. Das Verfahren im Modul ist ja auch etwas anders. Es gibt ja vor dem eigentliche Abholen von Daten ein Login und ein Holen eines Token. Dieser Token ist lange Zeit gültig. Und hier ist der Unterschied vom Script zum Modul: ich merke mit den Token und erneuere ihn nur, wenn er abgelaufen ist.
Das Script merkt sich ja nichts und damit wird alle 60s ein komplettes Login gemacht. Das - könnte ich mir denken - gefällt Miele nicht und sperrt das Passwort, ggfs auch nur für einige Zeit.

Ja prima, bin gespannt, ob es Informationen gibt, die man verwerten sollte. Ein Vergleich mit der Miele@Home-App wäre vielleicht auch nicht falsch, dann kann man die Daten in der Nachricht besser zuordnen.

ja, das hätte mich auch interessiert. Ich habe auch Montag an Miele geschrieben, mal sehen, ob das was zurück kommt. Die API ist ja futsch-neu, von daher kann es ja durchaus sein, das da Bewegung im Spiel ist.

demel

Hallo,

ja, das Script habe ich gesehen bzw bin durch den Post Miele@Home XKM 3100W Protokollanalyse - Seite 6 von danimerz drauf aufmerksam geworden.

Hat mir an einer Stelle auch sehr geholfen, denn der vgInformationSelector steht nirgendwo in der Doku. Danke für die Vorarbeit.

Was MQTT angeht bin ich nicht zuhause, aber so richtig verstanden habe ich es nicht. Im Prinzip machst Du mit http-class, die du per MQTT weiterleitest und dann braucht man ja ein Modul, um die im IPS zu verarbeiten.

Hmm, dafür habe ich doch ein IO-Modul, das diese HTTPO-Calls macht? Und den Konfigurator bzw. das Device-Modul braucht man ja schon, oder?

Warum machst Du in dem Code eigentlich die Übersetzung von [‚state‘][‚programPhase‘][‚value_raw‘] in Text und benutzt nicht [‚state‘][‚programPhase‘][‚value_localized‘]?

In Deutsch bekommt man dies Text übrigens, wenn man bei den http-Aufrufen den Parameter language=de anhängt.

Gruß
demel

Hallo zusammen

Ich habe soeben das Modul aktuallisiert, und meinen Trockner neu angelegt, siehe da, alles Deutsch :slight_smile: Besten Dank für die schnellen anpassungen.
Ich schalte den trockner heute mal an und vergleiche die Daten von IPS mit denen von der Miele@Home App. Gebe dann die ergebnisse hier bekannt. EDIT, Trockner läuft heute nicht mehr :slight_smile: alle Wäsche ist Trocken :smiley:

ja, das hätte mich auch interessiert. Ich habe auch Montag an Miele geschrieben, mal sehen, ob das was zurück kommt. Die API ist ja futsch-neu, von daher kann es ja durchaus sein, das da Bewegung im Spiel ist.
Ich wollte gestern auch noch an Miele schreiben, aber irgendwie konnte ich keinen schlauen satz mehr schreiben :smiley: da habe ich es gelassen;)
Was ich noch schön fände, abgesehen von den Energiedaten, wäre die möglichkeit das Gerät auch über die API steuern zu können z.b. Ein/Aus, Trocknungsstufe, Programmstart usw. Aber eben wie du gesagt hast, ist ja alles relativ neu, mal schauen was da noch so kommt…

Gruess

Hier mein erstes Feedback , nachdem der Trockner nach Installation des Moduls zum ersten Mal gelaufen ist:

Beim Modul gibt es keine Rückgabewerte für die Parameter „Programm“ und „Phase“.

Hallo,

das war st aber komisch. Kannst Du mal prüfen, ob das Modul auf aktuellem Stand ist? Ich habbe in der Dekodierroutine am 6.11. noch was geändert um die Programm/Phase Geräteunabhängig zu übernehmen.

Wenn das auf dem aktuelle Stand ist, bräuchte ich den Debug des Device-Moduls (nicht die ganze Laufzeit, nur ein paar Datenabrufe).

Gibt es in de Miele-App noch weitere Informationen, die du in dem Datenstrom wieder erkennst?

Gruß
demel

Das Modul hatte ich aktualisiert. Einige Zeilen Debug der Geräteinstanz sind im Anhang.

dryer_dump.txt (20.1 KB)

…und ein Screenshot der Miele-App.

ok, ich sehe, es gibt war auch beim Trockner ein „value_localized“, aber beim Trockner ist der leer ( bei meiner Waschmaschine ist der belegt ).
Muss ich also die Daten doch selbst übersetzen.

Noch eine Frage: welcher Geräte-Typ ist das?

Dazu bitte im IO-Modul den Debug einschalten und den Wert von ident.type.value_raw herausholen.

=> cdata={„000149012434“:{„ident“:{„type“:{„key_localized“:„Gerätetyp“,„value_raw“:1,„value_localized“:„Waschmaschine“},

Gruß
demel

Im Debug vom I/O-Modul ist kein Eintrag zum Gerätetyp.

Per Skript wird der Gerätetyp (in Englisch) zurückgeliefert:

 array(3) {
        ["key_localized"]=>
        string(10) "Devicetype"
        ["value_raw"]=>
        int(2)
        ["value_localized"]=>
        string(13) "Clothes Dryer"
      }

genau das meinte ich.

Was mich wundert ist das es in Englisch kommt. Welche Sprache hast du im IO-Modul eingestellt?

demel