Miele@home, miele@mobile component

Sorry for the confusion, the last dump was off, here is one with it on.

 "integration_manifest": {
    "domain": "miele",
    "name": "Miele",
    "codeowners": [
      "@astrandb"
    ],
    "config_flow": true,
    "dependencies": [
      "application_credentials",
      "http"
    ],
    "documentation": "https://github.com/astrandb/miele",
    "homekit": {},
    "integration_type": "hub",
    "iot_class": "cloud_push",
    "issue_tracker": "https://github.com/astrandb/miele/issues",
    "loggers": [
      "pymiele"
    ],
    "requirements": [
      "flatdict==4.0.1",
      "pymiele==0.1.7"
    ],
    "ssdp": [],
    "version": "0.1.16",
    "zeroconf": [
      "_mieleathome._tcp.local."
    ],
    "is_built_in": false
  },
  "data": {
    "info": {
      "manufacturer": "Miele",
      "model": "KM7897"
    },
    "data": {
      "ident|type|key_localized": "Device type",
      "ident|type|value_raw": 27,
      "ident|type|value_localized": "Hob",
      "ident|deviceName": "",
      "ident|protocolVersion": 2,
      "ident|deviceIdentLabel|fabNumber": "**REDACTED**",
      "ident|deviceIdentLabel|fabIndex": "00",
      "ident|deviceIdentLabel|techType": "KM7897",
      "ident|deviceIdentLabel|matNumber": "11230270",
      "ident|deviceIdentLabel|swids|0": "4889",
      "ident|deviceIdentLabel|swids|1": "20446",
      "ident|deviceIdentLabel|swids|2": "25122",
      "ident|deviceIdentLabel|swids|3": "20447",
      "ident|deviceIdentLabel|swids|4": "4741",
      "ident|deviceIdentLabel|swids|5": "20270",
      "ident|deviceIdentLabel|swids|6": "25123",
      "ident|deviceIdentLabel|swids|7": "4741",
      "ident|deviceIdentLabel|swids|8": "20270",
      "ident|deviceIdentLabel|swids|9": "25123",
      "ident|deviceIdentLabel|swids|10": "4741",
      "ident|deviceIdentLabel|swids|11": "20270",
      "ident|deviceIdentLabel|swids|12": "25123",
      "ident|deviceIdentLabel|swids|13": "4741",
      "ident|deviceIdentLabel|swids|14": "20270",
      "ident|deviceIdentLabel|swids|15": "25123",
      "ident|deviceIdentLabel|swids|16": "4310",
      "ident|deviceIdentLabel|swids|17": "20270",
      "ident|deviceIdentLabel|swids|18": "25278",
      "ident|xkmIdentLabel|techType": "EK039W",
      "ident|xkmIdentLabel|releaseVersion": "02.72",
      "state|ProgramID|value_raw": 0,
      "state|ProgramID|value_localized": "",
      "state|ProgramID|key_localized": "Program name",
      "state|status|value_raw": 1,
      "state|status|value_localized": "Off",
      "state|status|key_localized": "status",
      "state|programType|value_raw": 0,
      "state|programType|value_localized": "Program",
      "state|programType|key_localized": "Program type",
      "state|programPhase|value_raw": 0,
      "state|programPhase|value_localized": "",
      "state|programPhase|key_localized": "Program phase",
      "state|remainingTime|0": 0,
      "state|remainingTime|1": 0,
      "state|startTime|0": 0,
      "state|startTime|1": 0,
      "state|targetTemperature|0|value_raw": -32768,
      "state|targetTemperature|0|value_localized": null,
      "state|targetTemperature|0|unit": "Celsius",
      "state|targetTemperature|1|value_raw": -32768,
      "state|targetTemperature|1|value_localized": null,
      "state|targetTemperature|1|unit": "Celsius",
      "state|targetTemperature|2|value_raw": -32768,
      "state|targetTemperature|2|value_localized": null,
      "state|targetTemperature|2|unit": "Celsius",
      "state|coreTargetTemperature|0|value_raw": -32768,
      "state|coreTargetTemperature|0|value_localized": null,
      "state|coreTargetTemperature|0|unit": "Celsius",
      "state|temperature|0|value_raw": -32768,
      "state|temperature|0|value_localized": null,
      "state|temperature|0|unit": "Celsius",
      "state|temperature|1|value_raw": -32768,
      "state|temperature|1|value_localized": null,
      "state|temperature|1|unit": "Celsius",
      "state|temperature|2|value_raw": -32768,
      "state|temperature|2|value_localized": null,
      "state|temperature|2|unit": "Celsius",
      "state|coreTemperature|0|value_raw": -32768,
      "state|coreTemperature|0|value_localized": null,
      "state|coreTemperature|0|unit": "Celsius",
      "state|signalInfo": false,
      "state|signalFailure": false,
      "state|signalDoor": false,
      "state|remoteEnable|fullRemoteControl": true,
      "state|remoteEnable|smartGrid": false,
      "state|remoteEnable|mobileStart": false,
      "state|ambientLight": null,
      "state|light": null,
      "state|elapsedTime": {},
      "state|spinningSpeed|unit": "rpm",
      "state|spinningSpeed|value_raw": null,
      "state|spinningSpeed|value_localized": null,
      "state|spinningSpeed|key_localized": "Spin speed",
      "state|dryingStep|value_raw": null,
      "state|dryingStep|value_localized": "",
      "state|dryingStep|key_localized": "Drying level",
      "state|ventilationStep|value_raw": null,
      "state|ventilationStep|value_localized": "",
      "state|ventilationStep|key_localized": "Fan level",
      "state|plateStep": {},
      "state|ecoFeedback": null,
      "state|batteryLevel": null
    },
    "actions": {
      "processAction": [],
      "light": [],
      "ambientLight": [],
      "startTime": [],
      "ventilationStep": [],
      "programId": [],
      "targetTemperature": [],
      "deviceName": true,
      "powerOn": false,
      "powerOff": false,
      "colors": [],
      "modes": [],
      "runOnTime": []
    },
    "programs": [],
    "id_log": [],
    "local_mappings": {}
  }
}

