NEWS
MieleCloudService Adapter
-
Moin,
ich nutze den Adapter noch nicht so lange, aber es häufen sich momentan folgende Fehlermeldungen:
mielecloudservice.0 2021-05-22 11:53:14.493 error --- property 'socket' closes the circle] |-> JSON.stringify(error):{}
mielecloudservice.0 2021-05-22 11:53:14.493 error | property '_httpMessage' -> object with constructor 'ClientRequest'
mielecloudservice.0 2021-05-22 11:53:14.493 error --> starting at object with constructor 'TLSSocket'
mielecloudservice.0 2021-05-22 11:53:14.493 error (10930) [refreshMieleData] [TypeError: Converting circular structure to JSON
mielecloudservice.0 2021-05-22 11:53:14.492 error (10930) The request was made but no response was received:
mielecloudservice.0 2021-05-22 11:53:14.491 error at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)
mielecloudservice.0 2021-05-22 11:53:14.491 error (10930) [APISendRequest] {"message":"getaddrinfo ENOTFOUND api.mcs3.miele.com","name":"Error","stack":"Error: getaddrinfo EHat das noch jemand oder eine Idee wo es dran liegen könnte?
Gruß Timo
-
Moin!
@timbo sagte in MieleCloudService Adapter:
mielecloudservice.0 2021-05-22 11:53:14.493 error (10930) [refreshMieleData] [TypeError: Converting circular structure to JSON
mielecloudservice.0 2021-05-22 11:53:14.492 error (10930) The request was made but no response was received:Für mich sieht das ein bisschen danach aus, als hättest du deinem Adccount noch keine Geräte zugeordnet.
"[refreshMieleData]" ist der regelmäßige Refresh der Daten von Miele (alle x Minuten, je nachdem was du in der Config eingestellt hast. Und wenn der sagt: "The request was made but no response was received" klingt das für mich danach, als wären dem Account keine Geräte zugeordnet. Aber das ist nur ein Schuss ins Blaue. Zumindest bist du der Erste, der über dieses Problem klagt.
Poste mal ein Debug-Log (vom Start des Adapters bis mindestens zum Fehler, gerne großzügig) - dann kann ich vielleicht mehr sagen.@joergh sagte in MieleCloudService Adapter:
Wenn ich die Geschirrspüle einschalte, prüft er ob genug Überschussstrom vorhanden ist; wenn nicht, dann pausiert er bis genug da ist.
Kühlt die Maschine dann nicht kmplett aus und muss wieder aufgeheizt werden? Oder wird die die ganze Zeit auf Temperatur gehalten?
-
@grizzelbee Wir haben momentan erst ein Gerät im Adapter, ich habe mal den Biobroker neu gestartet und beobachte das Log weiter Falls die Meldung weiter auftaucht, melde ich mich.
Danke & Gruß Timo
-
@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.
-
@grizzelbee
vielen Dank für den super Adapter.
Zur Info: auch für Geräte vom Typ "washer dryer" (hier: WTH730) erhält man über die API den Wert targetTemperature. -
@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