NEWS
Mieleathome Adapter
-
@Grizzelbee Okay & vielen Dank.
Geschirrspüler läuft und mittels neuem Polling (und somit verständlicheren Werten) habe ich auch die Restzeit verstanden
Zerlegung in Stunden und Minuten... wär ich nie drauf gekommen.Ich glaube die Miele-App wird dann mal deinstalliert.
-
@Grizzelbee Sagmal. Ich bin mir unsicher ob man einen Workaround nicht vielleicht via Script erledigen könnte.
Meine Idee wäre wie folgt:
Jeden Sonntag (Tag ist egal), Nacht um 3 Uhr:
Beide Tokens löschen
Adapter restartenOder denke ich da zu kurz?
Da müsste man dann ja nur
deleteState ("mieleathome.0.Authorization.Refresh_Token");
deleteState (mieleathome.0.Authorization.Token);
setState ("system.adapter.mieleathome.0", false);
regelmäßig ausführen...?Im Zweifel den Neustart via Crontab auslösen.
-
@oberfragger sagte in Mieleathome Adapter:
Meine Idee wäre wie folgt:
Jeden Sonntag (Tag ist egal), Nacht um 3 Uhr:
Beide Tokens löschen
Adapter restarten
Oder denke ich da zu kurz?Hmm. Ja und Nein.
Zum einen läuft der Adapter meistens ja problemlos über Wochen und Monate durch. Da würde ich es eher vermeiden ihm auf diese Weise ins Knie zu schießen. Zum anderen wissen wir nicht wie der Adapter auf eine solche Aktion reagiert - das hat noch niemand ausprobiert. Bislang war der Adapter immer gestoppt wenn die Token gelöscht wurden.
Außerdem hilft dir das alles nichts, wenn die Token 10 Minuten nachdem dein Skript die Erneuerung erzwungen hat aus irgendeinem Grund wieder kaputt gehen und damit den Adapter trotzdem runter reißen.Ich würde/werde die Finger davon lassen und auf den Fix warten.
Viele Grüße
Grizzelbee -
Wollte nur kurz eine Alternative zum Adapter über Noder Red zeigen bzw. ist es eine Hilfe für die Entwicklung des Adapters:
Flow: https://flows.nodered.org/flow/32ab59e2399e1b99f786fd40bfa0835aSeriennummer des Gerätes herausfinden laut Typenschild oder abfragen:
bei getBearer die eigenen Daten eintragen und dann die Daten holen
Im Baustein Funktionen die Seriennummer und Länderkennung eintragen
Befehle laut Miele einpflegen:
https://www.miele.com/developer/swagger-ui/put_additional_info.html
Um einen Miele-Geschirrspüler zu starten, muss das Gerät auf "verzögerten Start" eingestellt werden. Entweder zu einer bestimmten Zeit starten oder eben die Endzeit eingeben wann er spätestens fertig sein soll. In diesem Modus zeigt das Miele-Display die Meldung warten auf "SmartStart" an.
Nach einem Stop muss wieder manuell am Geschirrspüler eingegriffen werden.Den Token im "Bearer aktualisieren" hab ich mal auf 24h eingestellt.
NodeRed meldet beim Schalten noch einen Fehler aber der Befehl wird ausgeführt. -
@Grizzelbee
Hallo,
vielen Dank für die Entwicklung!
Ich habe die letzte Version nun installiert. Authorized ist true. Allerdings wird die Geräteliste nicht gefüllt bzw. die Geräte fehlen im Datenpunktebaum. Woran kann das liegen? -
@jmyxa sagte in Mieleathome Adapter:
Allerdings wird die Geräteliste nicht gefüllt bzw. die Geräte fehlen im Datenpunktebaum. Woran kann das liegen?
Hallo jmyxa
Wie so oft im Leben kann das viele Gründe haben. ;).
Aber im Ernst: du hast die v0.9.1 und der Adapter wird auch Grün?
Dann stelle bitte Mal auf Debug und poste das Log hier. Dann kann ich Mal schauen.Viele Grüße
Grizzelbee -
Bei mir wird er auch grün, aber nur für 5 sec. dann wieder rot und viele Fehlermeldungen im log
-
-
@RainerHp sagte in Mieleathome Adapter:
Bei mir wird er auch grün, aber nur für 5 sec. dann wieder rot und viele Fehlermeldungen im log
Hallo Rainer,
Jaaaaa, das ist das klassische Symptom des NRefreshToken Bugs.
Lösch bitte die beiden Token unter "Authorize" und starte den Adapter neu. Dann sollte der wieder aus der Hüfte kommen.Viele Grüße
Grizzelbee -
@Grizzelbee Danke fßr die Info! Es hat eine Zeit lang gebraucht, bis alle Geräte aufgetaucht sind. Nun stehe ich vor dem anderen Rätsel: ich sehe bei der Waschmaschine die richtigen Werte, sie werden auch nach den eingestellten Abständen gepullt, ich kann sie auch ändern, soweit noch nicht gepullt wurde, aber ich kann die Maschine nicht starten. Sämtliche Tastenbuttons (also, START, STOP usw.) bewirken nichts.
-
@alealdata sagte in Mieleathome Adapter:
Wollte nur kurz eine Alternative zum Adapter über Noder Red zeigen bzw. ist es eine Hilfe für die Entwicklung des Adapters:
Flow: https://flows.nodered.org/flow/32ab59e2399e1b99f786fd40bfa0835aSeriennummer des Gerätes herausfinden laut Typenschild oder abfragen:
bei getBearer die eigenen Daten eintragen und dann die Daten holen
Im Baustein Funktionen die Seriennummer und Länderkennung eintragen
Befehle laut Miele einpflegen:
https://www.miele.com/developer/swagger-ui/put_additional_info.html
Um einen Miele-Geschirrspüler zu starten, muss das Gerät auf "verzögerten Start" eingestellt werden. Entweder zu einer bestimmten Zeit starten oder eben die Endzeit eingeben wann er spätestens fertig sein soll. In diesem Modus zeigt das Miele-Display die Meldung warten auf "SmartStart" an.
Nach einem Stop muss wieder manuell am Geschirrspüler eingegriffen werden.Den Token im "Bearer aktualisieren" hab ich mal auf 24h eingestellt.
NodeRed meldet beim Schalten noch einen Fehler aber der Befehl wird ausgeführt.Hallo alealdata,
hatte mich mal mit Deinem node-red flow auseinandergesetzt.
Den oder die token holt er sich wohl (get Bearer geht auf OK).
In set var habe ich die Seriennummer (über das Miele App geholt)
eingetragen. Nun komme ich nicht weiter um Daten zu sehen.
Nun die Frage vom Anfänger:
Muss ich in z.B. get device etwas eintragen oder kommen die Daten
aus meinem Miele Konto?
Bei get Bearer bin ich beim EIntrag coun_lang nicht sicher, ich habe:
DE-de eingtragen.
Im Debugfenster kommt noch der Fehler:
TypeError: Cannot read property 'hasOwnProperty' of undefined".
Leider bin ich nicht so der node-red Profi...
Vielen DANK erstmal vorab!!
Gruß Marcus -
@jmyxa sagte in Mieleathome Adapter:
Nun stehe ich vor dem anderen Rätsel: ich sehe bei der Waschmaschine die richtigen Werte, sie werden auch nach den eingestellten Abständen gepullt, ich kann sie auch ändern, soweit noch nicht gepullt wurde, aber ich kann die Maschine nicht starten. Sämtliche Tastenbuttons (also, START, STOP usw.) bewirken nichts.
Hallo @jmyxa
freut mich, wenn der Adapter jetzt in den Grundzügen schon mal läuft.Zu den Buttons muss ich sagen, das der Code noch komplett von @hash99 stammt und ich mir diese Funktionalität noch nie angeschaut habe (ob das funktioniert oder wie), weil sich mir die Idee dahinter nicht erschließt. Mal sehen was bei dem rerwrite den ich aktuell mache davon übrig bleibt.
Ich zum Beispiel habe Waschmaschine und Trockner im Keller stehen. Wenn ich waschen will gehe ich in den Keller, befülle die Geräte und stelle sie an. Direkt am Gerät, dann kann ich das auch nicht vergessen, weil mich jemand beim Betreten der Wohnung anquatscht (Partner, Kinder, Besuch, ...). Wenn ich mal ganz verwegen drauf bin (z.B. nachts um 23:00) wähle ich "Starte erst in 4 Stunden" an der Maschine vor, damit sie fertig ist wenn ich aufstehe.
Ganz ähnlich geht es mir eigentlich it allen anderen Geräten, die Miele so baut - einzige Ausnahme ist vielleicht der Staubsaugerroboter. Für den Rest sehe ich den Nutzen dahinter nicht die Geräte von irgendwo auf dem Planeten schalten zu können.Ganz im Ernst: Hast du einen coolen UseCase den ich hier in meiner Naivität übersehe?
viele Grüße
Grizzelbee -
@ListerKNX die Daten müssen mit der Länderkennung übereinstimmen. In meinem Fall ist das Österreich:
Hier hab ich zustätzlich die Seriennummer bei Device eingetragen:
@Grizzelbee die Anwendungen die ein Einschalten erforderlich machen zielen in erster Linie auf eine PV Anlage ab um den Eigenverbrauch etwas zu steigern.
Supercooling bzw. Superfrost um 1-2 Grad, Geschirrspüler
Waschmaschine und Trockner muss man sich anschauen ob die Frau da mitspielt
Auf Facebook wollte ein Freak vor kurzem den Kaffee damit runterlassen.Das ganze dann noch mit einer Prognose von Solcast mit den Werten je Stunde bzw. sogar 30min für die Entscheidungslogik: https://api.solcast.com.au
Vergleiche zur Zeit noch Forecast (manchmal ziemlich daneben) und Solcast ( ist genauer):
-
@Grizzelbee Danke für die ausführlichen Infos! Verstehe ich es dann richtig, dass der Adapter momentan nur die "Anzeigefunktion" erfüllt bzw. sich nur für das Verfolgen des Waschgangs eignet? Wenn ja, ist es schade, denn meine Motivation wäre folgende. Die Miele-App ist sehr bescheiden, stürzt häufig App und ist sehr unzuverlässig. Meine Idee war, im Vis die häufigsten von mir genutzten Waschprogramme und Optionen als eine Auswahl (sagen wir, 3-4 Buttons oder Optionen in der Auswahlliste) zu hinterlegen und mit einem Klick zu startet (natürlich vorher die Waschmaschine in den WiFi-Modus umschalten). Das ist doch Motivation genug, oder? Ich denke, das wäre eine Riesenerleichterung für alle Miele-App-Nutzer!
-
@alealdata sagte in Mieleathome Adapter:
@ListerKNX die Daten müssen mit der Länderkennung übereinstimmen. In meinem Fall ist das Österreich:
Hier hab ich zustätzlich die Seriennummer bei Device eingetragen:
@Grizzelbee die Anwendungen die ein Einschalten erforderlich machen zielen in erster Linie auf eine PV Anlage ab um den Eigenverbrauch etwas zu steigern.
Supercooling bzw. Superfrost um 1-2 Grad, Geschirrspüler
Waschmaschine und Trockner muss man sich anschauen ob die Frau da mitspielt
Auf Facebook wollte ein Freak vor kurzem den Kaffee damit runterlassen.Das ganze dann noch mit einer Prognose von Solcast mit den Werten je Stunde bzw. sogar 30min für die Entscheidungslogik: https://api.solcast.com.au
Vergleiche zur Zeit noch Forecast (manchmal ziemlich daneben) und Solcast ( ist genauer):
Hallo @alealdata,
also die Token werden wohl richtig abgefragt, aber hinter dem LBS "get device" bekomme
ich keine Daten heraus (im Objekt sthet: [objekt Object].
In den LBS: set var und get device habe ich NIX mehr eingetragen.
Ist das richtig?
Gruß Marcus
-
@ListerKNX mach den Payload nochmal auf!
Länderkennung steht bei mir drinProbier etwas rum und arbeite dich Schritt für Schritt durch.
Geht hier ja um den Miele Adapter. -
@alealdata sagte in Mieleathome Adapter:
@ListerKNX mach den Payload nochmal auf!
Länderkennung steht bei mir drinProbier etwas rum und arbeite dich Schritt für Schritt durch.
Geht hier ja um den Miele Adapter.@alealdata,
DANKE erstmal für die Hilfe...
Hier die Info's:
Es kommt die Info: Unauthorized.
Bedeutet, dass die Anbingung zu Miele doch nicht geklappt hat?
Hier die Einstellungen in set var:
Die Daten zu Miele sind in get Bearer eingetragen und nach Abfrage liefert der Baustein
mir ein OK:
-
@ListerKNX de-de für Deutschland; de-at für Österreich
-
@alealdata sagte in Mieleathome Adapter:
@ListerKNX de-de für Deutschland; de-at für Österreich
@alealdata, DANKe für den Tipp,
aber läuft noch nicht.
Habe in get Bearer den Wert geändet:
,
und set set var mal mit de und de-de "gespielt.
aber leider kommt immernoch:
-
@alealdata
Hallo. Du hast weiter oben nach der AT-Einstellung gefragt. Ich habe heute gemerkt, dass es eine CH-Einstellung brauch.Falls die Frage noch offen ist, hier die Möglichkeit:
in der Datei /utils/mieleathome.js
steht ab Zeile 23 folgendes
NGetToken(callback) { let options = { url: 'https://api.mcs3.miele.com/thirdparty/token/', method: 'POST', form: { grant_type: 'password', password: this.Password, username: this.Username, client_id: this.Client_ID, client_secret: this.Client_Secret, vg: 'de-CH' }, headers: {accept: 'application/json'} };
bei
vg: 'de-CH'
war ursprünglich
de-DE
drin. Das kannst du auf de-AT ändern.Das hat jedenfalls heute bei mir den Adapter zum laufen gebracht.
@Grizzelbee: Für Nutzer ohne DE-Account bei Miele wäre es praktisch, wenn nicht nur die Sprache, sondern auch das Land in der Config eingestellt werden könnte. Falls ich Zeit finde, und das gewünscht ist, kann ich mich sonst mit einem PR versuchen/beteiligen.
Alles andere find ich super am Adapter - soweit ich schon Einblick habe - danke für die Entwicklung.
Herzliche Grüsse aus der Schweiz
forelleblau