[Modul] Miele@Home

Nachdem im Debug vom I/O-Modul kein Eintrag zum Gerätetyp war, habe ich die Abfrage mit dem Skript von danimerz gemacht.

Nach etwas „Rumspielen“ habe ich dem I/O-Modul doch noch eine Antwort entlocken können.

{"ident":{"type":{"key_localized":"Gerätetyp","value_raw":2,"value_localized":"Trockner"}

ok, das war ich unpräzise, sorry. Also die Abfrage, wo die Informationen zum Gerät selber kommen, werde nur ausgelöst
a) wenn man im I/O-Modul aus Testen drückt
b) wenn man das Konfigurationsmodul öffnet.

Aber der Typ steht auch im Device-Modul unter Geräte-Typ :banghead:

Ja, der Wert ist ok. Hier ist der Text in Deutsch, bei der vorigen Antwort war es der Englisch …

Wie dem auch sein. Ich habe in das Modul eingebaut, das für den Fall, wenn „value_localized“ leer ist, nehme ich „value_raw“, versuche daraus einen Text zu machen (in module.php) und zu übersetzen (lokale.json)

Die Werte stammen von oklona und seinem Script GitHub - oklona/Miele-MQTT: A very simple script to read data from Miele@home cloud services, and publish using Mosquitto MQTT - vielen Dank für die Vorarbeit!

Problem ist nur, das es keine offizielle Tabelle der Text gibt (eine Anfrage bei developer@miele.com blieb bisher ohne Antwort).
Es kann also sein, das ich keinen Text dazu habe, dann erscheint „unbekannter Wert xxx“ wobei „xxx“ der Wert ist.

Dann bräuchte ich den Wert und die Bedeutung des Wertes um das nachführen zu können.

Das gilt für alle diese Felder:

zB. Feld „Programm“: kenne ich nur der Wert 2 und das ist lt. Screenshot der App „Automatic Plus“.

Ich kann das nur eingegrenzt testen, weil ich keinen Trockner habe, habe aber mit den Daten aus dem Debug getestet. Hoffe, das es ok ist.

Gruß
demel

Ich versuche mal, die nächste Zeit Daten vom Trockner zu sammeln.

Da ich als Hauptvisualisierung einen 24"-Touchscreen mit Windows und IPSView nutze und Miele für Windows keine App im Angebot hat, bieten die Anzeige des Gerätestatus und der Restlaufzeit durch Dein Modul einen Komfortgewinn (Trockner steht im Keller).

Nochmals vielen Dank für das Modul, das Du in sehr kurzer Zeit realisiert hast.

vielleicht hilft es, meine Frage nach den „leeren“ Feldern und einer Mappingtabelle wurde wie folgt beantwortet:

Hi,
currently we’ve an issue relating to our resource mapping.
We’re working on this issue and will fix it within the Dezember release.
Kind regards
Miele 3rd party API Team

Demnach sollte sich mit dem Dezember-Release die Sache selbst beheben. Wann auch immer das kommt.

VG Lenny

Ich bin heute nun auch mal zum Testen gekommen. Vielen Dank für das Modul.

Leider bleibe ich bei der Konfiguration schon hängen. I/O erstellt und geht (Test erfolgreich). Konfigurator erstellt, hier werden mir auch meine drei Geräte angezeigt (Backofen, Mikrowelle, Geschirrspüler). Wenn ich nun ein Gerät anlegen möchte und ich dieses (habe es mit allen Geräten versucht) aus dem Dropdown auswähle und dann auf „Gerät anlegen“ gehe bekomme ich die Meldung „kein Gerät ausgewählt“. So kann ich nichts anlegen. Ich habe es in den Webconsole und auch in der Legacy versucht.

LG
Tom

Hallo,

das ist ja komisch … die Meldung kommt nur, wenn in den Daten keine Fabrikationsnummer enthalten ist.

welche IPS-Version hast Du am Start?
Gibt es irgendwelche Informationen in dem Messages?

Mach mal folgendes

  1. IO-Modul öffnen und Debug aktivieren
  2. dann COnfig-Modul öffnen
    beim Öffnen des Config-Moduls wird eine spezielle Abfrage an Miele geschickt, aus der ich die Daten entnehmen, die ich anzeige.

Die würden mich mal interessieren, ob da eine fabNumber enthalten ist. Ggfs gibt es die nicht bei allen Geräten.

Die Daten kannst Du mir gerne per PN schicken.

gruß
demel

Aktuelle 5.0 vom 30.10.18. (Windows)

Nein, da kommt nix.

Daten kommen per PN.

Danke!
Tom

jo, habe ich gesehen.

Problem ist wie vermutet, das das Feld fabNumber leer ist und das benutze ich bisher in Config-Moduls als Schlüssel für die Auswahl.

Ok, ich habe das geändert, bitte Modul updaten und nochmal probieren etwas im Config-Modul anzulegen.

Wenn es nicht klappt, vom Config-Modul auch Debug aktivere, dann ein Gerät anlegen und Debug wieder zu mir.

Gruß
demel

Danke! Das Anlegen hat nun funktioniert. Jetzt schau ich mal was von den Geräten ankommt.

LG
Tom

Hallo,

die erste Version des Moduls ist nun fertig.
Umgesetzt sind zur Zeit: Waschmaschine, Wäschetrockner, Kühl/Gefrierkombination. Vielen Dank an die Mitwirkenden!

