NEWS
MieleCloudService Adapter
-
@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 -
@joergh sagte in MieleCloudService Adapter:
@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.
bist du hier schon weiter gekommen ich kann meine Spülmaschine nur stoppen Pause geht auch kein Starten
-
Hi @Grizzelbee ,
meine Logs laufen aktuell voll mit zwei Fehlern für die zwei integrierten Waschmaschinen:
mielecloudservice.0 2021-08-16 18:51:57.615 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM1>.signalInfo" mielecloudservice.0 2021-08-16 18:51:57.508 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM1>.signalFailure" mielecloudservice.0 2021-08-16 18:51:57.494 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM2>.signalInfo" mielecloudservice.0 2021-08-16 18:51:57.392 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM2>.signalFailure"
Bei ebenfalls integriertem Kühlschrank und Geschirrspüler kommt der Fehler nicht. Kannst Du Dir das mal ansehen? Wie kann ich am besten beim Debuggen unterstützen?
VG,
Magnus -
ich bin hier auch gerade am testen. Meine Vermutung ist, dass die Maschinen in eine Art Sleep gehen und dann ein "start" alleine nicht reicht. In der Mobile App, muss man bei mir die Maschine dann auch erst wieder Anschalten bevor ein start funktioniert.
Wenn ich kurz nach dem Anschalten der Maschine etwa mit einer Zeitvorwahl noch bevor diese einschläft (<1-2min) über den Adapter ein "start" sende klappt es hier.
Ein On setzten über den Adapter scheint aber nicht das gleich zu sein wie dass was die Mobile App macht wenn ich dort auf "Anschalten" drücke. Ich werde mir das bei Gelegenheit auch nochmal genauer ansehen und berichten, falls @Grizzelbee nicht schneller ist als ich.
-
@magnus-1
Hallo Magnus,Hmm. Meine Waschmascnie zeigt das Verhalten nicht - komisch.
Mach bitte mal ein Debug-Log und filter auf "Signal":
Da sollte so etwas in der Art bei rauskommen.
Interessant sind primär die Zeilen mit SplitMieleDevices sowie zu SignalInfo und SignalFailure. Durchaus aber auch ein bisschen drüber und drunter - als Text. Speziell der bei SplitMieleDevices ist etwas länglich.
Das ist ein JSON in dem die Infos eigentlich unmittelbar drin stehen sollten.
Mal sehen was dabei raus kommt.
Edit:
@Magnus-1 , @michael-1975
Ich habe mit diesen Dingen selber noch nicht herumgespielt, weil ich keine echte Anwendung dafür habe, meine Vermutung geht aber in die Selbe Richtung wie Magnus'.
Ich möchte an dieser Stelle (wie schon ein paar Mal) auf dieses Dokument von Miele hinweisen:
https://www.miele.com/developer/swagger-ui/put_additional_info.html
Darin steht welche Voraussetzung für eine Aktion erfüllt sein muss. -
@magnus-1 das wäre super ich kann bei allen Geräten nur die Pause machen und dann nicht wieder starten. Stopen geht auch nicht.
@Grizzelbee ich habe auch keine Fehler im Log.
-
@grizzelbee danke für die Liste, aber die Verstehe ich nicht wirklich mein Englisch ist wirklich nicht gut. Ich kann raus lesen das ich Typ 1;2;und 7 ( Waschmas. Trockner und Geschirrsp.) habe aber was sagt mir der Rest??
-
@michael-1975
Also... die Tabelle sagt folgendes:
Das Start-Kommando kann an die ProduktTypen 1,2,7 und 24 (1=Waschmaschine, 2=Trockner, 7=Spülmaschine und 24=Waschtrockner) gesendet werden, wenn sie:- die Funktion "FullRemoteControl" aktiviert haben. Das wird an der Maschine selbst unter Einstellungen aktiviert und der Status auch vom Adapter ausgelesen und agezeigt.
- Die Maschine sich im Status 4 (vgl. Feld STATUS_RAW im Adapter) befindet (vgl: https://github.com/Grizzelbee/ioBroker.mielecloudservice/tree/Development#statestatus)
Für das Stoppen gilt das Ganze analog. Hinweis zur Darstellung von Miele: Für nicht-Programmierer vielleicht etwas schwierig zu lesen - && ist ein logisches UND - || ein logisches ODER.
Das bedeutet nicht zwingend, das die Kommandos nicht auch an andere Geräte gesendet werden können - möglicherweise gleten andere oder gar keine Voraussetzungen.
Dazu empfehle ich die gerne die Seite https://www.miele.com/developer/swagger-ui/swagger.html von Miele.
Da kann man sich mit seinen Zugangsdaten anmelden und die Befehle direkt an die Geräte senden und ausprobieren.
Aber ein bisschen lesen und einarbeiten ist leider notwendig. -
@grizzelbee sagte in MieleCloudService Adapter:
FullRemoteControl
Das ist bei allen Geräten auf True.
-
Das ist bei allen Geräten auf True.
Das ist ja schon mal gut, weil erste Grundvoraussetzung - jetzt muss das jeweilige Gerät nur noch im richtigen Status (=4) stehen um gestartet werden zu können.
-
@grizzelbee und wie bekomme ich da die 4 rein? vielleicht bin ich auch zu blöd
jetzt steht klar ne 1 drin da die Maschine aus ist. Und wenn Sie läuft dann kommt die 5.
Wenn ich sie Stope im Iobroker kommt die 2
-
@michael-1975 4 steht da z.B. bei einer aktiven Startvorwahl. da steht meine regelmäßig wenn ich sie auf "SmartStart" lauschen lassen. Das alleine scheint es aber noch nicht zu sein, denn auch mit der Kombination geht es bei mir eben nicht wenn die Maschine schon länger dort verharrt und dann vermeintlich einschläft. Ich werde das aber mal direkt über den Swagger testen und berichten.
-
@grizzelbee said in MieleCloudService Adapter:
Mach bitte mal ein Debug-Log und filter auf "Signal":
Da sollte so etwas in der Art bei rauskommen.
Interessant sind primär die Zeilen mit SplitMieleDevices sowie zu SignalInfo und SignalFailure. Durchaus aber auch ein bisschen drüber und drunter - als Text. Speziell der bei SplitMieleDevices ist etwas länglich.
Das ist ein JSON in dem die Infos eigentlich unmittelbar drin stehen sollten.
Mal sehen was dabei raus kommt.bittesehr - der Wert scheint einfach nicht zu kommen. Kannst Du da sonst noch etwas herauslesen?
mielecloudservice.0 5383 2021-08-16 23:13:14.210 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM>.signalInfo" mielecloudservice.0 5383 2021-08-16 23:13:14.210 debug createBool: Path[Washing_machines.<serial_WM>.signalInfo] Value[undefined] mielecloudservice.0 5383 2021-08-16 23:13:14.210 debug createStateSignalInfo: Path[Washing_machines.<serial_WM>], setup: [false], path: [Washing_machines.<serial_WM>], value: [undefined] mielecloudservice.0 5383 2021-08-16 23:13:14.100 debug createBool: Path[Washing_machines.<serial_WM>.signalInUse] Value[true] mielecloudservice.0 5383 2021-08-16 23:13:14.100 debug createStateSignalInUse: Path[Washing_machines.<serial_WM>], setup: [false], path: [Washing_machines.<serial_WM>], value: [true] mielecloudservice.0 5383 2021-08-16 23:13:14.099 info undefined is not a valid state value for id "mielecloudservice.0.Washing_machines.<serial_WM>.signalFailure" mielecloudservice.0 5383 2021-08-16 23:13:14.095 debug createBool: Path[Washing_machines.<serial_WM>.signalFailure] Value[undefined] mielecloudservice.0 5383 2021-08-16 23:13:14.095 debug createStateSignalFailure: Path[Washing_machines.<serial_WM>], setup: [false], path: [Washing_machines.<serial_WM>], value: [undefined] mielecloudservice.0 5383 2021-08-16 23:13:14.090 debug createBool: Path[Dishwashers.<serial_GS>.signalDoor] Value[false] mielecloudservice.0 5383 2021-08-16 23:13:14.090 debug createStateSignalDoor: Path[Dishwashers.<serial_GS>], setup: [false], path: [Dishwashers.<serial_GS>], value: [false] mielecloudservice.0 5383 2021-08-16 23:13:14.090 debug createBool: Path[Dishwashers.<serial_GS>.signalInfo] Value[false] mielecloudservice.0 5383 2021-08-16 23:13:14.090 debug createStateSignalInfo: Path[Dishwashers.<serial_GS>], setup: [false], path: [Dishwashers.<serial_GS>], value: [false]
Ich bin unabhängig davon aber schon ein bisschen weiter. Über den Swagger bekomme ich tatsächlich für die Waschmaschinen die beiden Werte einfach nicht im JSON. Dann ist mir aufgefallen, dass beide gerade nicht erreichbar sind - bei einer konnte ich das beheben und nun wird der Wert geliefert. Ist also eher ein mäßiges Verhalten der API bei "not reachable" die Menge der Rückgabewerte an der Stelle zu reduzieren. Kannst/möchtest Du das entsprechend abfangen? Sonst scheint alles geliefert zu werden was du abfragst über die API auch in dem Zustand. Schon strange...
edit: Debug log ergänzt.
-
@magnus-1 sagte in MieleCloudService Adapter:
Kannst/möchtest Du das entsprechend abfangen?
Klares: Ja!
Ich werde das aber mal direkt über den Swagger testen und berichten.
Dankeschön!
https://github.com/Grizzelbee/ioBroker.mielecloudservice/issues/164
-
@Grizzelbee
Ich habe Miele mal angeschrieben was das Starten angeht habe heute folgende Antwort erhalten.Hallo,
das Gerät wird in den
"status": {
"value_raw": 4,
"value_localized": "programmed waiting to start",
"key_localized": "State"
}gesetzt, indem am Gerät ein Programm gewählt wird, eine Startvorwahl eingestellt wird und die Starttaste bestätigt wird.
Das Gerät ist jetzt im einem Zustand in dem es gestartet oder gestoppt (Abbruch) werden kann. Wird kein Start Kommando gesendet, startet das Gerät zur vorgewählten Zeit.Kind regards
Leider klappt das nicht bei mir.
Ist es möglich das du da noch was am Adapter ändern mußt oder was meinst du?Gruß Michael
-
@michael-1975 sagte in MieleCloudService Adapter:
Leider klappt das nicht bei mir.
Ist es möglich das du da noch was am Adapter ändern mußt oder was meinst du?Hmm. Meines Wissens nach kann man die Startzeit noch nicht im Adapter erinstellen. Das muss ich noch implementieren. Der rest sollte aber eigentlich funktionieren. Sprich: Wenn alle Voraussetzungen erfüllt sind, sollten die Kommandos korrekt aufgeführt werden. Wie schon gesagt: Im Zweifel bitte mit der Swagger-Seite von Miele spielen und die Kommandos dort abschicken.
Du bekommst die Maschine aber in den richtigen Zustand (4)?
Aber ich denke, dass Miele gute Neuigkeiten für uns hat!
Ich habe heute gesehen, dass die API v1.0.5 online ist und folgendes feature bereitstellt:
Ich habe da heute schon etwas mit rumgespielt, aber das funktioniert leider noch nicht wie erwartet. Wenn ich die Programme abfrage, endet das immer in einem "Bad Request". Da scheint also noch ein Bug drin zu sein. Aber sie arbeiten zumindest dran ...
-
So, sorry, für die lange Pause. Ich war ziemlich beschäftigt und dann zweimal im Urlaub, weshalb ich keine Zeit hatte mich mit dem Thema zu beschäftigen.
Bisher kapiere ich die Logik von Miele noch nicht ganz bzw. nur in der Theorie. Eigentlich sollte ein Kommando nur ausführbar sein, wenn der zugehörige Status "true" ausweist. Wann der allerdings auf "true" steht, habe ich noch nicht ganz verstanden.
Mit der APP kann ich bei der Geschirrspüle das Programm jederzeit pausieren, weiterlaufen lassen oder komplett stoppen.
Per IOBroker ist es mir ein paarmal gelungen zu pausieren und wieder weiterzumachen, aber wann das gelingt und wann es nicht geht, habe ich bisher nicht verstanden. Da muss ich weiter testen.Bei der Waschmaschine verhält es sich so, dass ich nur am Anfang per APP das Programm noch pausieren und weiterlaufen lassen kann. Ab einem gewissen Punkt geht das nicht mehr. Soweit meine bisherigen Beobachtungen.
Jedenfalls wenn ich was helfen kann, um das Mysterium zu lösen, dann lasst es mich bitte wissen.
-
Ich habe bis jetzt folgendes hinbekommen wenn ich die Waschmaschine, Trockner, Geschirrspüle
mit Zeitvorwahl einstelle kann ich Sie so ca. eine Halbe Stunde danach starten danach nicht mehr.
Das ist wahrscheinlich das mit dem Tiefschlaf werde Miele nochmals anschreiben.Habe nochmal folgenden von Miele bekommen:
Hallo Michael,
der Ablauf ist wie folgt:
Status abfragen:
GET /devices/{{DEVICE_ID}}/state
{
"status": {
"value_raw": 4,
"value_localized": "Waiting to start",
"key_localized": "status"
},
…
"remoteEnable": {
"fullRemoteControl": true,
"smartGrid": true,
"mobileStart": false
},
…
}Zulässige Aktionen abfragen:
GET /devices/{{DEVICE_ID}}/actions
{
"processAction": [
1,
2
],
…
}Gerät starten:
PUT /devices/{{DEVICE_ID}}/actions
{
"processAction":1
}Gerät stoppen:
PUT /devices/{{DEVICE_ID}}/actions
{
"processAction":2
}Kind regards
Miele 3rd party API TeamGruß Michael
-
Ich habe gerade mal die Waschmaschine gecheckt:
Verfahren ist üblicherweise so:
Maschine beladen, auf "Remote Control" stellen und "Start" drücken. Dadurch wird die Kontrolle an die APP übergeben, jedoch noch nichts ausgelöst. In der APP stellt man dann das Programm, die Temperatur, Schleuderzahl etc. ein und dann drückt man "Start". Jetzt ist es noch 10 Minuten lang möglich Wäsche nachzufüllen, indem man das Programm einfach pausiert. Danach läuft es und lässt sich nur noch mit "Stop" komplett abbrechen.
Ich habe mir die Datenpunkte in der APP angesehen. "Pause" gibt es nicht, nur "Start" und "Stop", jedoch zeigen beide Indikatoren dauerhaft bei "Start Button active" und "Stop Button active" false an. Das kann eigentlich nicht sein denn eine Fernbedienung ist somit unmöglich.
-
@joergh also ich mache es so ich wähle ein Programm an der Maschine, dann mit der Funktion Smart Start kann ich die Endzeit wählen z.B. 18:00 Uhr.
Damit kann ich Sie über die App starten wann ich will, im Ioboker klappt dies leider nur so ca. eine Stunde über den Strat Button. Danach nicht mehr.