Miele@home, miele@mobile component

Thanks for the explanation Åke!
Makes sense now and it is working well.

I run HA on the OVA and its fully updated to latest version, also installed miele from Hacs and put in miele config in my configuration.yaml but no miele integation shows up after restart, nothing i logs at all. I custom components all is in place. Maybe i miss oathlib? but how to intall that on the ova? or maybe its there, i dont konw how to find out.
Update, got to miele page and autorizied the api, but my robot cleaner refuse to show up, also no sing of miele in integrations or in the logs

You must add the integration from Settings->Integrations. You may have to clear the browser cache also to make Miele appear in the list.

Took new browser and it did the trick, still not showinig in integrations but device is present
Thanks!

It shows up only as a entity and not as a device. Strange, have no idea how to get it to vacum my house from HA

Hi everyone,

we have recently noticed that some Miele dryers apparently use some program IDs differently from the information we have gathered from the internet. (If it is indeed so, this has some unfortunate implications for how we handle program IDs in the new integration.)

Everyone who has a standalone dryer, can you please try to gather a list of program IDs to (English) name mappings, either from Miele’s Swagger UI (which unfortunately does not work for all devices) or from logging program ID changes via the HA integration and selecting all programs via the interface of your machine?

Information we need:

  • The device type of your dryer (e.g. TCR790WP )
  • A table/list of program IDs to program names, e.g:
    • 1: Automatic
    • 2: Cottons

I tried to get all programmes from my Miele TSL 783 WP EcoSpeed & Steam dryer.

