NEWS
MieleCloudService Adapter
-
@maeb3 sagte in MieleCloudService Adapter:
Zur Info: auch für Geräte vom Typ "washer dryer" (hier: WTH730) erhält man über die API den Wert targetTemperature.
Danke dafür!
Ich habe es mal auf die Liste genommen und erledige das, wenn ich das nächste mal am Adapter arbeite. Oder ist es dringend?https://github.com/Grizzelbee/ioBroker.mielecloudservice/issues/154
-
@grizzelbee , nein. Ist absolut nicht dringend bei mir.
-
Hi,
seit gestern (?) hatte ich diesen Fehler im Log:2021-06-29 07:55:15.247 - error: mielecloudservice.0 (19364) Request made and server responded: 2021-06-29 07:55:15.247 - error: mielecloudservice.0 (19364) Response.status:401 2021-06-29 07:55:15.247 - error: mielecloudservice.0 (19364) Response.headers: {"date":"Tue, 29 Jun 2021 05:55:15 GMT","content-type":"application/json","transfer-encoding":"chunked","connection":"close","strict-transport-security":"max-age=15724800; includeSubDomains"} 2021-06-29 07:55:15.247 - error: mielecloudservice.0 (19364) Response.data: {"code":401,"message":"Unauthorized"} 2021-06-29 07:55:15.247 - error: mielecloudservice.0 (19364) [refreshMieleData] [Error: Unauthorized] |-> JSON.stringify(error):{} 2021-06-29 07:56:15.374 - error: mielecloudservice.0 (19364) [APISendRequest] {"message":"Request failed with status code 401","name":"Error","stack":"Error: Request failed with status code 401\n at createError (/opt/iobroker/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/opt/iobroker/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/axios/lib/adapters/http.js:260:11)\n at IncomingMessage.emit (events.js:326:22)\n at IncomingMessage.EventEmitter.emit (domain.js:483:12)\n at endReadableNT (_stream_readable.js:1241:12)\n at processTicksAndRejections (internal/process/task_queues.js:84:21)","config":{"url":"https://api.mcs3.miele.com/v1/devices/?language=de","method":"get","data":"","headers":{"Accept":"application/json","Authorization":"Bearer DE_d9a5c86b1e04a89xxxxxxxxxxxxxx","Content-Type":"application/json","User-Agent":"axios/0.21.1"},"transformRequest":[null],"transformResponse":[null],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1,"maxBodyLength":-1,"dataType":"json","json":true}} | [Stack]: Error: Request failed with status code 401 at createError (/opt/iobroker/node_modules/axios/lib/core/createError.js:16:15) at settle (/opt/iobroker/node_modules/axios/lib/core/settle.js:17:12) at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/axios/lib/adapters/http.js:260:11) at IncomingMessage.emit (events.js:326:22) at IncomingMessage.EventEmitter.emit (domain.js:483:12) at endReadableNT (_stream_readable.js:1241:12) at processTicksAndRejections (internal/process/task_queues.js:84:21)
Gleichzeitig musste ich mich in der Android-App neu einloggen, da gab es scheinbar auch ein App-Update.
Nach einem Restart des Adapters geht es jetzt wieder.
Ist das noch jemandem aufgefallen? -
@Grizzelbee
Moin,anscheinend hat sich irgendwas geändert mit dem letzten APP update. Ich habe nun bei allen Steuerfunktionen des Adapters immer "false" in dem jeweiligen Datenpunkt der anzeigt, ob die Funktion gerade ausgeführt werden kann. Per APP geht es natürlich, also Start/Stop/Pause funktionieren über den Adapter nicht. Wenn ich den Button betätige, kommt die Fehlermeldung, dass die Funktion derzeit nicht möglich sei.
Gruß
Jörg
-
@joergh sagte in MieleCloudService Adapter:
Ich habe nun bei allen Steuerfunktionen des Adapters immer "false" in dem jeweiligen Datenpunkt der anzeigt, ob die Funktion gerade ausgeführt werden kann.
Hmmm. Komisch. Hat sich das erledigt, oder besteht das Problem noch? Wenn ja, schick bitte mal ein Debug-Log. Die API sollte sich eigentlich nicht geändert haben.
-
@grizzelbee
Mach ich, dauert aber ca. 2 Wochen. Komme nicht ans Gerät im Moment. Was mir aufgefallen ist, ist, dass es zwischenzeitlich funktioniert hat mit dem Pausen und wieder aufheben (trotz false Anzeige), dann ging es wieder nicht und die entsprechende Fehlermeldung erschien. Scheint nur erratisch zu funktionieren. Melde mich, wenn ich testen kann wieder... -
Ich habe auch seit einigen Tagen Probleme. Die Datenpunkte (in meinem Fall einer WEG375-Waschmaschine) wurden nicht mehr aktualisiert. Nach dem Versuch einer Neuinstallation, wobei ich vorher alle Datenpunkte gelöscht habe, werden diese nicht mehr angelegt. Der einzige angelegte ist "info/connection", der auch auf "true" steht.
Ich bin da nicht sicher, es könnte aber zeitlich mit dem Installieren der neuen Miele-App auf dem Handy zusammenfallen. Das Debug-Log sieht beim Start folgendermaßen aus:2021-07-19 13:32:36.469 - [32minfo[39m: mielecloudservice.0 (COMPACT) starting. Version 4.2.0 in /opt/iobroker/node_modules/iobroker.mielecloudservice, node: v12.22.2, js-controller: 3.2.16 2021-07-19 13:32:36.515 - [34mdebug[39m: mielecloudservice.0 (COMPACT) function APIGetAccessToken 2021-07-19 13:32:36.527 - [34mdebug[39m: mielecloudservice.0 (COMPACT) Awaiting OAuth2 Token. 2021-07-19 13:32:36.528 - [34mdebug[39m: mielecloudservice.0 (COMPACT) OAuth2 grant_type: [password] 2021-07-19 13:32:36.529 - [34mdebug[39m: mielecloudservice.0 (COMPACT) options OAuth2-VG: [de-DE] 2021-07-19 13:32:36.530 - [34mdebug[39m: mielecloudservice.0 (COMPACT) config API Language: [de] 2021-07-19 13:32:36.845 - [32minfo[39m: mielecloudservice.0 (COMPACT) Access-Token expires at: [Wed Aug 18 2021 13:32:00 GMT+0200 (GMT+02:00)] 2021-07-19 13:32:36.850 - [32minfo[39m: mielecloudservice.0 (COMPACT) Setting up devices ... 2021-07-19 13:32:36.851 - [34mdebug[39m: mielecloudservice.0 (COMPACT) refreshMieleData: get data from API 2021-07-19 13:32:36.854 - [34mdebug[39m: mielecloudservice.0 (COMPACT) APISendRequest: Awaiting requested data. 2021-07-19 13:32:36.855 - [34mdebug[39m: mielecloudservice.0 (COMPACT) axios options: [{"headers":{"Authorization":"Bearer DE_50deacc8e608a40817a959f25750f923","Accept":"application/json","Content-Type":"application/json"},"method":"GET","data":"","dataType":"json","json":true,"url":"https://api.mcs3.miele.com/v1/devices/?language=de"}] 2021-07-19 13:32:37.020 - [34mdebug[39m: mielecloudservice.0 (COMPACT) API returned Status: [200] 2021-07-19 13:32:37.021 - [34mdebug[39m: mielecloudservice.0 (COMPACT) API returned Information: [undefined] 2021-07-19 13:32:37.023 - [34mdebug[39m: mielecloudservice.0 (COMPACT) verifiedData: [undefined] 2021-07-19 13:32:37.023 - [34mdebug[39m: mielecloudservice.0 (COMPACT) refreshMieleData: handover all devices data to splitMieleDevices 2021-07-19 13:32:37.024 - [34mdebug[39m: mielecloudservice.0 (COMPACT) refreshMieleData: data [{}] 2021-07-19 13:32:37.025 - [34mdebug[39m: mielecloudservice.0 (COMPACT) [splitMieleDevices] Splitting JSON to single devices. 2021-07-19 13:32:37.026 - [32minfo[39m: mielecloudservice.0 (COMPACT) Starting poll timer with a [1] Minute(s) interval. 2021-07-19 13:32:37.037 - [34mdebug[39m: mielecloudservice.0 (COMPACT) Updating device states (polling API scheduled). 2021-07-19 13:32:37.038 - [34mdebug[39m: mielecloudservice.0 (COMPACT) refreshMieleData: get data from API 2021-07-19 13:32:37.039 - [34mdebug[39m: mielecloudservice.0 (COMPACT) APISendRequest: Awaiting requested data. 2021-07-19 13:32:37.040 - [34mdebug[39m: mielecloudservice.0 (COMPACT) axios options: [{"headers":{"Authorization":"Bearer DE_50deacc8e608a40817a959f25750f923","Accept":"application/json","Content-Type":"application/json"},"method":"GET","data":"","dataType":"json","json":true,"url":"https://api.mcs3.miele.com/v1/devices/?language=de"}] 2021-07-19 13:32:37.243 - [34mdebug[39m: mielecloudservice.0 (COMPACT) API returned Status: [200] 2021-07-19 13:32:37.245 - [34mdebug[39m: mielecloudservice.0 (COMPACT) API returned Information: [undefined] 2021-07-19 13:32:37.245 - [34mdebug[39m: mielecloudservice.0 (COMPACT) verifiedData: [undefined] 2021-07-19 13:32:37.246 - [34mdebug[39m: mielecloudservice.0 (COMPACT) refreshMieleData: handover all devices data to splitMieleDevices 2021-07-19 13:32:37.246 - [34mdebug[39m: mielecloudservice.0 (COMPACT) refreshMieleData: data [{}] 2021-07-19 13:32:37.247 - [34mdebug[39m: mielecloudservice.0 (COMPACT) [splitMieleDevices] Splitting JSON to single devices.
-
@joergh sagte in MieleCloudService Adapter:
Scheint nur erratisch zu funktionieren. Melde mich, wenn ich testen kann wieder...
Vielleicht ist das ja der Grund, warum Miele das noch nicht dokumentiert und freigegeben hat.
Melde dich einfach. dann sehen wir mal... es besteht ja immer die Möglichkeit, das Miele im Hintergrund an der API arbeitet - im Grunde hoffen wir ja alle permanent darauf.@mdk2412 sagte in MieleCloudService Adapter:
2021-07-19 13:32:37.020 - [34mdebug[39m: mielecloudservice.0 (COMPACT) API returned Status: [200]
2021-07-19 13:32:37.021 - [34mdebug[39m: mielecloudservice.0 (COMPACT) API returned Information: [undefined]
2021-07-19 13:32:37.023 - [34mdebug[39m: mielecloudservice.0 (COMPACT) verifiedData: [undefined]Hmmm. Das sieht seltsam aus. Status 200 sagt, dass alles Okay ist und Daten geschickt wurden/werden. dann kommt aber nichts (-> undefined). Läuft die Miele App denn sauber? Ich werde nämlich das Gefühl nicht los, das immer wenn ein Update der App kommt, das ein neues Abnicken der Nutzungsbestimmungen erfordert, auch der Adapter aus dem Tritt gerät. Es könnte sein, dass auch die API dann keine Daten mehr liefert, bis die neuen Bedingungen akzeptiert sind. Das ist aber nur so ein Gefühl.
-
Hallo,
bei mir geht es nach dem Update ohne Probleme. Allerdings wird mir jetzt beim Datenpunkt PROGRAMM bei meinem Geschirrspüler G7310 "Biergläser warm" angezeigt. Das sollte aber eigentlich "PowerWash 60°" sein. Programmbezeichnung_raw ist 44. Ob noch andere Programmbezeichnungen betroffen sind kann ich nicht sagen, da ich meistens nur dieses benutze.
Grüße..
-
@homezecke sagte in MieleCloudService Adapter:
Allerdings wird mir jetzt beim Datenpunkt PROGRAMM bei meinem Geschirrspüler G7310 "Biergläser warm" angezeigt. Das sollte aber eigentlich "PowerWash 60°" sein.
Das hat dann Miele verbeutelt. Die Klartext-Sachen kommen direkt von Miele.
Schalte in den Einstellungen, wenn Du Lust hast, vielleicht mal auf Englisch um um gucke ob das (sinngemäß) deinen alten Text ergibt. -
So ich mal wieder.
Ich habe den Geschirrspüler in dem Adapter zeigt mir auch alles an, nun würde ich gerne wenn meine PV Anlage überschuß hat das die Geschierspüle startet. Wie bekomme ich das hin ich kann sie nur Stoppen, Pause und Start geht nicht. Gibt es es hierfür eine Lösung oder mache ich was Falsch im nächsten Schritt wäre dann Waschmaschine und Trockner dran.Gruß Michael
-
Hi @Grizzelbee ,
Erstmal danke für den super adapter. Ich versuche damit aktuell meine Wasch und Spülmaschine die “Smart Grid” Funktion (laufen wenn Strom am günstigsten bei stündlich wechselnden Strompreisen) richtig beizubringen, da die Miele eigene Funktion über das XGW3000 Gateway aktuell nur bei der Waschmaschine funktioniert, und dort auch nicht so treffsicher wie ich mir das wünsche.
Im iobroker habe ich nun den besten “Startzeitpunkt” ermittelt und würde diesen gerne an die jeweilige Maschine übergeben die sich zu dem Zeitpunkt bereits fertig eingestellt im Status “4” - “Start verzögert” befindet. Wenn ich nun aber die den state “startTime” entsprechend setze, wird diese einfach beim nächsten Refresh wieder mit dem alten Wert überschrieben.
Kannst Du mir helfen zu verstehen wie das richtig geht? Laut API Doku bei Miele ist das setzen der startTime ja ein gültiger Put Befehl, oder lese ich das falsch?
Viele Grüße,
Magnus -
@michael-1975 sagte in MieleCloudService Adapter:
Wie bekomme ich das hin ich kann sie nur Stoppen, Pause und Start geht nicht.
Wenn ich ehrlich sein darf, ... da habe ich selber keine Erfahrungen mit. Ich selbst nutze aktuell diese Funktionen nicht. Ich habe lediglich versucht die korrekt lt. Doskumentation zu implementieren. Es ist durchaus möglich, das da noch Fehler drin sind. Am besten meldest Du dich bei Miele auf der API Seite mal an und schickst die Befehle direkt an deine Maschinen - wenn das klappt, habe ich noch Bugs, die ich dann bereinigen muss, wenn es dort auch nicht klappt, liegt es an Miele und ich kann dann nichts tun.
@magnus-1 sagte in MieleCloudService Adapter:
Wenn ich nun aber die den state “startTime” entsprechend setze, wird diese einfach beim nächsten Refresh wieder mit dem alten Wert überschrieben.
Hmm. Es ist durchaus möglich, das Du da einen der wenigen Punkte gefunden hast, die ich bislang schlicht ignoriert und noch nicht implementiert habe. Jedenfalls klingelt da was bei mir im Hinterkopf. Mach mit bitte dazu mal einen Issue auf Github auf. ... Aber ... Ist es nicht einfacher die Maschinen direkt über ioBroker zu starten, wenn du doch die Info dort schon hast? Also statt den Umweg über die Startzeit zu gehen.
-
@Grizzelbee hast du mir ein Link wo ich das bei Miele testen kann.
Gruß Michael
-
@grizzelbee said in MieleCloudService Adapter:
Mach mit bitte dazu mal einen Issue auf Github auf.
will do.
@grizzelbee said in MieleCloudService Adapter:
Ist es nicht einfacher die Maschinen direkt über ioBroker zu starten, wenn du doch die Info dort schon hast? Also statt den Umweg über die Startzeit zu gehen.
"Jain", geht natürlich, allerdings habe ich aktuell folgenden Flow im Kopf:
- Maschine wird mit option "Smart Grid/Start" angeschaltet inkl. einer "spätesten" Finish time (das geht direkt an Miele Gerät).
- Das Gerät steht dann im status 4 - Start verzögert/warten auf start und würde ohne weiteres zutun spätestens entsprechend der eingestellten spätesten Vorwahl starten
- iobroker erkennt das und berechnet gemäß aktuellen Strompreisen den optimalen startzeitpunkt.
- diesen würde ich nun durch editieren der starvorwahlzeit an Miele schicken und iobroker "legt sich wieder schlafen".
Alternativ müsste ich nun im iobroker warten, dass dieser Zeitpunkt eintritt und quasi selbst einen temporären schedule hinterlegen zu dem iobroker dann wieder aktiv wird um den start auszulösen. Das finde ich nicht ganz so elegant und auch in den statusinfos der Maschine die auch über die Mobile App zu sehen sind steht ja dann lange eine vermeintliche (späteste) startzeit von der iobroker eigentlich schojn weiß, dass sie nicht korrekt ist.
Falls ich da irgendwo gedanklich falsch abbiege, bin ich um einen Hinweis dankbar.
Viele Grüße,
Magnus -
@joergh sagte in MieleCloudService Adapter:
@grizzelbee said in MieleCloudService Adapter:
Kühlt die Maschine dann nicht kmplett aus und muss wieder aufgeheizt werden? Oder wird die die ganze Zeit auf Temperatur gehalten?
Naja, in der Regel schaltet meine Frau die Maschine morgens nach dem Frühstück ein und dann ist manchmal nicht genug Strom da, besonders nicht, wenn auch schon die E-Autos laden, also kommt es nicht zum Aufheizen, sondern er pausiert gleich, bis genug da ist. Dass er die Maschine immer heiß hält kann ich mir nicht vorstellen, habe es aber noch nicht getestet. Bisher ist es mir einmal gelungen sie auch wieder starten zu lassen, aber ich hatte einfach auch keine Zeit bisher um das richtig durch zu testen.
bist du hier schon weiter gekommen ich kann meine Spülmaschine nur stoppen Pause geht auch kein Starten
-
Hi @Grizzelbee ,
meine Logs laufen aktuell voll mit zwei Fehlern für die zwei integrierten Waschmaschinen:
mielecloudservice.0 2021-08-16 18:51:57.615 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM1>.signalInfo" mielecloudservice.0 2021-08-16 18:51:57.508 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM1>.signalFailure" mielecloudservice.0 2021-08-16 18:51:57.494 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM2>.signalInfo" mielecloudservice.0 2021-08-16 18:51:57.392 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM2>.signalFailure"
Bei ebenfalls integriertem Kühlschrank und Geschirrspüler kommt der Fehler nicht. Kannst Du Dir das mal ansehen? Wie kann ich am besten beim Debuggen unterstützen?
VG,
Magnus -
ich bin hier auch gerade am testen. Meine Vermutung ist, dass die Maschinen in eine Art Sleep gehen und dann ein "start" alleine nicht reicht. In der Mobile App, muss man bei mir die Maschine dann auch erst wieder Anschalten bevor ein start funktioniert.
Wenn ich kurz nach dem Anschalten der Maschine etwa mit einer Zeitvorwahl noch bevor diese einschläft (<1-2min) über den Adapter ein "start" sende klappt es hier.
Ein On setzten über den Adapter scheint aber nicht das gleich zu sein wie dass was die Mobile App macht wenn ich dort auf "Anschalten" drücke. Ich werde mir das bei Gelegenheit auch nochmal genauer ansehen und berichten, falls @Grizzelbee nicht schneller ist als ich.
-
@magnus-1
Hallo Magnus,Hmm. Meine Waschmascnie zeigt das Verhalten nicht - komisch.
Mach bitte mal ein Debug-Log und filter auf "Signal":
Da sollte so etwas in der Art bei rauskommen.
Interessant sind primär die Zeilen mit SplitMieleDevices sowie zu SignalInfo und SignalFailure. Durchaus aber auch ein bisschen drüber und drunter - als Text. Speziell der bei SplitMieleDevices ist etwas länglich.
Das ist ein JSON in dem die Infos eigentlich unmittelbar drin stehen sollten.
Mal sehen was dabei raus kommt.
Edit:
@Magnus-1 , @michael-1975
Ich habe mit diesen Dingen selber noch nicht herumgespielt, weil ich keine echte Anwendung dafür habe, meine Vermutung geht aber in die Selbe Richtung wie Magnus'.
Ich möchte an dieser Stelle (wie schon ein paar Mal) auf dieses Dokument von Miele hinweisen:
https://www.miele.com/developer/swagger-ui/put_additional_info.html
Darin steht welche Voraussetzung für eine Aktion erfüllt sein muss. -
@magnus-1 das wäre super ich kann bei allen Geräten nur die Pause machen und dann nicht wieder starten. Stopen geht auch nicht.
@Grizzelbee ich habe auch keine Fehler im Log.