NEWS
MieleCloudService Adapter
-
@grizzelbee
Hab mal Miele angeschrieben und auch eine Antwort bekommen:Thank you very much for your valuable feedback on our API. The cooktop with hood is a special class of our standard cooktop. Unfortunately, the fan levels are not yet displayed there. We are working on this point and assume that we will also display the fan levels with the next API release.
Please be patient a little longer.Könnte sich also irgendwann mal was tun.
-
So habe das ganze Wochenende getestet, was soll ich sagen es funktioniert soweit alles ich kann die Spülmaschine, Waschmaschine oder Trockner abends richten und am Nächsten Tag starten sie sobald ich einen Überschuß der PV Anlage habe. Es gibt im Moment auch n icht sowas wie einen Tiefschlaf der Geräte.
Danke für den Super Adapter.
Gruß Michael
-
Ja, so etwas in der Art dachte ich mir schon. Das Schöne bei Miele ist, das die wirklich gut auf konstruktive Kritik reagieren - auf der anderen Seite habe ich den Eindruck, das da nur so ein bis zwei Leute an der API arbeiten. Bisher scheint es sich zwar um ein strategisches, aber kein besonders hoch priorisiertes Projekt zu handeln. Ich würde aber sehr gerne mit meiner Einschätzung falsch liegen.
@michael-1975
Das klingt doch insgesamt schon mal vielversprechend!
Auf welcher Version bist du gerade? v4.5.0? -
Hallo zusammen,
seit einiger Zeit (vielleicht 1-2 Wochen) erhalte ich folgende errors des mielecloud-Adapters. Ich habe diesen bereits eine Weile laufen und gemäß Anleitung konfiguriert. Ich muss dazu sagen, dass bisher noch kein Gerät in den Adapter integriert ist, das dieses erst im November geliefert wird.
Den Bestätigungslink für den Account von Miele (Activate your Miele 3rd Party API credentials) habe ich erneut betätigt und erhalte den Hinweis, dass der Token falsch wäre (Your token is invalid).
Was muss ich tun ?
Vielen Dank und beste Grüße
2021-09-21 00:27:33.347 - error: mielecloudservice.0 (14814) [APISendRequest] {"message":"connect ENETUNREACH 20.61.170.218:443","name":"Error","stack":"Error: connect ENETUNREACH 20.61.170.218:443\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1148:16)","config":{"url":"https://api.mcs3.miele.com/v1/devices/?language=de","method":"get","data":"","headers":{"Accept":"application/json","Authorization":"Bearer DE_d4ba3ecbfb0cde2e1bf8eb609e9a6781","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},"code":"ENETUNREACH"} | [Stack]: Error: connect ENETUNREACH 20.61.170.218:443 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1148:16) 2021-09-21 00:27:33.348 - error: mielecloudservice.0 (14814) The request was made but no response was received: 2021-09-21 00:27:33.348 - error: mielecloudservice.0 (14814) [refreshMieleData] [TypeError: Converting circular structure to JSON --> starting at object with constructor 'TLSSocket' | property '_httpMessage' -> object with constructor 'ClientRequest' --- property 'socket' closes the circle] |-> JSON.stringify(error):{}
-
@grizzelbee Ja ich bin auf der v4.5.0 läuft super.
-
@Grizzelbee
Nachdem ich heute mal wieder zum Testen kam:Erst ging nichts, da der Adapter die Objekte überhaupt nicht mehr upgedatet hat, obwohl die Instanz auf grün war. Versuche den Geschirrspüler remote zu starten funktionierten nicht - keine Reaktion. Reloads brachten nichts. Dann habe ich die APP auf dem Handy neu gestartet und siehe da, ich war nicht eingeloggt, da offensichtlich ein update installiert worden war. Ich loggte mich ein und konnte sofort den Status der Geräte korrekt erkennen. Also habe ich die Instanz komplett gestoppt und wieder gestartet und siehe da, sie zeigte wieder korrekte Daten. Das Gerät ließ sich nun auch starten, pausieren und stoppen, obwohl alle drei Stati auf "false" standen. Die funktionieren also offensichtlich nicht korrekt.
-
Weitere Erkenntnis gewonnen heute:
Das Pausieren, Starten und Stoppen funktioniert nur nach dem Starten der Instanz zuverlässig. Ich habe noch nicht herausgefunden wann genau er nicht mehr will, aber es scheint eine Art Zeitbeschränkung zu geben, nach der es dann nicht mehr funktioniert, bis man die Instanz neu gestartet hat!
Nachdem ich heute Morgen getetestet hatte und es funktionierte, habe ich eben noch einmal getestet und er reagierte weder auf Pause, Start oder Stop, bis ich die Instanz neu gestartet hatte, dann ging es wieder.
EDIT: "Zuverlässig" geht es auch dann nicht. Jetzt habe ich noch einmal die Geschirrspüle ausgestellt, dann wieder eingeschaltet, ein Programm gewählt und wollte nun per "Objekte Button" starten. Ging nicht, stattdessen Msg.: "Cannot read property 'message' of undefined"
Es ist bisher für mich nicht systematisch nachvollziehbar wann das Gerät reagiert und wann nicht.
-
@joergh
Nächstes Update:Ich vermute das manchmal etwas störrische Verhalten hat einfach mit der Trägheit des Systems zu tun. Wenn ich zu schnell auf die Buttons drücke, dann erscheint die oben beschriebene Fehlermeldung. Inzwischen scheint es nun per Script zu funktionieren.
-
Also ich kann für meine Geräte sprechen per sricpt/Blockly starten sie ohne Probleme
-
das manchmal etwas störrische Verhalten hat einfach mit der Trägheit des Systems zu tun
Hmm. Klingt durchaus plausibel. Die Latenz ist leider nicht unerheblich bei dem System: Jeder "Button-Klick" muss lokal erst einmal erkannt und ausgewertet werden (lokale ioBroker-Rechnerperformance). Dann wird das per http übertragen (Internetanbindung) um zu guter Letzt bei Miele wieder verarbeitet zu werden (API-Performance) ... und für die Rückmeldung alles wieder rückwärts ...
Es ist bisher für mich nicht systematisch nachvollziehbar wann das Gerät reagiert und wann nicht.
Zum einen: Ja - die API hat definitiv hier und dort noch Bugs (manchmal aber auch einfach undokumentierte Features) - der Adapter aber auch. Das können wir nur versuchen gemeinsam im Laufe der Zeit zu lösen.
-
hängen meine Errors mit der "unzulänglichen" API zusammen oder mit dem Adapter oder mit meinem System ?
2021-09-24 10:24:34.516 - error: mielecloudservice.0 (784) [APISendRequest] {"message":"Request failed with status code 500","name":"Error","stack":"Error: Request failed with status code 500\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:412:35)\n at IncomingMessage.emit (domain.js:470:12)\n at endReadableNT (internal/streams/readable.js:1317:12)\n at processTicksAndRejections (internal/process/task_queues.js:82:21)","config":{"url":"https://api.mcs3.miele.com/v1/devices/?language=de","method":"get","data":"","headers":{"Accept":"application/json","Authorization":"Bearer DE_49102d8f353d26597e732d5d5430d78a","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 500
und
2021-09-24 10:24:34.523 - error: mielecloudservice.0 (784) Request made and server responded: 2021-09-24 10:24:34.523 - error: mielecloudservice.0 (784) Response.status:500 2021-09-24 10:24:34.523 - error: mielecloudservice.0 (784) Response.headers: {"date":"Fri, 24 Sep 2021 08:24:34 GMT","content-type":"application/json","transfer-encoding":"chunked","connection":"close","strict-transport-security":"max-age=15724800; includeSubDomains","x-mcs-error-code":"500","x-mcs-error-message":"GENERIC_TECHNICAL_ERROR (Error-ID: 7ef34d6ae6428093)","x-environment":"mcs-eu-prod-default","access-control-allow-origin":"*","access-control-allow-credentials":"true","access-control-allow-methods":"PUT, GET, POST, OPTIONS","access-control-allow-headers":"DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization"} 2021-09-24 10:24:34.524 - error: mielecloudservice.0 (784) Response.data: {"code":500,"message":"GENERIC_TECHNICAL_ERROR (Error-ID: 7ef34d6ae6428093)"} 2021-09-24 10:24:34.524 - error: mielecloudservice.0 (784) [refreshMieleData] [Error: GENERIC_TECHNICAL_ERROR (Error-ID: 7ef34d6ae6428093)] |-> JSON.stringify(error):{}
-
Das kann ich dir anhand der Logs leider nicht sagen - die sind etwas sehr kurz. Und ohne weitere Infos über dein System und die Adapterversion ebenfalls nicht.
Ich kann dir lediglich sagen, dass ich bei mir in letzter Zeit auch häufiger Error 500 im Log gesehen habe und dabei bin dem auf den Grund zu gehen. Ohne aber gerade einen konkreten Anhaltspunkt oder Verdacht zu haben.
-
@grizzelbee nachdem ihr hier gerade redet ich hatte gerade auch den Error 500
-
@Grizzelbee Hatte heute auch den error 500, v4.2.0
-
Hi @grizzelbee ,
ich hatte jetzt wieder einmal einen "Stillstand" der Datenpunkte. Mir ist aufgefallen, dass die Datenpunkte nach einer gewissen Zeit einfach nicht mehr aufgefrischt werden, obwohl die Instanz grün anzeigt. Ich muss dann die Instanz neu starten, dann geht es wieder weiter. Wie lange es dauert bis das ganz steht, weiss ich noch nicht, jedenfalls läuft dann natürlich auch kein Skript korrekt, denn er zeigt bei mir dann permanent "Gerät Aus" an...
-
@Grizzelbee Ich kann das nur bestätigen was @JoergH geschrieben hat. Nach ein paar Tagen tut sich nichts mehr. Habe nun einen nächstlich Neustart der Instanz eingestellt. Damit läuft es sehr zuverlässig.
-
@grizzelbee Jetzt habe ich auch einige Fehler im Log
mielecloudservice.0 2021-09-28 11:18:30.133 error [refreshMieleData] [Error] |-> JSON.stringify(error):{} mielecloudservice.0 2021-09-28 11:18:30.133 error Response.data: "<html>\r\n<head><title>504 Gateway Time-out</title></head>\r\n<body>\r\n<center><h1>504 Gateway Time-out</h1></center>\r\n<hr><center>openresty</center>\r\n</body>\r\n</html>\r\n" mielecloudservice.0 2021-09-28 11:18:30.132 error Response.headers: {"date":"Tue, 28 Sep 2021 09:18:30 GMT","content-type":"text/html","content-length":"164","connection":"close","strict-transport-security":"max-age=15724800; includeSubDomains","access-control-allow-origin":"*","access-control-allow-credentials":"true","access-control-allow-methods":"PUT, GET, POST, OPTIONS","access-control-allow-headers":"DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization"} mielecloudservice.0 2021-09-28 11:18:30.132 error Response.status:504 mielecloudservice.0 2021-09-28 11:18:30.131 error Request made and server responded: mielecloudservice.0 2021-09-28 11:18:30.112 error [APISendRequest] {"message":"Request failed with status code 504","name":"Error","stack":"Error: Request failed with status code 504\n at createError (/opt/iobroker/node_modules/iobroker.mielecloudservice/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/opt/iobroker/node_modules/iobroker.mielecloudservice/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/iobroker.mielecloudservice/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_34db0592cccf69b1dad74a069540a73d","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 504 at createError (/opt/iobroker/node_modules/iobroker.mielecloudservice/node_modules/axios/lib/core/createError.js:16:15) at settle (/opt/iobroker/node_modules/iobroker.mielecloudservice/node_modules/axios/lib/core/settle.js:17:12) at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/iobroker.mielecloudservice/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)
mielecloudservice.0 2021-09-28 11:53:41.260 error [main] APIGetAccessToken returned neither a token nor an errormessage. Returned value=[undefined] mielecloudservice.0 2021-09-28 11:53:41.258 error [error.response.headers]: [{"date":"1","content-type":"2","content-length":"3","connection":"4","strict-transport-security":"5","access-control-allow-origin":"6","access-control-allow-credentials":"7","access-control-allow-methods":"8","access-control-allow-headers":"9"},"Tue, 28 Sep 2021 09:53:41 GMT","text/html","174","close","max-age=15724800; includeSubDomains","*","true","PUT, GET, POST, OPTIONS","DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization"] mielecloudservice.0 2021-09-28 11:53:41.257 error [error.response.status]: 500 mielecloudservice.0 2021-09-28 11:53:41.257 error [error.response.data]: <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>openresty</center> </body> </html> mielecloudservice.0 2021-09-28 11:53:41.254 error OAuth2 returned an error during first login! host.raspberrypi 2021-09-28 11:53:08.859 error instance system.adapter.mielecloudservice.0 terminated with code 6 (UNCAUGHT_EXCEPTION) host.raspberrypi 2021-09-28 11:53:08.859 error Caught by controller[1]: at processTicksAndRejections (internal/process/task_queues.js:97:5) host.raspberrypi 2021-09-28 11:53:08.859 error Caught by controller[1]: at runMicrotasks (<anonymous>) host.raspberrypi 2021-09-28 11:53:08.858 error Caught by controller[1]: at APISendRequest (/opt/iobroker/node_modules/iobroker.mielecloudservice/miele-apiTools.js:353:19) host.raspberrypi 2021-09-28 11:53:08.858 error Caught by controller[1]: Error: GENERIC_TECHNICAL_ERROR (Error-ID: 7cecd7b7fe1f30be) host.raspberrypi 2021-09-28 11:53:08.857 error Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Ich habe WLAN, kein Gateway
Wäschetrockner TWF660WP
Adapterversion 4.2.0Und ein Schönheitsfehler :
mielecloudservice.0 2021-09-28 11:53:41.273 warn Read-only state "mielecloudservice.0.info.connection" has been written without ack-flag with value "false"
-
@oberfragger @JoergH sind das bei euch Wlan Geräte oder Zigbee mit dem Gatway.
Meine Wlan Geräte funtionieren ohne Problem
-
@joergh sagte in MieleCloudService Adapter:
ich hatte jetzt wieder einmal einen "Stillstand" der Datenpunkte.
Also ... habe ich heute auch gehaubt. Keinen Fehler im Log, alles auf Grün, aber trotzdem irgendwie kaputt. Ich habe allerdings auch die 4.5.0 im Langzeittest laufen. Keine Ahnung was das sein kann. Ob da etwas mit den Events kaputt geht oder was ... Vielleicht muss ich da eine Art keinen Watchdog einbauen. Wir weden sehen.
Bin aber weiterhin für jeden Hinweis dankbar!@Gargano
Der 504 ist ein Gateway Fehler. Der hat erst einmal nichts mit dem Adapter zu tun. Bitte google mal wie es dazu kommt und welche Lösungsansätze es gibt.
Und der 500er ist ein "Internal Server Error" bei Miele. Da reagiert die API also doof. Vielleicht weil sie wirklich einen Bug hat, vielleicht aber auch, weil der Adapter Crap gesendet hat und die API deswegen aus dem Tritt gerät. Das ist von Außen leider nicht zu erkennen und zu beurteilen. Bedeutet aber am Ende, dass ich da auch erstmal nicht so viel tun kann. -
@michael-1975 said in MieleCloudService Adapter:
@oberfragger @JoergH sind das bei euch Wlan Geräte oder Zigbee mit dem Gatway.
Meine Wlan Geräte funtionieren ohne Problem
Beides WLAN Geräte