NEWS
MieleCloudService Adapter
-
Hier meine erweiterte Übersicht
Miele Waschmaschine
DeviceTechType: "WCR860"
ProgrammPhase ProgrammPhase_raw "Waschen" "260" "Spülen" "261" "Schleudern" "266" "Knitterschutz" "267" "Ende" "268" "" "256" Programmart Programmart_raw "Eigenes Programm" "1" Programmbezeichnung Programmbezeichnung_raw "Baumwolle" "1" Status Status_raw "In Betrieb" "5" -
@UweRLP
Danke das du dir soviel Mühe damit machst!
Es paar Satus davon sind allerdings schon von Miele vordokumentiert. Ich habe die mal hier in der Adapterdoku zusammengefast. Also gerne mal einen Blick drauf werfen um Arbeit zu sparen.Soweit ich das aktuell sehe haben wir bei
ProgrammBezeichnung
undProgrammPhase
die wesentlichsten Lücken.viele Grüße
Grizzelbee -
@Grizzelbee Ok, dann werde ich in Zukunft nur noch diese zwei, wenn neue bekannt sind, posten.
-
@Grizzelbee wie kann ich dies unkompliziert auslesen und Dir / Euch zur Verfügung stellen ?
-
@SigiMOE Ich helfe mir dabei mit einem Blockly. Ich schreibe damit die Werte ins LOG und kann die so übernehmen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="u:nww7^WklhWt1WRzAQ;">PrgBezeichnung</variable> <variable type="" id="fHK{9tUAh-h]7*;}^gBU">PrgBezeichnung_raw</variable> <variable type="" id="=GuQ}Wa]Cig09l52v*dV">Phase</variable> <variable type="" id="A11P+@WwQ[k^@i%uxoWA">Phase_raw</variable> </variables> <block type="on_ext" id="e=x,6tz]Oe6I+]h`{zP$" x="-187" y="-837"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="+$NF~=8g9XHM4iAyl.8!"> <field name="oid">mielecloudservice.0.Washing machines.000150008173.Programmbezeichnung</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="-tIFe?nbBZw,;,86/#=b"> <field name="VAR" id="u:nww7^WklhWt1WRzAQ;" variabletype="">PrgBezeichnung</field> <value name="VALUE"> <block type="text_trim" id="v-CGK7oyu/Ii1T%VPREy"> <field name="MODE">BOTH</field> <value name="TEXT"> <shadow type="text" id="z(/gkD)N#*5Vq6;/dsTK"> <field name="TEXT">abc</field> </shadow> <block type="get_value" id="S,EX8U97qz}u,bt8//Q?"> <field name="ATTR">val</field> <field name="OID">mielecloudservice.0.Washing machines.000150008173.Programmbezeichnung</field> </block> </value> </block> </value> <next> <block type="variables_set" id="3efob44Cg;^?v3BN*U7^"> <field name="VAR" id="fHK{9tUAh-h]7*;}^gBU" variabletype="">PrgBezeichnung_raw</field> <value name="VALUE"> <block type="convert_tonumber" id="I2UwT=HV6i=1C_#Dqs[@"> <value name="VALUE"> <block type="get_value" id="lrejWR3[GBqoDg{(?;eW"> <field name="ATTR">val</field> <field name="OID">mielecloudservice.0.Washing machines.000150008173.Programmbezeichnung_raw</field> </block> </value> </block> </value> <next> <block type="debug" id="(47kA;5Hx?6dQ0yL.__G"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id=".D~JADrqz8TZzaRa,*xx"> <field name="TEXT"></field> </shadow> <block type="text_join" id="[*bApSlWqwsZKxs)DA]h"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="1=$|zp{{Mrhyl~pDyfT,"> <field name="TEXT">Waschmaschine Programmbezeichnung: "</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="`2goEPn.y=EX;@nG!D(!"> <field name="VAR" id="u:nww7^WklhWt1WRzAQ;" variabletype="">PrgBezeichnung</field> </block> </value> <value name="ADD2"> <block type="text" id="|Acgl#A,`OI6l7t~1d=F"> <field name="TEXT">"</field> </block> </value> </block> </value> <next> <block type="debug" id="Tn+qJbg5SX9.ZJb{QM?l"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id=".D~JADrqz8TZzaRa,*xx"> <field name="TEXT"></field> </shadow> <block type="text_join" id="1EfI#PXn@UkG5+Y4phBt"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="aZF5!#O(zzuw8cvCS)fa"> <field name="TEXT">Waschmaschine Programmbezeichnung_raw: "</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="t)K.q#Sow__{su}v%AT1"> <field name="VAR" id="fHK{9tUAh-h]7*;}^gBU" variabletype="">PrgBezeichnung_raw</field> </block> </value> <value name="ADD2"> <block type="text" id="}g8w_ked])ofG@:V8J+^"> <field name="TEXT">"</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="~M8V9P{+b(KnCO(xBlPc"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="uWJz0]ANi6r(Fq}MM,i5"> <field name="oid">mielecloudservice.0.Washing machines.000150008173.Programmphase</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="(%^=HGc=PsuK`:c+;i;M"> <field name="VAR" id="=GuQ}Wa]Cig09l52v*dV" variabletype="">Phase</field> <value name="VALUE"> <block type="text_trim" id="iJSXwG!IF^wT@C{9W)fO"> <field name="MODE">BOTH</field> <value name="TEXT"> <shadow type="text" id="z(/gkD)N#*5Vq6;/dsTK"> <field name="TEXT">abc</field> </shadow> <block type="get_value" id="2zG1|w]vlK27UP)g/DIx"> <field name="ATTR">val</field> <field name="OID">mielecloudservice.0.Washing machines.000150008173.Programmphase</field> </block> </value> </block> </value> <next> <block type="variables_set" id="Py1M}r,8;{14gE4@M50i"> <field name="VAR" id="A11P+@WwQ[k^@i%uxoWA" variabletype="">Phase_raw</field> <value name="VALUE"> <block type="convert_tonumber" id="MB-x/_^1lJjM:l4/law5"> <value name="VALUE"> <block type="get_value" id="4YZCeyL.C_N6X%:h.;8("> <field name="ATTR">val</field> <field name="OID">mielecloudservice.0.Washing machines.000150008173.Programmphase_raw</field> </block> </value> </block> </value> <next> <block type="comment" id="}*20E*f;JhSSb4o8{kBR"> <field name="COMMENT">programmPhase</field> <next> <block type="debug" id="ZG+IOI#bn-0sSkx-`mRa"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id=".D~JADrqz8TZzaRa,*xx"> <field name="TEXT"></field> </shadow> <block type="text_join" id="i00*m}Fk#EV4R0st#^9u"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="x]YbZ8M=]`niHG:Kk-:@"> <field name="TEXT">Waschmaschine ProgrammPhase: "</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="E_WhmZu90@m`SEUv=cq}"> <field name="VAR" id="=GuQ}Wa]Cig09l52v*dV" variabletype="">Phase</field> </block> </value> <value name="ADD2"> <block type="text" id="[=+LbUsi6gcZ59+6GARs"> <field name="TEXT">"</field> </block> </value> </block> </value> <next> <block type="comment" id="qo,C)ztO=(kCiYJ$u0mU"> <field name="COMMENT">programmPhase_raw</field> <next> <block type="debug" id="viRQP4V~~!@wVUU8Kt;-"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id=".D~JADrqz8TZzaRa,*xx"> <field name="TEXT"></field> </shadow> <block type="text_join" id="8GDiEXo9:I4*?Ew=AbKh"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="pX%;qU|Z],_*6[h)Y6e*"> <field name="TEXT">Waschmaschine ProgrammPhase_raw: "</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="v]+Dguw,Fl=nK`)bC):o"> <field name="VAR" id="A11P+@WwQ[k^@i%uxoWA" variabletype="">Phase_raw</field> </block> </value> <value name="ADD2"> <block type="text" id="~2l*qWMIa4#}=*]z]k4S"> <field name="TEXT">"</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
Habe gerade eben die Version 1.2.1 in Latest geschoben:
1.2.1 (2020-04-22)
- (grizzelbee) New: Introduced new boolean state (signalActionRequired) that indicates that the machine has finished running, but a human action, like putting the wet clothes to the dryer, ... is needed. State is cleared automatically when the door of the appliance is opened, or it is restarted. State is implemented for washing machines, tumbledryers, washer dryer and dishwashers. Dosen't work perfectly currently.
- (grizzelbee) Upd: Updated Documentation
- (grizzelbee) Fix: Fixed warnings with js-Controller >=3.0 (Issue #23)
-
@Grizzelbee
Herzlichen Dank für den raschen js-Controller 3.0 - Fix. Und natürlich für den ganzen Adapter. Ist eine super Sache!
Liebe Grüsseforelleblau
-
Ich könnte noch folgende Miele Codes "beisteuern":
Programmbezeichnung: 50 <-> "Dunkle Wäsche"
Programmbezeichnung: 48 <-> "Flusen ausspülen"Programmphase: 514 <-> "Trocknen"
Programmphase: 519 <-> "Abkühlen"
Programmphase: 532 <-> "Flusen ausspülen"Danke für den tollen Adapter,
maeb3 -
@maeb3
Cool! Danke schön!
Es freut mich, wenn der Adapter funktioniert und nützlich ist.Aber ... von was für einem Gerät stammen die Codes?
Einem Waschtrockner?
Die Phasen und Bezeichnungen wirken auf den ersten Blick etwas komisch. "Trocknen" ist etwas ungewöhnlich für eine Waschmaschine und "Flusen ausspülen" für einen Trockner.viele Grüße
Grizzelbee -
@Grizzelbee ja, ist der Waschtrockner WTH730
-
@Grizzelbee Sagmal- ich muss den Adapter alle paar Tage neu starten, weil er auf rot steht. Ist dir das Problem bekannt? Ich versuche das sonst mal über ioBroker einen nächtlichen Neustart einzustellen.
-
@oberfragger
Nein. Ein solcher Fehler ist mir nicht bekannt. Bei mir läuft der ewig durch.
da wären jetzt ein paar sachdienliche Hinweise (z.b. Debug-Log, Version, ...) von der Fehlersituation / dem Fehlerzeitpunkt hilfreich. -
@Grizzelbee Okay. dann werde ich das mal machen.
-
Hallo, ich bekomme seit ein paar Tagen relativ viele Meldungen täglich ( Version 1.21 )
mielecloudservice.0 2020-05-20 21:10:49.430 error (2377) undefined mielecloudservice.0 2020-05-20 21:10:49.430 error (2377) Error: Request failed with status code 504 mielecloudservice.0 2020-05-20 21:10:49.429 error (2377) APISendRequest returned an error! mielecloudservice.0 2020-05-20 21:09:49.429 error (2377) undefined mielecloudservice.0 2020-05-20 21:09:49.428 error (2377) Error: Request failed with status code 504 mielecloudservice.0 2020-05-20 21:09:49.428 error (2377) APISendRequest returned an error! mielecloudservice.0 2020-05-20 21:08:49.464 error (2377) undefined mielecloudservice.0 2020-05-20 21:08:49.464 error (2377) Error: Request failed with status code 504 mielecloudservice.0 2020-05-20 21:08:49.463 error (2377) APISendRequest returned an error! mielecloudservice.0 2020-05-20 21:07:49.428 error (2377) undefined mielecloudservice.0 2020-05-20 21:07:49.428 error (2377) Error: Request failed with status code 504 mielecloudservice.0 2020-05-20 21:07:49.427 error (2377) APISendRequest returned an error! mielecloudservice.0 2020-05-20 21:06:49.423 error (2377) undefined mielecloudservice.0 2020-05-20 21:06:49.422 error (2377) Error: Request failed with status code 504 mielecloudservice.0 2020-05-20 21:06:49.421 error (2377) APISendRequest returned an error! mielecloudservice.0 2020-05-20 19:37:44.363 error (2377) "There was an error processing your request. It has been logged (ID 35273fc3f3854325)." mielecloudservice.0 2020-05-20 19:37:44.362 error (2377) Error: Request failed with status code 500 mielecloudservice.0 2020-05-20 19:37:44.362 error (2377) APISendRequest returned an error!
-
@jupzup
Hi Jupzup!Danke für diesen Fehlerhinweis.
Ich musste selber erst einmal den HTTP-Code 504 googlen und habe gelernt das das ein "Gateway timeout" ist. Will sagen: Der Request den der Adapter losschickt wird nicht in der erwarteten Zeit vom Miele-Server beantwortet. Will sagen: Da klemmt irgend etwas zwischen deinem ioBroker und dem Miele Server.
Ich fürchte, außer dem Tipp den Fehler und seine Lösungsansätze mal zu googlen, kann ich leider nicht viel für dich tun.
Ich habe das allerdings zum Anlass genommen, das im Log (in der Version 1.2.2) mal herauszuarbeiten.viele Grüße
Grizzelbee -
Habe heute auch ein paar Fehlermeldungen im Log gehabt
mielecloudservice.0 2020-05-21 16:31:39.831 error at processTicksAndRejections (internal/process/task_queues.js:97:5) mielecloudservice.0 2020-05-21 16:31:39.831 error at runMicrotasks (<anonymous>) mielecloudservice.0 2020-05-21 16:31:39.831 error at refreshMieledata (/opt/iobroker/node_modules/iobroker.mielecloudservice/main.js:700:5) mielecloudservice.0 2020-05-21 16:31:39.831 error at splitMieleDevices (/opt/iobroker/node_modules/iobroker.mielecloudservice/main.js:295:9) mielecloudservice.0 2020-05-21 16:31:39.831 error at parseMieleDevice (/opt/iobroker/node_modules/iobroker.mielecloudservice/main.js:309:56) mielecloudservice.0 2020-05-21 16:31:39.831 error (20621) TypeError: Cannot read property 'type' of undefined mielecloudservice.0 2020-05-21 16:31:39.830 error (20621) unhandled promise rejection: Cannot read property 'type' of undefined Unhandled 2020-05-21 16:31:39.830 error 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(). mielecloudservice.0 2020-05-21 16:31:39.830 error (20621) undefined mielecloudservice.0 2020-05-21 16:31:39.830 error (20621) Error: Request failed with status code 504 mielecloudservice.0 2020-05-21 16:31:39.829 error (20621) APISendRequest returned an error!
Woran kann den das liegen?
Gruß
Adrian -
Ich hatte das gleiche Problem seit letzter Nacht, inzwischen ist es aber gelöst.
Allerdings kann ich nicht genau sagen, was jetzt geholfen hat. Könnte auch sein, dass die mielecloud ein Problem hatte und das jetzt einfach gefixt wurde.
Aber ich habe noch folgendes gemacht. In der Miele-App am Handy geschaut, ob die funktioniert (tat sie). Da wurde mir gleich ein Modul-Update für mein Gerät (Waschmaschine) angeboten. Also dieses Update eingespielt.
Dann konnte ich mich erinnern, dass von Miele letztes Jahr im Juli eine Mail kam, dass sie an die API 1.0 jetzt demnächst mal live nehmen und sich da was ändert und man dann dort die credentials nochmal ändern muss. Also bin ich auf die Seite https://www.miele.com/developer/ gegangen und hab mich dort mal umgeschaut, ob man da was mit den credentials machen kann. Hab mich dann auf der API Documentation Seite mal Authorisiert (mit den vorhandenen Credentials) und mal testweise mein Gerät abgefragt (was funktionierte). Dann wieder im iobroker den Adapter gestartet und seitdem ist alles grün und keine Fehler mehr im Log. -
Hey,
erstmal danke für den Adapter. Er funktioniert eigentlich sehr gut.
Gerade habe ich aber gemerkt, dass er gelb ist. Das einzige, was ich im Log finden konnte, das damit zu tun haben KÖNNTE:Access-Token expires at: [Tue Jun 30 2020 11:33:00 GMT+0200 (GMT+02:00)]
Habe ich da bei der Installation was verpasst zu machen? Ist der Token jetzt "für immer" abgelaufen und ich muss einen komplett neuen Zugang (ID, Secret, Name) erstellen?
Danke im Voraus
Max -
@M-A-X
Ich kann dich beruhigen!
Starte den Adapter einfach neu. Dann sollte er wieder laufen. Deinen Credentials ist nichts passiert. Das token, das in der Meldung gemeint ist, ist das oauth2-Access-Token. Das läuft regelmäßig ab. Das soll so sein.Ich wäre aber dennoch an einer weiteren Analyse interessiert.
Kannst du Mal versuchen alles was den Adapter betrifft und nach Fehler aussieht hier zu posten? Dann kann ich Mal drauf gucken.Viele Grüße
Grizzelbee -
@Grizzelbee
Hallo.
Ich war gestern noch spät unterwegs und komme erst jetzt dazu. Ich habe seit gestern "regelmäßig" folgende Zeilen im Log, was den Adapter betrifft (insgesamt 7 mal diese Zeilen zwischen ca. 22 Uhr und 23:20 Uhr., davor keine Errors im Log, da ich - dummerweise - das Log kurz nach meinem Post gelöscht habe )2020-05-31 23:20:02.517 - error: mielecloudservice.0 (10520) Error: Request failed with status code 503 2020-05-31 23:20:02.519 - 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(). 2020-05-31 23:20:02.519 - error: mielecloudservice.0 (10520) unhandled promise rejection: response is not defined 2020-05-31 23:20:02.522 - error: mielecloudservice.0 (10520) ReferenceError: response is not defined at APISendRequest (/opt/iobroker/node_modules/iobroker.mielecloudservice/main.js:877:34) at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:97:5) 2020-05-31 23:20:02.523 - info: mielecloudservice.0 (10520) Clearing Timeout: pollTimeout 2020-05-31 23:20:02.526 - info: mielecloudservice.0 (10520) Unloading MieleCloudService... 2020-05-31 23:20:02.536 - info: mielecloudservice.0 (10520) terminating 2020-05-31 23:20:02.538 - info: mielecloudservice.0 (10520) Terminated (NO_ERROR): Without reason 2020-05-31 23:20:03.069 - info: host.iobroker instance system.adapter.mielecloudservice.0 terminated with code 0 (NO_ERROR) 2020-05-31 23:20:03.074 - info: host.iobroker Restart adapter system.adapter.mielecloudservice.0 because enabled 2020-05-31 23:20:33.106 - info: host.iobroker instance system.adapter.mielecloudservice.0 st arted with pid 10699 2020-05-31 23:20:34.950 - info: mielecloudservice.0 (10699) starting. Version 1.2.2 in /opt/iobroker/node_modules/iobroker.mielecloudservice, node: v12.17.0, js-controller: 3.1.4 2020-05-31 23:20:35.305 - info: mielecloudservice.0 (10699) Access-Token expires at: [Tue Jun 30 2020 23:20:00 GMT+0200 (GMT+02:00)] 2020-05-31 23:20:35.308 - info: mielecloudservice.0 (10699) Starting Polltimer with a 3 Minutes interval.
Zur Zeit ist der Adapter aber grün.