The row "state|plateStep": {}, indicates that no plate status is reported at this specific moment.
However, I can see in the code that I have forgotten to enable the plateStep entities for your induction hob type. I will do that in next release of the integration that is scheduled for later this week. We can only hope that the Miele API reports meaningful actual values for the plates when they are in use.

Added issue on Github plateStep entities are not enabled for hob types 14 and 27 ¡ Issue #355 ¡ astrandb/miele (github.com)

As there is no documentation from Miele how this hob is exposed via the 3rd party API, I would appreciate if you could put a couple of kettles on the surface and turn the zones on. - And then capture a diagnostic dump. The variable plateStep should then contain the actiual states.

1 Like

Thanks, this is what I love about the Home Assistant community.

You post up with a new system and already we are into debugging the additional fields.

I’ll put some more detailed logs into the issue.

Thanks!

Hey all,

I have two semi-professional machines from Miele, a washing machine and a tumbler. Both show up in the miele@home app with their remaining run time and notifications when they are finished with their current program.
In the app, I can see my home assistant “Partner App”, but the integration doesn’t show any devices or entities. When I try getting devices from the miele swagger-ui, I get “{}” after querying “/devices” (and after authentication).
What am I doing wrong?

Kind regards, Pete

Miele have one internal API for their own apps and one 3rd party public API that has a limited support. If the public API/Swagger is empty, then there is not much to do.

I am not sure what you mean by home assistant “Partner App”. The Miele integration maintained by me can be found on HACS or here: GitHub - astrandb/miele: A modern integration for Miele devices in Home Assistant But as I stated above if swagger returns nothing, the integration will show nothing.

“Partner App” is the wording Miele uses in their own iOS app.
If I go to Profile->Profile-Settings–>Partner Apps, it shows the name i’ve given on the Miele Pages when I set up the integration in Home Assistant.

OK, that menu in the IOS app was new to me.
But still… If you can’t find your devices in Swagger, the integration can’t.find them in the API.
The only advice I can give is to contact developer support at Miele: [email protected] and ask them if they can explain why you don’t see your devices in 3rd party API.

Tjena, Åke, and others!

