Wer selbst ein wenig damit spielen will und Befehle an sein Miele Gerät senden möchte (auf eigene Gefahr!):
[ul]
[li] Eclipse herunterladen
[/li][li] jce_policy-8.zip (bei Java 8) in das Java Verzeichnis entpacken (google gibt Details) damit die Verschlüsselungsstärke unterstützt wird
[/li][li] Neues Projekt anlegen
[/li][li] http://dl.phenx.de/miele_xkm3100w.zip enthält den Source
[/li][li] In die Config.java Hostnamen, GroupId und Groupkey eintragen (z.B. per Wireshark mitgelesen oder aus der SQLite Datenbank der Android App extrahiert, Verzeichnis /data/data/de.miele…/databases/mieleathome.db auf dem Handy)
[/li][li] Test.java ausführen
[/li][/ul]
In der Test.java kann dann je nach Bedarf herumgespielt werden… der interessanteste Parameter war für mich erst einmal request.setResourcePath. Hier noch ein paar Beispiele:
„/“:
Response Status: 200
Decrypted:
{
"Devices":{"href":"Devices/"},
"Subscriptions":{"href":"Subscriptions/"},
"Host":"Miele-000000000000000.local.",
"Info":"",
"Diagnose":{"href":"Diagnose/"},
"WLAN":{"href":"WLAN/"},
"Homebus":{"href":"Homebus/"},
"Update":{"href":"Update/"}
}
Im Prinzip kann über alles wo „href“ steht navigiert werden, z.B.
„/Devices/“:
Response Status: 200
Decrypted:
{
"000000000000":
{
"href":"00000000000000000/",
"Group":"000000000000000000",
"Pairing":"false"
}
}
„/Devices/000000000000/“:
Response Status: 200
Decrypted:
{
"Ident":{"href":"Ident/"},
"State":{"href":"State/"},
"DOP":{"href":"DOP/"},
"Settings":{"href":"Settings/"}
}
}
„/Devices/000000000000/State/“:
Response Status: 200
Decrypted:
{
"Status":5,
"InternalState":3,
"ProgramType":0,
"ProgramID":1,
"ProgramPhase":514,
"RemainingTime":[0,37],
"StartTime":[0,0],
"TargetTemperature":[4000],
"Temperature":[-32768,-32768,-32768],
"SignalInfo":false,
"SignalFailure":false,
"SignalDoor":false,
"RemoteEnable":[15,0,0],
"ProcessAction":0,
"Light":0,
"ElapsedTime":[3,5],
"ExtendedState":"0018010203A006400102010111003A98025801C2025801C2019000A30000000000000003000000000000000000000008000000000000000056B8000002010300000102"
}
„/Update/“:
Response Status: 200
Decrypted:
{
"NewerAvailable":false,
"CurrentVersion":"2.10",
"AvailableVersion":"",
"Type":"XKM3100W",
"ReleaseNotes":"",
"UpdateInProgress":false
}
Viel Spaß damit.