So here we go:

  • TSL783WP
  • 1 | {‘Raw value’: 1, ‘Localized’: ‘Automatic plus’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 2 | {‘Raw value’: 2, ‘Localized’: ‘Cottons’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 3 | {‘Raw value’: 3, ‘Localized’: ‘Minimum iron’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 4 | {‘Raw value’: 4, ‘Localized’: ‘Woollens handcare’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 5 | {‘Raw value’: 5, ‘Localized’: ‘Delicates’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 6 | {‘Raw value’: 6, ‘Localized’: ‘Warm air’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 7 | {‘Raw value’: 7, ‘Localized’: ‘Cool air’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 8 | {‘Raw value’: 8, ‘Localized’: ‘Express’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 9 | {‘Raw value’: 9, ‘Localized’: 'Cottons ', ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • automatic_plus | {‘Raw value’: 10, ‘Localized’: ‘Pre-ironing’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 12 | {‘Raw value’: 12, ‘Localized’: ‘Proofing’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 13 | {‘Raw value’: 13, ‘Localized’: ‘Denim’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 14 | {‘Raw value’: 14, ‘Localized’: ‘Shirts’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 15 | {‘Raw value’: 15, ‘Localized’: ‘Sportswear’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 16 | {‘Raw value’: 16, ‘Localized’: ‘Outerwear’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 17 | {‘Raw value’: 17, ‘Localized’: ‘Silks handcare’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 19 | {‘Raw value’: 19, ‘Localized’: ‘Standard pillows’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 22 | {‘Raw value’: 22, ‘Localized’: ‘Basket programme’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • 24 | {‘Raw value’: 24, ‘Localized’: ‘Steam care’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}
  • gentle_minimum_iron | {‘Raw value’: 31, ‘Localized’: ‘Bed linen’, ‘device_class’: ‘miele__state_program_id’, ‘icon’: ‘mdi:state-machine’, ‘friendly_name’: ‘Tumble dryer Program’}

I don’t think the wash2dry or mobile start triggered the log as is probably expected?
Also worth to mention that the IDs 6, 16, 12, 8, 15, 1, 19, 22, 17, 13 and 7 were under the “extra functions/settings” menu (in that order).

Hope this helps you!

1 Like

So I’ve installed the integration and it seems to be working OK. I can see the status of my WCI660 washing machine, I can power it on and off and I can even stop a wash programme.

However, I am having real problems with starting a wash or setting a start time - which is surely the most useful function to be able to trigger, e.g. when solar PV generation is high.

Start programme in 1 hour:

service: miele.action
data:
entity_id: miele.washing_machine
body:
startTime: [1,0]

results in:

{‘code’: 400, ‘message’: ‘GENERIC_BUSINESS_ERROR’}

Trying to start a wash, after dialling in program and getting everything ready to go, but stopping short of pressing the Start button:

service: miele.action
data:
entity_id: miele.washing_machine
body:
processAction: 1

results in:

{‘code’: 400, ‘message’: ‘That action is not available right now.’}

Anyone come across this or have any idea where I am going wrong?

This is a topic where the documentation from Miele is minimal, so it is necessary to experiment a bit.
If you could capture a diagnostic download just before or after pressing the start button it should perhaps be possible to understand why the command is not available.

1 Like

In the Miele app, I can see salt level and rinse aid level for my dishwasher. However when I browse the API via the swagger UI, I can’t seem to find this information. Do you know how to retrieve it, and perhaps integrate it with HA using this integration?
Thanks.

Your findings are correct. The internal API that Miele use for their app is much more developed than the public third party API. I think this is unfortunate.

Oh really - I thought the app was using the same API. But okay, that explains it then. Thank you.

i also tried to start my device remotely.
I found out that using PUT programs → {“programId”: 3} statement at least my dishwasher starts working.
So my workaround is using the RESTful feature of Homeassistant:
image
is there a better way to trigger programs?
the integration gives me only the miele.action option to start actions

Hello, i hav tried everything i could think of/read but cant get this intrigation to work. I get an autentication failure always when trying to configure the entity. How do i live read the log for this itegrity alone?
New HA user coming from OH after 6 years. Thanks

Welcome to HA. Made the switch from OH 9 month ago and things are getting clearer.

You should give us some more information. How does your configuration looks like, what is exactly the error message. …

@astrandb Thanks so much for writing this integration! I was wondering, the “old” integration allowed for the EcoFeedback sensor which provided an energy consumption sensor and water consumption sensor. Would it be possible to enable this in your integration as well please?

Also, the program sensor is returning the number ID of the program rather than the name in some instances. Any chance of converting this to plain text? Some of the attributes list the correct name under localized value, but it isn’t displayed as such, only the raw program ID value.

Here are the ID’s to name based on my G7969 model.

Auto - 7
Eco - 22
Gentle - 10 - shows correctly as Gentle
Extra Quiet - 11 - shows correctly as Extra Quiet
Power Wash 60degC - 44 - incorrectly shows as Glasses Warm
Quick Power Wash - 13 - correctly shows as Quick Power Wash
Tall Items - 17
Hygiene - 7
Intensive - 1 - correctly shows as Intensive
Solar Save - 9 - correctly shows as Solar Save
Pasta / Paella - 14
Glasses - 19
maintenance programme - 2 - shows correctly as maintenance program

Thanks again

1 Like

Uh. I thought we only had this problem with newer generation dryers. Not good.

Thank you for your report.
Sensors for energy and water consumption need to be enabled manually in Home Assistant after first installation. Look at the device page/diagnostics for your dishwasher.
The mapping of program codes to clear text is a challenge because Miele does not document it publicly and sometimes one numeric code can mean different things on different models. We rely on reports from users like you in order to improve the integration. We will have a look to see if there is an easy fix.

2 Likes

Thanks for the suggestion, you’re right the consumption sensors were present, just disabled.

Please let me know if there’s anything I can do to help with the program codes. Thanks again for your work on this, it’s very much appreciated!

New to Home assistant and the Miele ecosystem.
I managed to get the entities working, but I don’t see a device or Miele integration. Is that correct?
I already tried to empty the browser cache and restart HA, but no luck.

Any advice?

Edit: Thanks for your work on this!