I use the integration to monitor my washing machine status. It works great!
I use an automation to turn off my dishwasher (not Miele) and wait for the time of day when power is cheap, eg. at random hours. Here in Scandinavia we can fetch the power prices from Nordpool.

Now, for the dishwasher I can turn of the power (outlet relay), and it will continue its set program when I switch the power back on. This is not the case for my Miele washing machine, which is fully integrated in Åke´s integration. The Miele washing machine will not continue after the power supply is disconnected and put back on.

Has anyone successfully made an automation that will wait for low power prices before starting the dishwasher (once startet it should finish the program, though).

1 Like

Hello, I’m also trying to implement the power consumption display in HA.
I have a WW G760 WPS washing machine here.
In the Miele app I see the power consumption values ​​but in HA everything looks unavailable.

Which steps did I forget?
Is there documentation for the setting steps?

Under
Miele-Developer
I see that “ecoFeedback” should be available for type=1… are these the current and consumption values?

I’ve already read the Wiki website, but I didn’t find anything about it

can someone please help me?
best regards
Achim



Hello,
but the actualy power consumption send the api right?
if is like that, maybe if is possible to log this power-values at any HA-database then you can see them again later in history

But my problem is that I don’t get any current values ​​even while the machine is running. I see the entities in HA but disabled. I must have forgotten to configure something

edit:

I forgot, many thanks also to @astrandb for this software. I probably wouldn’t have bought a Miele if I couldn’t integrate it into my HA!

You have to enable each of these entities in the settings dialog.
[Design ¡ astrandb/miele Wiki (github.com)](Design ¡ astrandb/miele Wiki ¡ GitHub - bullet 4)

1 Like

sorry, for that question…
maybe it was too late and I had closed my eyes… now looks fine
thx

edit:
Estimated electricity consumption and water consumption are displayed in percent. Is it correct?
Shouldn’t it say liters and KWH?

edit:2
The power consumption display seems to be working.
Unfortunately I cannot select any programs.
Do I have to enter something in the yaml files?
Do you have to make more adjustments so that you can control the washing machine completely via HA (at least what the Miele API allows) but also program selection, extras and whatever you want to set, such as temperature or spin speed. I think that is
possible, right?

Did you find an example solution to your question? I would be interested in that too

Active control over the appliances is very limited via the 3rd-party API (partially because some settings/actions are not supported at all and partially because that are theoretically available are either quite finicky when they are supported or plain broken).

I don’t know if it’s Miele’s fault or not?
When I look at reports from Miele@home with Loxone it seems to work better there, right? I think they are a bit further or am I mistaken? If you look at home@connect from the other manufacturers who also work with an API then it works to some extent, right? Shouldn’t you contact Miele together to get to the bottom of the problem? I think quite a few who can afford a smart home and possibly with KNX would be happy if they could easily integrate their Miele devices with an API. I think they haven’t really made that clear to Miele yet.

Are these statements or questions? If they are statements, please create a PR or at least an issue with the relevant technical information on GitHub. If they are questions, you might want to tone down the passive-aggressive entitlement.

This should not be taken as aggressive criticism.
I’m glad if such help exists at all, but somehow everything doesn’t seem to work so smoothly.

edit:

My criticism was more towards Miele because they don’t document their API in a very user-friendly way and probably some of the functions in the Miele app don’t work with the API. I don’t think it’s possible to query the remaining amount from TwinDos via the API

Yes, unfortunately the Miele 3rd-party API does not have feature parity with their internal API (and even features that are there don’t work for some devices - for example, my washing machine always displays 0 for water and electricity usage).

if i kinow that all before, i’m not sure if i buy again Miele…if miele so bad support that, then i buy for then next appartment other machines

Now that I get most of the washing machine’s status information from @astrandb library, which is great, I’m now wondering how to get all the ID*s or parameters for the many settings?

On the Miele API page I don’t actually see anything that applies exactly to my washing machine.

I tried to set the washing machine’s programs with Node-Red but that doesn’t work because the ID doesn’t match

{
“programId” = 4
}
“http error: Device doesn’t support that action”

if i get all Informations about the washmachine, that i get all,
what are swids actually?

Unfortunately I don’t see any programs or extra programs there either