NEWS
MieleCloudService Adapter
-
In der App funktioniert alles. 6.5.12 brachte auch keine Änderung.
Das Log sieht bei mir so aus:
2025-12-10 17:26:19.948 - [31merror[39m: mielecloudservice.0 (354894) The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:19.976 - [31merror[39m: mielecloudservice.0 (354894) Unhandled promise rejection. 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(). 2025-12-10 17:26:19.978 - [31merror[39m: mielecloudservice.0 (354894) unhandled promise rejection: The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:19.979 - [31merror[39m: mielecloudservice.0 (354894) Error: The id "000188118797." is invalid. Ids are not allowed to end in "." at Validator.validateId (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:214:23) at Mielecloudservice._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7865:25) at Mielecloudservice.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7847:21) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.mielecloudservice/source/mieleTools.js:2437:25) at processImmediate (node:internal/timers:485:21) 2025-12-10 17:26:19.979 - [31merror[39m: mielecloudservice.0 (354894) The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:19.986 - [31merror[39m: mielecloudservice.0 (354894) Unhandled promise rejection. 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(). 2025-12-10 17:26:19.986 - [31merror[39m: mielecloudservice.0 (354894) unhandled promise rejection: The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:19.988 - [31merror[39m: mielecloudservice.0 (354894) Error: The id "000188118797." is invalid. Ids are not allowed to end in "." at Validator.validateId (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:214:23) at Mielecloudservice._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7865:25) at Mielecloudservice.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7847:21) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.mielecloudservice/source/mieleTools.js:2437:25) at processImmediate (node:internal/timers:485:21) 2025-12-10 17:26:19.989 - [31merror[39m: mielecloudservice.0 (354894) The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:19.995 - [31merror[39m: mielecloudservice.0 (354894) Unhandled promise rejection. 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(). 2025-12-10 17:26:19.996 - [31merror[39m: mielecloudservice.0 (354894) unhandled promise rejection: The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:19.997 - [31merror[39m: mielecloudservice.0 (354894) Error: The id "000188118797." is invalid. Ids are not allowed to end in "." at Validator.validateId (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:214:23) at Mielecloudservice._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7865:25) at Mielecloudservice.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7847:21) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.mielecloudservice/source/mieleTools.js:2437:25) at processImmediate (node:internal/timers:485:21) 2025-12-10 17:26:19.997 - [31merror[39m: mielecloudservice.0 (354894) The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:20.007 - [31merror[39m: mielecloudservice.0 (354894) Unhandled promise rejection. 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(). 2025-12-10 17:26:20.008 - [31merror[39m: mielecloudservice.0 (354894) unhandled promise rejection: The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:20.009 - [31merror[39m: mielecloudservice.0 (354894) Error: The id "000188118797." is invalid. Ids are not allowed to end in "." at Validator.validateId (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:214:23) at Mielecloudservice._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7865:25) at Mielecloudservice.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7847:21) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.mielecloudservice/source/mieleTools.js:2437:25) at processImmediate (node:internal/timers:485:21) 2025-12-10 17:26:20.010 - [31merror[39m: mielecloudservice.0 (354894) The id "000188118797." is invalid. Ids are not allowed to end in "." 2025-12-10 17:26:21.614 - [32minfo[39m: mielecloudservice.0 (354894) terminating 2025-12-10 17:26:21.617 - [33mwarn[39m: mielecloudservice.0 (354894) Terminated (UNCAUGHT_EXCEPTION): Without reason 2025-12-10 17:26:22.352 - [32minfo[39m: mielecloudservice.0 (354894) terminating 2025-12-10 17:26:22.429 - [33mwarn[39m: mielecloudservice.0 (354894) get state error: Connection is closed. 2025-12-10 17:26:22.437 - [33mwarn[39m: mielecloudservice.0 (354894) get state error: Connection is closed. 2025-12-10 17:26:22.438 - [33mwarn[39m: mielecloudservice.0 (354894) get state error: Connection is closed. 2025-12-10 17:26:22.439 - [33mwarn[39m: mielecloudservice.0 (354894) get state error: Connection is closed.Hat sich bei dir in den letzten Tagen etwas geändert?
Was ist das:The id "000188118797."für ein Gerät? Ist das vielleicht neu hinzugekommen?Die Nachrichtenverzögerung wird Dir aber in keinem Fall helfen. Die ist nur dafür da auf extrem leistungsschwachen Rechnern die Rechenlast zu reduzieren).
-
Ich habe auch das Problem mit 'Ids are not allowed to end in "."'. Bei mir ist es eine Waschmaschine, die ist zwar neu, lief mit dem Adapter aber schon. Bis vor ein paar Tagen direkt nach Start des Adapters dieser Crash kommt.
EDIT:
Es liegt vmtl. daran, dass die API für das Gerät nur Schrott liefert...aktuell kommt:
"ident": { "type": { "key_localized": "", "value_raw": 1, "value_localized": "" },vor dem Fehler kam noch:
"ident": { "type": { "key_localized": "Gerätetyp", "value_raw": 1, "value_localized": "Waschmaschine" },Vllt. kannst du Geräte, die nur Müll zurückliefern ausklammern, dass wenigstens die anderen Geräte weiterhin funktionieren. Und dann warten auf Miele:
Notice: API endpoints for next-generation washers, dryers, and vacuum cleaners are currently under development. These endpoints are scheduled for release in Fall 2025. -
Hallo, ich habe die gleichen Probleme (neue Waschmaschine, Adapter lief schon, seit einigen Tagen leider nicht mehr).
Folgende Fehler:mielecloudservice.0 2025-12-12 11:42:35.242 error The id "000188450920." is invalid. Ids are not allowed to end in "." mielecloudservice.0 2025-12-12 11:42:35.241 error Error: The id "000188450920." is invalid. Ids are not allowed to end in "." at Validator.validateId (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:214:23) at Mielecloudservice._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7865:25) at Mielecloudservice.setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:7847:21) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.mielecloudservice/source/mieleTools.js:2436:25) at processImmediate (node:internal/timers:487:21) mielecloudservice.0 2025-12-12 11:42:35.130 error unhandled promise rejection: The id "000188450920." is invalid. Ids are not allowed to end in "." mielecloudservice.0 2025-12-12 11:42:35.129 error Unhandled promise rejection. 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(). -
@laplaceii , @no6mis , @mumpitz
Ich habe das Problem gerade mal analysiert und auf GitHub dokumentiert:
https://github.com/Grizzelbee/ioBroker.mielecloudservice/issues/575Kurz gesagt: Es ist ein Problem, das durch die Miele API ausgelöst wird.
Im Beitrag von @no6mis sieht man sehr schön, dass die API eigentlich- "key_localized": "Gerätetyp"
- "value_localized": "Waschmaschine"
liefern sollte, das aber manchmal (warum auch immer) nicht tut - und immer dann, wenn die API das nicht tut, kommt dieser Fehler. Umschiffen kann man das dadurch das man als Antwortsprache der API
englischauswählt, da das die default-Sprache der API ist. da kommen immer Werte zurück. Leider ist die API an dieser Stelle nicht failsafe und hat schon ein paar Mal für Unmut gesorgt. Ich habe aber gerade in die V7.0.0 (an der ich im Moment arbeite) eingebaut, dass Datenpunkte, die in einem Punkt enden, übersprungen werden um dort keinen Fehler mehr zu erzeugen. Das ist nicht perfekt, bringt aber wenigstens den Adapter nicht mehr zum Absturz.Das hat auch nichts mit neuen/alten Geräte zu tun. Jede Geräteklasse hat eine klare ID in der API. Die Geräteklassen, die bekannt sind, sind implementiert - neue Geräteklassen würde der Adapter schlicht ignorieren.
-
@laplaceii , @no6mis , @mumpitz
Ich habe das Problem gerade mal analysiert und auf GitHub dokumentiert:
https://github.com/Grizzelbee/ioBroker.mielecloudservice/issues/575Kurz gesagt: Es ist ein Problem, das durch die Miele API ausgelöst wird.
Im Beitrag von @no6mis sieht man sehr schön, dass die API eigentlich- "key_localized": "Gerätetyp"
- "value_localized": "Waschmaschine"
liefern sollte, das aber manchmal (warum auch immer) nicht tut - und immer dann, wenn die API das nicht tut, kommt dieser Fehler. Umschiffen kann man das dadurch das man als Antwortsprache der API
englischauswählt, da das die default-Sprache der API ist. da kommen immer Werte zurück. Leider ist die API an dieser Stelle nicht failsafe und hat schon ein paar Mal für Unmut gesorgt. Ich habe aber gerade in die V7.0.0 (an der ich im Moment arbeite) eingebaut, dass Datenpunkte, die in einem Punkt enden, übersprungen werden um dort keinen Fehler mehr zu erzeugen. Das ist nicht perfekt, bringt aber wenigstens den Adapter nicht mehr zum Absturz.Das hat auch nichts mit neuen/alten Geräte zu tun. Jede Geräteklasse hat eine klare ID in der API. Die Geräteklassen, die bekannt sind, sind implementiert - neue Geräteklassen würde der Adapter schlicht ignorieren.
@Grizzelbee sagte in MieleCloudService Adapter:
Umschiffen kann man das dadurch das man als Antwortsprache der API englisch auswählt
bei mir klappt das nicht:

-
@Grizzelbee sagte in MieleCloudService Adapter:
Umschiffen kann man das dadurch das man als Antwortsprache der API englisch auswählt
bei mir klappt das nicht:

@no6mis sagte in MieleCloudService Adapter:
@Grizzelbee sagte in MieleCloudService Adapter:
Umschiffen kann man das dadurch das man als Antwortsprache der API englisch auswählt
bei mir klappt das nicht:

Ich meinte in der Adapter-Config:

-
@no6mis sagte in MieleCloudService Adapter:
@Grizzelbee sagte in MieleCloudService Adapter:
Umschiffen kann man das dadurch das man als Antwortsprache der API englisch auswählt
bei mir klappt das nicht:

Ich meinte in der Adapter-Config:

@Grizzelbee sagte in MieleCloudService Adapter:
Ich meinte in der Adapter-Config:
Das habe ich schon verstanden, aber wenn die API von Miele auch bei der Auswahl 'englisch' keine Werte liefert, wird auch der Adapter sie nicht herzaubern können.
Daher stürzt er auch weiterhin ab, auch wenn ich in der Instanzkonfiguration die API-Antwortsprache auf 'englisch' setze. -
@grizzelbee: Also das sieht bei mir im ioBroker so aus. mielecloudservice.0.000188118797 ohne Punkt. Und es ist die neue Waschmaschine, über die wir es weiter oben schon mal hatten. Thema: Neues Modell, noch nicht in der API, usw. Aber das hat ja dann kürzlich schon alles geklappt.
Im Moment sind die Blockly-Skripte aktiv aber wir haben gerade nicht gewaschen oder getrocknet und der Adaper ist grün.

-
@grizzelbee: Also das sieht bei mir im ioBroker so aus. mielecloudservice.0.000188118797 ohne Punkt. Und es ist die neue Waschmaschine, über die wir es weiter oben schon mal hatten. Thema: Neues Modell, noch nicht in der API, usw. Aber das hat ja dann kürzlich schon alles geklappt.
Im Moment sind die Blockly-Skripte aktiv aber wir haben gerade nicht gewaschen oder getrocknet und der Adaper ist grün.

Habe jetzt mal die Nachrichtenverzögerung wieder auf die Default 2000ms zurückgestellt und die API-Sprache auf Englisch. Mal sehen... ;-)
Sieht für mich irgendwie so aus, dass von dem Fehler nur neue Modelle betroffen sind (haben sie wohl wieder den Azubi rangelassen oder es sind alles Azubis... ;-P )
-
@Grizzelbee sagte in MieleCloudService Adapter:
Ich meinte in der Adapter-Config:
Das habe ich schon verstanden, aber wenn die API von Miele auch bei der Auswahl 'englisch' keine Werte liefert, wird auch der Adapter sie nicht herzaubern können.
Daher stürzt er auch weiterhin ab, auch wenn ich in der Instanzkonfiguration die API-Antwortsprache auf 'englisch' setze.@no6mis sagte in MieleCloudService Adapter:
Das habe ich schon verstanden, aber wenn die API von Miele auch bei der Auswahl 'englisch' keine Werte liefert, wird auch der Adapter sie nicht herzaubern können.
Daher stürzt er auch weiterhin ab, auch wenn ich in der Instanzkonfiguration die API-Antwortsprache auf 'englisch' setze.Entschuldige bitte. Ich habe mir deinen Screenshot nicht genau genug angesehen. Du hast natürlich absolut recht. Das kann nichts werden. Das Problem liegt definitiv in der API - auch wenn ich das jetzt nicht wirklich nachvollziehen kann:
Nach Aussage von Miele wird es für "neue Modelle" (ohne näher zu spezifizieren was genau das bedeutet) neue API Endpunkte geben. Insofern sollten diese Modelle nicht auf den "alten" Endpoints (die der Adapter ja nur kennt und abfragt) auftauchen. Gleichzeitig würde ich erwarten, dass es für die neuen Modelle dann auch neue Geräteklassen gibt. Die in deinem Log gezeigte Geräteklasse 1, ist aber eine alte Geräteklasse und sollte folglich von der API beherrscht und sauber mit Daten gefüllt werden.
Kurz: Ich habe gerade keine Idee, was genau die da bei Miele verbocken.
Idee:
Schick mir doch bitte mal, aus dem Debug-Log des Adapters, die vollständige Antwort der API für alle deine Geräte und für das Geräte das die kaputten Daten liefert, die genaue Modellbezeichnung. Gerne auch per privater Mail hier über das Forum, Github oder eMail (Adresse findest Du hier: https://download.iobroker.net/list.html#sortCol=name&sortDir=0&filter=household)
Dann kann ich damit mal auf Miele zugehen - vielleicht bringt das ja was.Das selbe gilt auch für @mumpitz und @laplaceii
viele Grüße
grizzelbee -
Sagen wir mal so: Ich finde es gut, dass Miele eine 3rd-Party-API für so Sachen wie ioBroker etc. bereitstellt.
Problematisch finde ich aber, dass sie diese API offenbar nicht für würdig befinden von der QA, also der Qualitätssicherung der Firma, ebenfalls testen zu lassen und Änderungen scheinbar ohne jeglichen Test freizugeben. Es lief schon...
Mit der APP auf dem Smartphone, die natürlich die besser getestete Miele-API nutzt, gibt es ja eigentlich nie Probleme.
Das macht es Entwicklern wie Grizzelbee natürlich nicht gerade einfacher. Deshalb mal wieder an der Stelle einen großen Dank, dass er soviel Arbeit reinsteckt. Respekt, wirklich. :-)
-
Sagen wir mal so: Ich finde es gut, dass Miele eine 3rd-Party-API für so Sachen wie ioBroker etc. bereitstellt.
Problematisch finde ich aber, dass sie diese API offenbar nicht für würdig befinden von der QA, also der Qualitätssicherung der Firma, ebenfalls testen zu lassen und Änderungen scheinbar ohne jeglichen Test freizugeben. Es lief schon...
Mit der APP auf dem Smartphone, die natürlich die besser getestete Miele-API nutzt, gibt es ja eigentlich nie Probleme.
Das macht es Entwicklern wie Grizzelbee natürlich nicht gerade einfacher. Deshalb mal wieder an der Stelle einen großen Dank, dass er soviel Arbeit reinsteckt. Respekt, wirklich. :-)
-
Wie kann man denn das Logfile nur auf Miele begrenzen oder muss man das alles mit dem Editor auseinander frickeln?
@Mumpitz sagte in MieleCloudService Adapter:
oder muss man das alles mit dem Editor auseinander frickeln?
iob logs | grep miele -
Wie kann man denn das Logfile nur auf Miele begrenzen oder muss man das alles mit dem Editor auseinander frickeln?
