NEWS
MieleCloudService Adapter
-
@homezecke sagte in MieleCloudService Adapter:
Allerdings wird mir jetzt beim Datenpunkt PROGRAMM bei meinem Geschirrspüler G7310 "Biergläser warm" angezeigt. Das sollte aber eigentlich "PowerWash 60°" sein.
Das hat dann Miele verbeutelt. Die Klartext-Sachen kommen direkt von Miele.
Schalte in den Einstellungen, wenn Du Lust hast, vielleicht mal auf Englisch um um gucke ob das (sinngemäß) deinen alten Text ergibt. -
So ich mal wieder.
Ich habe den Geschirrspüler in dem Adapter zeigt mir auch alles an, nun würde ich gerne wenn meine PV Anlage überschuß hat das die Geschierspüle startet. Wie bekomme ich das hin ich kann sie nur Stoppen, Pause und Start geht nicht. Gibt es es hierfür eine Lösung oder mache ich was Falsch im nächsten Schritt wäre dann Waschmaschine und Trockner dran.Gruß Michael
-
Hi @Grizzelbee ,
Erstmal danke für den super adapter. Ich versuche damit aktuell meine Wasch und Spülmaschine die “Smart Grid” Funktion (laufen wenn Strom am günstigsten bei stündlich wechselnden Strompreisen) richtig beizubringen, da die Miele eigene Funktion über das XGW3000 Gateway aktuell nur bei der Waschmaschine funktioniert, und dort auch nicht so treffsicher wie ich mir das wünsche.
Im iobroker habe ich nun den besten “Startzeitpunkt” ermittelt und würde diesen gerne an die jeweilige Maschine übergeben die sich zu dem Zeitpunkt bereits fertig eingestellt im Status “4” - “Start verzögert” befindet. Wenn ich nun aber die den state “startTime” entsprechend setze, wird diese einfach beim nächsten Refresh wieder mit dem alten Wert überschrieben.
Kannst Du mir helfen zu verstehen wie das richtig geht? Laut API Doku bei Miele ist das setzen der startTime ja ein gültiger Put Befehl, oder lese ich das falsch?
Viele Grüße,
Magnus -
@michael-1975 sagte in MieleCloudService Adapter:
Wie bekomme ich das hin ich kann sie nur Stoppen, Pause und Start geht nicht.
Wenn ich ehrlich sein darf, ... da habe ich selber keine Erfahrungen mit. Ich selbst nutze aktuell diese Funktionen nicht. Ich habe lediglich versucht die korrekt lt. Doskumentation zu implementieren. Es ist durchaus möglich, das da noch Fehler drin sind. Am besten meldest Du dich bei Miele auf der API Seite mal an und schickst die Befehle direkt an deine Maschinen - wenn das klappt, habe ich noch Bugs, die ich dann bereinigen muss, wenn es dort auch nicht klappt, liegt es an Miele und ich kann dann nichts tun.
@magnus-1 sagte in MieleCloudService Adapter:
Wenn ich nun aber die den state “startTime” entsprechend setze, wird diese einfach beim nächsten Refresh wieder mit dem alten Wert überschrieben.
Hmm. Es ist durchaus möglich, das Du da einen der wenigen Punkte gefunden hast, die ich bislang schlicht ignoriert und noch nicht implementiert habe. Jedenfalls klingelt da was bei mir im Hinterkopf. Mach mit bitte dazu mal einen Issue auf Github auf. ... Aber ... 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.
-
@Grizzelbee hast du mir ein Link wo ich das bei Miele testen kann.
Gruß Michael
-
@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