Für andere, nocht nicht unterstützte, Modelle, bitte ich um folgendes:

  • den Typ des Gerätes (Geräte-Typ-ID und Bezeichnung aus dem Konfigurationsdialog des Device-Moduls), ggfs Debug des IO-Moduls
  • Bennenung der relevanten Daten, sinnvollerweise im Abgleich mit der Miele-App
  • Debug des Device-Modules

Leider gibt es bei einigen Geräten und einigen der Felder (z.B. Status, Programm, Phase) keinen ausgebbaren Text in den Daten sondern nur einen Code. In dem Fall wird in den betreffenden Felden unbekannter Wert xx ausgegeben. Dann benötige ich einerseits diesen Wert xx, andererseits den Text, der in der Miele-App angezeigt wird.

Debugs etc sinnvollerweise als PM.

Danke
demel

Hallo zusammen,

erstmal vielen Dank für das Modul… nur leider habe ich ein kleines Problem beim Installieren.

Wenn ich die I/O-Instanz hinzufügen möchte, dann bekomme ich die Fehlermeldung das IS_EBASE nicht definiert ist… woran kann das liegen? Braucht man für das Modul eine bestimmte IPS-Version (bin noch auf 4.4)?

Gruß & vielen Dank für eure Hilfe im Voraus

Carl

Hallo,

ja, das Modul setzt IPS 5 voraus.

Ich finde es allerdings merkwürdig, das Du das Modul überhaupt laden konntest, ich hatte da in der library,json eine Mindest-Version angeben.

"compatibility": {
        "version": "5.0"
    },

Ich dachte, damit hätte ich 5.0 als Minimal-Version festgelegt, scheint aber nicht so zu sein; ich konnte das Modul auch gerade in meinem 4.4-Testsystem installieren.

So oder so, geht erst am 5.0. Bei meinen Module, die ich schon unter 4.4. entwickelt habe, unterstütze ich noch 4.4 mit Bugfixes, aber neuen Module nur noch mit 5.0

demel.

Ich habe heute mal den Geschirrspüler belauscht. Daten kommen per PN.

Was schon mal auffällt:

  • Programm heißt in der App Intensiv / das Modul sagt Maschinenreinigung
  • Restzeit: Variable ist da, wird aber nicht aktualisiert
  • Ende um: Variable ist da, wird aber nicht aktualisiert

LG
Tom

habe ich bekommen, kriegst gleich eine Antwort

Zu den Texten: das ist lt. Mail vom Miele ein Mapping-Problem in der API, das in Arbeit ist.

Und zwar gibt es bei diesen Felder folgende Struktur (am Beispiel programType)

„programType“:{„value_raw“:2,„value_localized“:„Maschinenreinigung“,„key_localized“:„Programm“}

value_localized: das ist der Text, den ich verwende, wenn er gesetzt ist
value_raw: verwende ich, denn value_localized leer ist, setze den Modul-intern in einen englischen Text um, den ich per locale.json in deutsch übersetze.

Nun gibt es leider bislang von Miele keine Tabelle der Codes zu Text (sei in Arbeit), daher muss ich das „lernen“ und das geht nur, indem ich, genau diese Codes mit dem dazugehörigen Text in der App bekomme. Das trage ich dann in das Modul ein.

Nun ist es so, das bei diesem Gerät ja ein, wenn auch fehlerhafte Variable value_localized kommt. Ich überlege daher, ob ich einstellbar machen, das Mapping selbst durchzuführen.

demel

Lieben Dank für die schnellen Infos und das Update. Das Mapping selbst zu machen, macht sicher Sinn, man weiß ja nicht wie lange Miele benötigt um das in der Api anzupassen.

Daten für Backofen und Mikrowelle sind unterwegs.

LG
Tom

30.11.2018 17:28:30 | TimerPool | Trockner (UpdateData): <br />
<b>Warning</b>:  Use of undefined constant brea - assumed 'brea' (this will throw an Error in a future version of PHP) in <b>/var/lib/symcon/modules/IPSymconMieleAtHome/MielelAtHomeDevice/module.php</b> on line <b>65</b><br />

Im in der Fehlermeldung genannten Script fehlt das „k“ bei „break“.

ups, fix ist online

danke
demel

Haben heute unseren neuen G7510 bekommen. Leider wird hier auch so gut wie alles mit Unbekannt ausgegeben. Werde mich die nächsten Tage mal ransetzen und den Debug auslesen bzw. ein Mapping erstellen.

was ist das denn für ein Typ? Wenn ich dem Internet glauben kann ist das ein Geschirrspüler?
Etwas merkwürdig, weil es ja schon User mit einem Geschirrspüler gibt. Allerdings schicken die Geräte unterschiedlich „gute“ Daten.

Das wichtigste ist eigentlich der Typ des Gerätes, der bestimmt, welche Variablen es geben soll.

Bei dem Inhalt kann man ggfs in den Modul-Einstellungen umschalten, ob man selbst mappen möchte oder ob man die Texte verwendet, die das Gerät liefert.

demel

Jetzt muss ich mich entschuldigen - hatte die falsche Device ID eingegeben. Mit der ID 7 wird jetzt alles korrekt ausgelesen.

Sorry!