NEWS
MieleCloudService Adapter
-
Hallo Wolfgang,
ich bin der Sache weiter auf der Spur.
Ich habe mir den Code und das Log gerade noch einmal deutlich genauer angeschaut und bin darauf gestoßen, dass offenbar deine Anmeldung an der API doch kaputt geht - auch wenn es auf den ersten Blick nicht danach aussieht. Leider hat die Code-Stelle, die den genauen Grund fürs Scheitern aufgeben sollte auch noch einen Bug - den ich aber in der gerade nach git geschobenen Version v2.0.2 behoben habe. Also bitte mit der neuen Version noch einmal probieren. Vielleicht finden wir das das Problem.viele Grüße
Hanjo -
@Grizzelbee
Hallo Hanjo,Danke für deine Bemühungen:
Mit Version 2.0.2 bekomme ich folgende Meldungen.mielecloudservice.0 2020-09-15 10:26:15.146 error (7691) [refreshMieledata] [ReferenceError: response is not defined] JSON.stringify(err):{} mielecloudservice.0 2020-09-15 10:26:15.146 error at processTicksAndRejections (internal/process/task_queues.js:80:21) mielecloudservice.0 2020-09-15 10:26:15.146 error at endReadableNT (_stream_readable.js:1252:12) mielecloudservice.0 2020-09-15 10:26:15.146 error at IncomingMessage.emit (events.js:326:22) mielecloudservice.0 2020-09-15 10:26:15.146 error at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/iobroker.mielecloudservice/node_modules/axios/lib/adapters/http.js:244:11) mielecloudservice.0 2020-09-15 10:26:15.146 error at settle (/opt/iobroker/node_modules/iobroker.mielecloudservice/node_modules/axios/lib/core/settle.js:17:12) mielecloudservice.0 2020-09-15 10:26:15.146 error at createError (/opt/iobroker/node_modules/iobroker.mielecloudservice/node_modules/axios/lib/core/createError.js:16:15) mielecloudservice.0 2020-09-15 10:26:15.146 error (7691) [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/iobroker.mi mielecloudservice.0 2020-09-15 10:26:15.146 debug (7691) Actions: [] mielecloudservice.0 2020-09-15 10:26:15.146 debug (7691) Method: [GET] mielecloudservice.0 2020-09-15 10:26:15.146 debug (7691) Endpoint: [v1/devices/?language=de] mielecloudservice.0 2020-09-15 10:26:15.146 debug (7691) Auth: [{"access_token":"AT_decfe6d1aeb6a0c72c0166d0ecce299c","refresh_token":"AT_3d30f3083a9e7ec45ec96e28bf046b26","token_type":"Bearer","expires_in":2592000}] mielecloudservice.0 2020-09-15 10:26:15.145 debug (7691) Given parameters: mielecloudservice.0 2020-09-15 10:26:14.967 debug (7691) APISendRequest: Awaiting requested data. mielecloudservice.0 2020-09-15 10:26:14.966 debug (7691) refreshMieledata: get data from API mielecloudservice.0 2020-09-15 10:26:14.966 debug (7691) Updating device states (polling API scheduled). mielecloudservice.0 2020-09-15 10:26:14.865 info (7691) Starting Polltimer with a 3 Minutes interval. mielecloudservice.0 2020-09-15 10:26:14.865 info (7691) Access-Token expires at: [Thu Oct 15 2020 10:26:00 GMT+0200 (Central European Summer Time)] mielecloudservice.0 2020-09-15 10:26:13.588 debug (7691) config API Language: [de] mielecloudservice.0 2020-09-15 10:26:13.588 debug (7691) options OAuth2-VG: [de-AT] mielecloudservice.0 2020-09-15 10:26:13.588 debug (7691) OAuth2 grant_type: [password] mielecloudservice.0 2020-09-15 10:26:13.588 debug (7691) Awaiting OAuth2 Token. mielecloudservice.0 2020-09-15 10:26:13.587 debug (7691) function APIGetAccessToken mielecloudservice.0 2020-09-15 10:26:13.578 info (7691) starting. Version 2.0.2 in /opt/iobroker/node_modules/iobroker.mielecloudservice, node: v14.10.1, js-controller: 3.1.6 mielecloudservice.0 2020-09-15 10:26:13.474 debug (7691) statesDB connected mielecloudservice.0 2020-09-15 10:26:13.474 debug (7691) States connected to redis: 127.0.0.1:9000 mielecloudservice.0 2020-09-15 10:26:13.471 debug (7691) States create System PubSub Client mielecloudservice.0 2020-09-15 10:26:13.470 debug (7691) States create User PubSub Client mielecloudservice.0 2020-09-15 10:26:13.468 debug (7691) Redis States: Use Redis connection: 127.0.0.1:9000 mielecloudservice.0 2020-09-15 10:26:13.467 debug (7691) objectDB connected mielecloudservice.0 2020-09-15 10:26:13.465 debug (7691) Objects connected to redis: 127.0.0.1:9001 mielecloudservice.0 2020-09-15 10:26:13.461 debug (7691) Objects client initialize lua scripts mielecloudservice.0 2020-09-15 10:26:13.460 debug (7691) Objects create User PubSub Client mielecloudservice.0 2020-09-15 10:26:13.460 debug (7691) Objects create System PubSub Client mielecloudservice.0 2020-09-15 10:26:13.459 debug (7691) Objects client ready ... initialize now mielecloudservice.0 2020-09-15 10:26:13.436 debug (7691) Redis Objects: Use Redis connection: 127.0.0.1:9001
Ich fürchte ja, das es an meinem Account liegt und nicht an deinem Adapter.
Zur Sicherheit hab ich gerade mit einer anderen Email einen 2. Entwicklerkey angefragt.
Mal schauen ob es damit funktioniert.Edit: Mit dem 2 Account funktionierte es auf Anhieb.
Danke für deine Bemühungen.LG,
Wolfgang -
So, als neu Besitzer einer WaMa habe ich natürlich den Adapter auch installiert und funktioniert bestens, danke @Grizzelbee
Wäre natürlich genial, wenn noch die hier genannten Punkte dazukommen....
-
@FredF
Freut mich, wenn alles funktioniert - und Herzlich Willkommen bei den MieleUsern !Wäre natürlich genial, wenn noch die hier genannten Punkte dazukommen....
Jaaa...
Das ist leider ein eher dunkles Kapitel. An der Stelle fehlt Miele vielleicht noch ein bisschen Dynamik. Ich hätte die Daten auch gerne ... Ich denke da hilft wirklich nur, wenn viele Leute denen eine Mail schreiben ...viele Grüße
Grizzelbee -
Hallo in die Runde vom nächsten Miele-Neuling.
Tolles Teil und auch die App nett gestaltet. Bis man genau hinschaut und feststellt:
- Verbrauchswerte sehe ich in der App nur, solange das Programm noch läuft und ohne Historie
- Verbrauchsmittel kann ich nur sehen, wenn die Maschine an ist
Insofern teile ich euer Interesse an dem Beitrag, den @FredF gerade verlinkt hatte, um zumindest über iobroker eine Brücke zu bauen.
Für den Adapter jedenfalls schon einmal vielen Dank. -
Hey Hanjo,
super Adapter, hat soweit auch bei der Einrichtung alles gut funktioniert.
Mein Geräte werden auch soweit erkannt (WLAN Geräte und auch die Geräte vom XGW3000).
Die WLAN Geräte lassen sich auch wie erwartet bedienen. Meine Dunstabzugshaube zickt leider rum. Vielleicht hast du eine Idee was da los ist.
Ich finde die Objektliste für die Haube ziemlich umfangreich und in manchen Punkten nicht plausibel. Die Daten der Haube werden auch aktualisiert, sie nimmt aber keine Befehle entgegen (z.B. Licht schalten).
Ich füge die Fehlermeldung bei, kann damit aber nichts anfangen. Ich brauche einen Profi.
Vielleicht findest du die Zeit mal drüber zu schauen.
Herzlichen Dank und GrüßeWilly
-
Hallo zusammen,
@Grizzelbee vielen Dank für deinen tollen Adapter! Er funktioniert großartig!
Hast du schon gesehen das Miele die API 1.0.4 herausgebracht hat?
https://www.miele.com/developer/news.htmlDort wurde nun EcoFeedback implementiert. Evtl. bekommt man damit endlich die Verbrauchswerte von Waschmaschine, Trockner und Geschirrspüler...
Viele Grüße
-
Hallo zusammen, bei mir startet der Adapter seit heute nicht mehr. Zugangsdaten wurden von meiner Seite aus nicht geändert.
Ist das aktuell ein allgemeines Problem mit der API ?
mielecloudservice.0 2021-01-01 08:22:27.823 error (13179) [main] {} mielecloudservice.0 2021-01-01 08:22:27.823 info (13179) Terminated (ADAPTER_REQUESTED_TERMINATION): Terminating adapter due to error on token request. mielecloudservice.0 2021-01-01 08:22:27.820 error (13179) Are your credentials okay? Please doublecheck them in your adapters configuration. mielecloudservice.0 2021-01-01 08:22:27.820 error (13179) Error: Request failed with status code 401 mielecloudservice.0 2021-01-01 08:22:27.819 error (13179) OAuth2 returned an error! mielecloudservice.0 2021-01-01 08:22:27.473 info (13179) starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.mielecloudservice, node: v10.23.0, js-controller: 3.1.6
-
@jupzup schon mal mit der App versucht? Auch damit geht es nicht und es kommt der Hinweis auf Wartungsarbeiten bei Miele.
-
@UweRLP
yep danke für den Hinweis und tatsächlich sind wohl Wartungsarbeiten im Gange. -
@mrwilson
Hallo Willy,ich stimme dir zu, dass die Objektliste nicht für jedes Device 100% plausibel ist, das liegt aber weniger an mir und dem Adapter als an Miele. Die Datenstruktur, die die API zurück liefert ist schon sehr generisch. Ich habe zwar an einigen Stellen im Adapter versucht das vernünftig hin zu bekommen, aber (offensichtlich) nicht an allen Stellen geschafft - speziell bei Geräten, die ich selber nicht besitze. Bin ja auch nur Miele-Kunde. Es freut mich aber zu hören, dass auch die Geräte über das Gateway zumindest erkannt werden und Daten liefern. Da das alles über die API läuft habe ich mich da einfach mal drauf verlassen.
Zu dem Fehler kann ich aus dem kurzen Schnipsel leider nicht allzu viel herauslesen. Das erfordert etwas mehr Diagnose(daten). Ich habe da nur leider gerade keine Zeit für - kommt aber auch wieder. Mein anderes Projekt mit dem dyson-Adapter frisst gerade das kleine bisschen Zeit das ich habe.Wie auch immer - der langen Rede kurzer Sinn: Kurzfristig kann ich gerade leider nicht aushelfen - im Laufe von Q1 sollte das aber klappen.
Damit das Thema nicht in Vergessenheit gerät würde ich dich nur bitten mir auf Github einen Issue dazu auf zu machen ( https://github.com/Grizzelbee/ioBroker.mielecloudservice/issues ) und mit allen verfügbaren Infos und gerne auch einem Link zu diesem Beitrag (https://forum.iobroker.net/topic/29836/mielecloudservice-adapter/119# ) voll zu stopfen. dann kümmere ich mich gerne ASAP darum.@Logirius
Danke für deinen Hinweis - hatte ich tatsächlich noch nicht gesehen. Wäre ja super, wenn wir tatsächlich die Verbrauchsdaten bekommen würden. Im Prinzip gilt aber leider auch dafür das gerade gesagte: Im Moment fehlt mir die Zeit. Mach mit bitte einen Issue auf, damit das nicht in Vergessenheit gerät - ich kümmere mich dann gerne asap darum - bin ja als Nutzer meines eigenen Adapters selber an Weiterentwicklung uns Stabilität interessiert.viele Grüße
grizzelbee -
@Grizzelbee sagte in MieleCloudService Adapter:
Wie auch immer - der langen Rede kurzer Sinn: Kurzfristig kann ich gerade leider nicht aushelfen - im Laufe von Q1 sollte das aber klappen.
Mach dir bitte keinen Stress. Läuft ja soweit sehr gut, allein das meine Frau angezeigt bekommt, dass der Trockner fertig ist, ist unschlagbar
Werde aber deinen Vorschlag gerne umsetzen. Vielen Dank dafür.Herzliche Grüße
Willy -
Hallo grizzelbee.
Mit dem neuen js-controller 3.2.7 wird eine Fehlermeldung betreffend des Miele Adapters erzeugt:
warn: mielecloudservice.0 (3708) State "mielecloudservice.0.info.connection" has no existing object, this might lead to an error in future versions
Wäre schön wenn du das beheben könntest.
Danke.GitHub ist angelegt
-
@uwerlp Danke für die Info!
Gucke ich mir an. Habe heute morgen auch schon (unabhängig hiervon) auf meiner Dev-Umgebung den neuen js-controller installiert.viele Grüße
grizzelbee -
Hi,
wisst ihr ob Miele in der letzten Zeit was an der API gemacht hat? Der Adapter wurde m.E. ja lange nicht aktualisiert (no offense), weshalb es an anderen DIngen liegen muss.
Ich lasse mir via Telegram ausgeben, wenn der Geschirrspüler gestartet wurde. Leider triggert das in der letzten Zeit auch mittendrin. 1-2 mal pro Waschgang. Oder anders ausgedrückt- wo habe ich vielleichten einen Denkfehler bzw. wie kann ich den Trigger anpassen, damit er nur noch 1 mal pro Waschgang ausgelöst wird (es geht hier um die "sonst falls- Bedingung)?
-
Hi @oberfragger
Ja - Miele hat die API auf eine neue Version gehoben. Ein paar Beiträge weiter oben gibt es einen Hinweis darauf. Das dürfte aber nichts mit deinem Problem zu tun haben. Da sehe ich aktuell keinen Zusammenhang.
Ich würde aber dennoch zwei Änderungen anregen wollen:
- Zum einen könntest Du über einen Wechsel von Status auf Status_raw nachdenken. Dann wärest du unabhängig von irgendwelchen Änderungen am Text, die Miele vielleicht in den Kopf kommen könnten.
- Zum anderen: Wechsel auf oder Kombination mit dem SignalInUse. Das ist ein künstlicher Datenpunkt, den ich für solche Fälle eingeführt habe. Der ist immer dann true, wenn Status_raw != 1 (aka AUS) ist. Ich könnte mir nämlich vorstellen, dass die Maschine während des Laufs zwischen verschiedenen Status wechselt. Z.B.: Aus -> In Betrieb -> Idle -> In Betrieb -> Ende -> Aus. Das würde deine Beobachtungen erklären. Wenn ihr, wie das bei uns gerne schon mal passiert, auch eine laufende Maschine mal öffnet um noch ein Teil reinzulegen, würde das ebenfalls triggern (Status = Pause).
Ein vollständige Liste der Status und Status_raw findest du hier: https://github.com/Grizzelbee/ioBroker.mielecloudservice#statestatus
Hoffe das hilft.
viele Grüße
Grizzelbee -
@grizzelbee Ich werde die von dir empfohlenen Anpassungen mal vornehmen.
Hinweis: Aktuell habe ich den Status_raw 255... der fehlt in der Doku
bzw. bei mir ist der Status für offline halt 255.
Das führt nun dazu dass der signalInUse = true ist.Nein- wir machen die Geschirrspülmaschine im Lauf nicht aus, meine Frau befürchtet die könnte davon Schaden nehmen. Naja... die Diskussion habe ich nicht gewonnen
Ich teste das nun mal so... mal schauen was rauskommt.
Falls du mal wieder am Adapter bist und eine "vorraussichtliche Fertigstellungszeit" reinklöppeln kannst... das wäre super. Ich bekomm die Zeitberechnung ums verrecken nicht sauber hin. Aber echt nicht wild.
-
@oberfragger sagte in MieleCloudService Adapter:
Aktuell habe ich den Status_raw 255... der fehlt in der Doku
Stimmt! Habe ich soeben nachgereicht. Danke für den Hinweis. Das könnte übrigens dein Problem auch erklären: Wenn die WLAN Verbindung mau ist, wechseln die states bei connection lost und reconnect ggf. auch munter durch.
Ob signalInUse bei DeviceOffline true oder false zeigen sollte, daüber können wir meinetwegen diskutieren. Fakt ist, das wir nicht entscheiden können ob die Maschine läuft oder nicht, da sie ja eben offline ist. Wir liegen also zu jedem beliebigen Zeitpunkt mit 50%iger Sicherheit mit der getroffenen Einschätzung daneben.Die Idee mit der "voraussichtlichen Endzeit" finde ich lustig. Habe das als
JETZT+Restlaufzeit
verstanden und mal einen Issue dazu aufgemacht.
https://github.com/Grizzelbee/ioBroker.mielecloudservice/issues/64 -
@grizzelbee Nice für den request. Hätte ich auch machen können. Ja- das haste richtig verstanden.
Mal schauen wann der Geschirrspüler das nächste mal angeht, dann weiss ich mehr. -
Hallo @grizzelbee
Ich habe mein System komplett neu aufsetzen müssen. Jetzt habe ich leider Probleme mit Deinem Adapter. Ich bekomme einfach keine Verbindung, er bleibt einfach rot.Das Log schmeißt folgendes raus:
host.raspberrypi 2021-01-24 15:47:37.693 info Do not restart adapter system.adapter.mielecloudservice.0 because desired by instance host.raspberrypi 2021-01-24 15:47:37.693 error instance system.adapter.mielecloudservice.0 terminated by request of the instance itself and will not be restarted, before user restarts it. mielecloudservice.0 2021-01-24 15:47:37.160 error (23097) [main] {} mielecloudservice.0 2021-01-24 15:47:37.159 info (23097) Terminated (ADAPTER_REQUESTED_TERMINATION): Terminating adapter due to error on token request. mielecloudservice.0 2021-01-24 15:47:37.156 error (23097) Are your credentials okay? Please doublecheck them in your adapters configuration. mielecloudservice.0 2021-01-24 15:47:37.156 error (23097) Error: Request failed with status code 401 mielecloudservice.0 2021-01-24 15:47:37.155 error (23097) OAuth2 returned an error! mielecloudservice.0 2021-01-24 15:47:36.905 debug (23097) config API Language: [de] mielecloudservice.0 2021-01-24 15:47:36.905 debug (23097) options OAuth2-VG: [de-DE] mielecloudservice.0 2021-01-24 15:47:36.904 debug (23097) OAuth2 grant_type: [password] mielecloudservice.0 2021-01-24 15:47:36.904 debug (23097) Awaiting OAuth2 Token. mielecloudservice.0 2021-01-24 15:47:36.900 debug (23097) function APIGetAccessToken mielecloudservice.0 2021-01-24 15:47:36.867 info (23097) starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.mielecloudservice, node: v12.20.1, js-controller: 3.1.6 mielecloudservice.0 2021-01-24 15:47:36.583 debug (23097) statesDB connected mielecloudservice.0 2021-01-24 15:47:36.582 debug (23097) States connected to redis: 127.0.0.1:9000 mielecloudservice.0 2021-01-24 15:47:36.570 debug (23097) States create System PubSub Client mielecloudservice.0 2021-01-24 15:47:36.567 debug (23097) States create User PubSub Client mielecloudservice.0 2021-01-24 15:47:36.553 debug (23097) Redis States: Use Redis connection: 127.0.0.1:9000 mielecloudservice.0 2021-01-24 15:47:36.550 debug (23097) objectDB connected mielecloudservice.0 2021-01-24 15:47:36.542 debug (23097) Objects connected to redis: 127.0.0.1:9001 mielecloudservice.0 2021-01-24 15:47:36.524 debug (23097) Objects client initialize lua scripts mielecloudservice.0 2021-01-24 15:47:36.522 debug (23097) Objects create User PubSub Client mielecloudservice.0 2021-01-24 15:47:36.521 debug (23097) Objects create System PubSub Client mielecloudservice.0 2021-01-24 15:47:36.517 debug (23097) Objects client ready ... initialize now mielecloudservice.0 2021-01-24 15:47:36.482 debug (23097) Redis Objects: Use Redis connection: 127.0.0.1:9001 host.raspberrypi 2021-01-24 15:47:35.506 info instance system.adapter.mielecloudservice.0 started with pid 23097
Die Miele Credentials habe ich schon erneuert/ausgetauscht. Keine Wirkung.
Wo liegt denn noch mein Fehler?