NEWS
MieleCloudService Adapter
-
@joergh ok das ist bei mir alles anders
-
Jetzt habe ich auch den Geschirrspüler mal in Betrieb genommen. Erstes Bild zeigt die Datenpunkte bevor er eingeschaltet wird und zweites Bild zeigt sie nachdem ich ihn gestartet habe. Die Erlaubnis zum "Starten", "Stoppen" oder "Pause" stehen IMMER auf "false". Das kann irgendwie doch nicht sein??
-
@joergh
Es tut mir leid, aber ich kann da nicht wirklich viel zu sagen. Ich bin ja auch nur Miele-Kunde und verfüge nur über drei selbst gekaufte Test-Geräte. Und da ist leider noch kein Geschirrspüler bei.Aber es gibt auch gute Neuigkeiten:
Auf Git steht die neue Version 4.50 zum Test bereit (Installation über die Katze). Aber Achtung! Betrachtet das bitte wirklich als BETA-Version. Vor dem Update aber bitte dem Changelog und der Readme Beachtung schenken. Speziell die Umstellung auf data pushing bietet Potential für Probleme bzw. Instabilität.V4.5.0 (2021-09-05) (Invincible)
- (grizzelbee) New: 164 fixed bug in SignalFailure and signalInfo when havin no value
- (grizzelbee) New: 155 fixed >missing object< bug on arrays
- (grizzelbee) New: 154 Reintroduced TargetTemp to washer dryers
- (grizzelbee) New: 140 Switched from data polling to server sent events (push data)
- (grizzelbee) New: 71 If there is no internet connection on startup retry connecting until connection is established
- (grizzelbee) Fix: estimatedEndTime won't be shown anymore when device is off
- (grizzelbee) Fix: Don't rethrowing errors in APISendRequest anymore
- (grizzelbee) Fix: fixed a few minor bugs
- (grizzelbee) Upd: Updated dependencies
- (grizzelbee) New: Added some additional API languages newly supported by Miele
- (grizzelbee) New: Added support for Miele API V1.0.5
- (grizzelbee) New: Added correct tier of adapter to io-package
- (grizzelbee) New: Added more program phases for tumble dryers to documentation
Programs (Introduced in API V1.0.5)
With API V1.0.5 Miele introduced a new endpoint called "/programs".
The support for this endpoint starts with adapter version 4.5.0. A new datapoint [device.Actions.Program] will be created listing all supported programs as returned by Miele.
Selecting one of the values will execute the program immediately!
Currently only simple programs are supported. E.g. Ovens need some additional information - this will be implemented in a future version.When publishing the adapter Miele documented a few device categories to support this endpoint and only (at least for me)
a subset of these really work. For my coffee system, washing machine and tumble dryer it only works for the coffee system.
But Miele is working on it and extends the support on a regular basis.
Please refer to the general Miele API documentation (below) for more information.Ohne Tests geht es aber nun einmal nicht ... also: Feedback (Positiv wie auch Bugreports) sind herzlich willkommen.
-
@Grizzelbee Habe die Veresion mal installiert das hat super geklappt. Bin diese Woche aber noch im Urlaub zum Testet komme ich erst nächste Woche.
Habe mit Miele auch noch kontakt wegen dem Starten der Geräte habe Ihnen mal geschrieben das wir vermuten das die Geräte in einen Tiefschlaf gehen, da ich alle Geräte so ca. innerhalb einer Stunde noch starten kann und dann Irgentwann nicht mehr, sie wollen das mal prüfen.
Gruß NMichael und danke für deine Mühe
-
Hallo zusammen,
haben den Beitrag schon im allgemeinen Bereich im Forum gepostet, denke aber, dass es hier besser platziert ist.Habe seit kurzem den MieleCloudService Adapter im Einsatz und komme damit so weit auch gut zurecht. Alle Kochzonen werden perfekt dargestellt.
Ein Datenpunkt / Funktion würde ich mir gerne aber noch wünschen...und zwar die Lüfterstufe für die integrierte Abzugfunktion.
Zum Hintergrund:
Ich verwende einen motorbetriebenen Mauerkasten, den ich heute manuell per Taster auf- und zufahre. Der Wunsch besteht nun darin, den Mauerkasten dann automatisch zu öffnen, wenn auf dem Kochfeld der Abzug eingeschaltet wird.
Wenn ich den Status der Kochfelder nehmen würde, dann würde sich der Mauerkasten immer öffnen, auch wenn ich z.B. mal ein Kochfeld nur auf Stufe 1 eingeschalten habe, das möchte ich jedoch nicht. Auch kann man den Abzug einschalten ohne ein Kochfeld aktiv zu haben. Das ist eben mit den aktuellen Datenpunkten nicht abbildbar.
Kann mir da jemand behilflich sein?
Vielen Dank -
@larsvoedisch
Hallo Lars,Ich helfe sehr gerne - schaue aber praktisch nie nach ob es im Forum neue Beiträge/Anfragen gibt.
Ich habe mich bei der Implementierung des Adapters an die Dokumentation von Miele gehalten und für Kochfelder ist der Datenpunkt "Lüfterstufe/Ventilation level" aktuell nicht definiert bzw. dokumentiert.
Dennoch funktionieren manche Dinge, die eben nicht dokumentiert sind. Aktuelles Beispiel sind die Programme. Dokumentiert für Waschmaschinen - da funktionieren sie aber nicht. NICHT dokumentiert für Caffeeautomaten - da funktionieren sie aber.Es gibt jetzt zwei Möglichkeiten:
- Schalte den Adapter in den Debug-Modus und fische (am besten mit laufendem Abzug) das JSON raus, das bei "SplitMieleDevices" angezeigt wird. Daraus sollte hervor gehen, ob die Lüfterstufe des Kochfeldes von der API übermittelt wird.
- Gehe auf https://www.miele.com/developer/swagger-ui/swagger.html - melde dich mit deinen Login-Daten (alle 4) an und frage den State des Kochfeldes ab - da sollte dann auch das JSON bei rauskommen.
Dann können wir ggf. gemeinsam in das JSON gucken ob dort ein ventilationstep angezeigt (womöglich sogar noch der richtige/eingestellte). Wenn ja - baue ich das gerne ein. Falls nicht - kann ich leider nicht viel tun.
-
@grizzelbee
Vielen Dank für deine schnelle Antwort. Werde ich mal schauen und mich dann wieder melden. In der iOS-App wird die Ventilatorstufe auf jeden Fall schon mal angezeigt. -
In der iOS-App wird die Ventilatorstufe auf jeden Fall schon mal angezeigt.
Das kann gut sein. Die Miele-Internen Entwickler haben mehr Möglichkeiten. Die API wird erst nach und nach mit Daten und Funktionen bestückt.
-
@grizzelbee
Anbei mal der Inhalt aus SplitMieleDevices. Sieht nicht so aus, als wenn die Lüfterstufe mit kommt. Die Werte 2 und 4 unten, zeigen die Stufe des Kochfeldes. Die Lüfterstüfe war auf 3, ist aber nirgends zu erkennen.splitMieleDevices: 000175944516: [000175944516] *** Value: [{"ident":{"type":{"key_localized":"Gerätetyp","value_raw":27,"value_localized":"Kochfeld"},"deviceName":"","deviceIdentLabel":{"fabNumber":"000175944516","fabIndex":"00","techType":"KMDA7634","matNumber":"11390360","swids":["4806","20269","25122"]},"xkmIdentLabel":{"techType":"EK039W","releaseVersion":"02.72"}},"state":{"ProgramID":{"value_raw":0,"value_localized":"","key_localized":"Programmbezeichnung"},"status":{"value_raw":5,"value_localized":"In Betrieb","key_localized":"Status"},"programType":{"value_raw":0,"value_localized":"Programm","key_localized":"Programmart"},"programPhase":{"value_raw":0,"value_localized":"","key_localized":"Programmphase"},"remainingTime":[0,0],"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":false,"remoteEnable":{"fullRemoteControl":true,"smartGrid":false,"mobileStart":false},"ambientLight":null,"light":null,"elapsedTime":[],"spinningSpeed":{"unit":"U/min","value_raw":null,"value_localized":null,"key_localized":"Schleuderdrehzahl"},"dryingStep":{"value_raw":null,"value_localized":"","key_localized":"Trockenstufe"},"ventilationStep":{"value_raw":null,"value_localized":"","key_localized":"Lüfterstufe"},"plateStep":[{"value_raw":0,"value_localized":"0","key_localized":"Leistungsstufe"},{"value_raw":0,"value_localized":"0","key_localized":"Leistungsstufe"},{"value_raw":3,"value_localized":"2","key_localized":"Leistungsstufe"},{"value_raw":7,"value_localized":"4","key_localized":"Leistungsstufe"},{"value_raw":0,"value_localized":"0","key_localized":"Leistungsstufe"}],"ecoFeedback":null,"batteryLevel":null}}]
Wollte dann auch deinen zweiten Vorschlag ausprobieren, bin aber daran gescheitert, dass ich nicht weiß was ich bei "BearerAuth" eingeben muss. Die anderen zwei Felder sind klar.
Wäre super, wenn du mir da noch eine Hilfestellung geben könntest.Danke schon mal im Voraus.
-
Du hast absolut Recht:
"ventilationStep":{"value_raw":null,"value_localized":"","key_localized":"Lüfterstufe"}
Wenn - dann müsste es hier drin stehen. das ist zumindest die Info für Dunstahauben.
Also: Aktuell keine Chance an die Info zu kommen.Der BearerAuth ist alternativ - den kannst du also einfach leer lassen.
Du könnest auch den Bearer, den der Adapter beim Start ausgibt dort eintragwen und die anderen Felder leer lassen.
Du kannst Dir das aber sparen. Die beiden Wege waren alternativ. Da kommen keine anderen Ergebnisse bei raus. Die Seite ist nur mitunter ganz praktisch um mal gezielt Dinge auszuprobieren ohne in Kilometern von logs zu wühlen. -
@grizzelbee
Schade. Hast du ne Mail-Adresse oder Forum, wo man Miele mal direkt anschreiben kann? -
Ein Forum gibt es meines Wissens nach nicht. Maildraesse findest du auf: https://www.miele.com/developer
-
@Grizzelbee kannst du mir die zwei datenpunkte erklären
Da ich komischerweise über beide die Maschine mal Starten kann und mal nicht? Sorry Bild vergessen.
-
@michael-1975
Also, die Idee ist folgende:
In ioBroker habe ich keine Möglichkeit einen Schalter zu definieren - und ihn anschließend zu aktivieren oder zu deaktivieren. Das wäre eigentlich meine Lieblingslösung gewesen. Das Problem ist nämlich folgendes: Wenn der Schalter einmal da ist, ist er auch jederzeit klick-/schaltbar. Die Miele-API sagt mir aber - abhängig vom Zustand der Geräte - welche Aktion sich nun tatsächlich gerade auslösen lässt und welche nicht. Also habe ich einmal den eigentlichen Schalter zum Starten der Aktion implementiert (Action.Start) und direkt daneben die Statusanzeige ob der Button lt-. API gerade funktioniert - oder eben auch nicht (Action.Start_Button_Active). Damit könnte man also in der VIS die entsprechenden Schalter aktivieren bzw. deaktivieren. Soviel zur Intention dahinter.Ich bin zwar der letzte, der Programmierfehler kategorisch ausschließen will - im Augenblick fehlt mir aber tatsächlich die Fantasie, wie Start_Button_Active die Aktion selbst auslösen sollte oder könnte. Gedacht ist es aber ganz sicher nicht so.
Hoffe deine Frage befriedigend beantwortet zu haben.
-
UPDATE: Sorry, hat sich erledigt. Scheinbar war das iobroker gespeicherte Kennwort falsch oder leer. Hat sich mysteriöserweise von selbst gelöscht
Hmm, seit heute Morgen kommen bei mir nur noch Fehlermeldung bezgl. falscher Login-Daten. Habe sie aber gegengeprüft und mir sogar neue bei Miele geben lassen. Trotzdem bleibt der Adapter "rot". Habt Ihr das auch?
mielecloudservice.0 2021-09-15 14:04:11.528 warn Read-only state "mielecloudservice.0.info.connection" has been written without ack-flag with value "false" mielecloudservice.0 2021-09-15 14:04:11.522 error [main] APIGetAccessToken returned neither a token nor an errormessage. Returned value=[undefined] mielecloudservice.0 2021-09-15 14:04:11.521 warn IMPORTANT!! Mask/Delete your credentials when posting your log online! mielecloudservice.0 2021-09-15 14:04:11.520 error options country: [de-DE] mielecloudservice.0 2021-09-15 14:04:11.520 error options Client_Secret: [XXX] mielecloudservice.0 2021-09-15 14:04:11.520 error options Client_ID: [XXX] mielecloudservice.0 2021-09-15 14:04:11.520 error options Miele_Password: [] mielecloudservice.0 2021-09-15 14:04:11.520 error options Miele_account: [XXX] mielecloudservice.0 2021-09-15 14:04:11.520 error Credentials used for login: mielecloudservice.0 2021-09-15 14:04:11.519 error Error: Unable to authenticate user! Your credentials seem to be invalid. Please double check and fix them. mielecloudservice.0 2021-09-15 14:04:11.518 error OAuth2 returned an error during first login!
-
bei mir ist alles ok
-
@grizzelbee sagte in MieleCloudService Adapter:
@michael-1975
Also, die Idee ist folgende:
In ioBroker habe ich keine Möglichkeit einen Schalter zu definieren - und ihn anschließend zu aktivieren oder zu deaktivieren. Das wäre eigentlich meine Lieblingslösung gewesen. Das Problem ist nämlich folgendes: Wenn der Schalter einmal da ist, ist er auch jederzeit klick-/schaltbar. Die Miele-API sagt mir aber - abhängig vom Zustand der Geräte - welche Aktion sich nun tatsächlich gerade auslösen lässt und welche nicht. Also habe ich einmal den eigentlichen Schalter zum Starten der Aktion implementiert (Action.Start) und direkt daneben die Statusanzeige ob der Button lt-. API gerade funktioniert - oder eben auch nicht (Action.Start_Button_Active). Damit könnte man also in der VIS die entsprechenden Schalter aktivieren bzw. deaktivieren. Soviel zur Intention dahinter.Ich bin zwar der letzte, der Programmierfehler kategorisch ausschließen will - im Augenblick fehlt mir aber tatsächlich die Fantasie, wie Start_Button_Active die Aktion selbst auslösen sollte oder könnte. Gedacht ist es aber ganz sicher nicht so.
Hoffe deine Frage befriedigend beantwortet zu haben.
Danke für deine Antwort.
Ich werde es mal weiter durchprobieren und dir dann die Infos geben.
Gruß Michael -
So heute habe ich es endlich das erstemal hinbekommen das die Spülmaschine selbst startet wenn ich von der PV Anlage überschuß produziere. Für die wo es interessiert folgendes habe ich gemacht, gestern abend die Maschine eingeschaltet mit Endzeit spätesdens heute um 18:00 Uhr.
Und sie ist heute morgen selbständig um 8:30 angegangen nach dem ich mehr wie 50 Watt von der PV Anlage kommt ist bis jetzt nur bis alles läuft dann wird optimiert mit Trockner und Waschamschine, folgendes Blockly habe ich gemacht.
Gruß Michael
-
Cool! Freut mich sehr, dass es jetzt klappt.
Die erste Steueranweisung kannst du aber getrost rausnehmen.
Die wird nichts ausrichten. Der Datenpunkt ist nicht beschreibbar:Du könntest bestenfalls abfragen ob der Datenpunkt gerade "wahr" ist und dann erst die Maschine starten und falls er "falsch" ist eine Benachrichtigung schicken. Dafür ist er gedacht und so sollte er funktionieren - hoffe ich jedenfalls. Das Problem ist nämlich, dass der Adapter in einen Fehler läuft, wenn eine Aktion ausgelöst wird, die gerade nicht erlaubt ist.
-
@grizzelbee komisch ist nur das der immer auf false steht.
wenn ich den raus nehme dann ginge es das letzte mal nicht, werde es aber nochmals probieren.
Es war ja immer das Problem wenn ich die Maschine richte und nach ca.3 Stunden konnte ich Sie nicht mehr mit dem Adapter starten und so hat es jetzt funktioniert aber ich teste es heute abend nochmal und schaue ob Sie morgen startet.