Miele@home, miele@mobile component

I can’t say for sure what your issue is, but you can start by verifying that you’re using the correct credentials by going to https://www.miele.com/developer/swagger-ui/swagger.html and clicking Authorize.

Use the OAuth2 form to submit your client ID and client secret.

You will then be sent to a Miele login page. Enter your regular Miele credentials and select your country, and click Submit.

If you get an error message, or is just sent back to the login screen, something is wrong with your credentials or on their side, which it was for me last week.

If you are instead sent back to the OAuth2 form looking like this, you know that you have the correct token and credentials.

1 Like

Thank you very much. This was the trick. It works now!

Maybe it was my AdBlocker in connection to the coockies. I tried it with IE too and there it run instantly.

You are looking at the original repo. You should be able to do a PR to my fork without a problem. Again this can be found here : https://github.com/HomeAssistant-Mods/home-assistant-miele

I am currently in the process to get this repo default in HACS. I’m only waiting now for homeassistant to accept my Brands and Wheels PR and we should be good to go :smiley:

What machine you actually need implementation for? I might be able to implement it next week :wink: !

Best thing is to create an issue at github over at : https://github.com/HomeAssistant-Mods/home-assistant-miele this way I can keep the issue tracking centralized.

Sounds very good. I have a DA 2668 Ventilator/extractor hood, I have other Miele ovens and such as well, but the usefulness there is a bit more gimmicky, being able to turn on and adjust the ventilator with wall switches and automations is actually quite useful. I am pretty shit at programing, but if i can help otherwise with the implementation, for instance with testing things, let me know.

If you want to control the hood I think we should implement it as a fan and a seperate light.

Your hood should be capable off :

IDENT
type
deviceName
deviceIdentLabel
xkmIdentLabel

STATE
status
signalInfo
signalFailure
remoteEnable
ventilationStep
ACTIONS
processAction
light
ventilationStep
deviceName
powerOn
powerOff
colors

According to the Miele API. The Power on and off and ventilation speed can all be controlled from a home assistant fan component. I’ll see if I can get this to work. I assume this is your main goal?

I created an experimental support for your hood. It can be found here: https://github.com/HomeAssistant-Mods/home-assistant-miele/tree/dev Can you try that? Or if you prefer send me the client_id and client_secret and I can test it overhere ;-)!

I tried it, but I don’t seem to get a fan entity at all. Not sure if HACS maybe causes some trouble if it is installed manually? (I just copied over the folder to my custom component folder) HACS says “You are running version 3848ce2, version 94eb17d is available”

Hi there,

I tried the new integration, but I don’t get entites for the remaining time.
Is there something wront or am I looking at the wrong spot…?

here is the dishwasher:


{
  "000105104xxx": {
    "ident": {
      "type": {
        "key_localized": "Gerätetyp",
        "value_raw": 7,
        "value_localized": "Geschirrspüler"
      },
      "deviceName": "",
      "deviceIdentLabel": {
        "fabNumber": "000105104xxx",
        "fabIndex": "64",
        "techType": "G7565",
        "matNumber": "10992350",
        "swids": [
          "4921",
          "20492",
          "25166",
          "4465",
          "25318",
          "4928",
          "20475",
          "25266",
          "4875",
          "20366",
          "20462"
        ]
      },
      "xkmIdentLabel": {
        "techType": "EK037",
        "releaseVersion": "03.65"
      }
    },
    "state": {
      "ProgramID": {
        "value_raw": 1,
        "value_localized": "Intensiv",
        "key_localized": "Programmbezeichnung"
      },
      "status": {
        "value_raw": 5,
        "value_localized": "In Betrieb",
        "key_localized": "Status"
      },
      "programType": {
        "value_raw": 0,
        "value_localized": "Programm",
        "key_localized": "Programmart"
      },
      "programPhase": {
        "value_raw": 1795,
        "value_localized": "Reinigen",
        "key_localized": "Programmphase"
      },
      ***"remainingTime": [***
***        2,***
***        24***
***      ],***
      "startTime": [
        0,
        0
      ],
      "targetTemperature": [
        {
          "value_raw": -32768,
          "value_localized": null,
          "unit": "Celsius"
        },
        {
          "value_raw": -32768,
          "value_localized": null,
          "unit": "Celsius"
        },
        {
          "value_raw": -32768,
          "value_localized": null,
          "unit": "Celsius"
        }
      ],
      "temperature": [
        {
          "value_raw": -32768,
          "value_localized": null,
          "unit": "Celsius"
        },
        {
          "value_raw": -32768,
          "value_localized": null,
          "unit": "Celsius"
        },
        {
          "value_raw": -32768,
          "value_localized": null,
          "unit": "Celsius"
        }
      ],
      "signalInfo": false,
      "signalFailure": false,
      "signalDoor": false,
      "remoteEnable": {
        "fullRemoteControl": true,
        "smartGrid": false,
        "mobileStart": true
      },
      "light": 2,
      "elapsedTime": [
        0,
        0
      ],
      "spinningSpeed": {
        "unit": "U/min",
        "value_raw": null,
        "value_localized": null,
        "key_localized": "Schleuderdrehzahl"
      },
      "dryingStep": {
        "value_raw": null,
        "value_localized": "",
        "key_localized": "Trockenstufe"
      },
      "ventilationStep": {
        "value_raw": null,
        "value_localized": "",
        "key_localized": "Lüfterstufe"
      },
      "plateStep": [],
      "ecoFeedback": {
        "currentWaterConsumption": {
          "unit": "l",
          "value": 4
        },
        "currentEnergyConsumption": {
          "unit": "kWh",
          "value": 0.3
        },
        "waterForecast": 0.5,
        "energyForecast": 0.7
      },
      "batteryLevel": null
    }
  }
...

configuration.yaml:
miele:

    client_id: 7cc5649a-af44-4ee3-bf74-b0axxxxxxxxx
    client_secret: pZdgX2qXQo2MmXExL3aDSR7bTTxxxxxxxxx
    language: de

Log:

2020-11-30 15:21:34 INFO (MainThread) [custom_components.miele.config_flow] Successfully authenticated
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.miele
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up binary_sensor.miele
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_program_id
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_elapsed
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_finish_time
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_light
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_program_phase
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_program_type
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_spinning_speed
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX_start
2020-11-30 15:21:34 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.miele entity: sensor.dishwasher_000105104XXX
2020-11-30 15:21:35 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.miele entity: binary_sensor.dishwasher_000105104XXX_full_remote_control
2020-11-30 15:21:35 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.miele entity: binary_sensor.dishwasher_000105104XXX_signal_door
2020-11-30 15:21:35 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.miele entity: binary_sensor.dishwasher_000105104XXX_signal_failure
2020-11-30 15:21:35 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.miele entity: binary_sensor.dishwasher_000105104XXX_signal_info

I posted an issue at github.

Regards,

Sebastian

I have tried the new fan integration. The seems to be quite close to working. My observations:

The fan entity will update its status (on or off) according to the actual status of the fan. (although the miele app has three modes, “off, on and ventilation”, it is on when the inbuilt light is on, and ventilation is off, this is counted as on by the new fan component).

If i go into devoloper tools - states, everything looks right to me:

The speed list seems right, 0 is off, and 4 is boost, and 1, 2, 3 corresponds to the actual setting of the fan and in the app.

However, controlling the fan seems not to work.

Tried the following

- alias: 'fan kitchen
  trigger:
    - platform: state
      entity_id: binary_sensor.kjokken_vindu_lb
      to: 'on'
  action:
    - service: fan.set_speed
      data:
        entity_id: fan.ventilation_hood
        speed: 2

And the fan doesn’t change, furthermore, not sure if the integration si the reason, but after I try that the whole UI seems to get unresponsible, I cant see my lovelace and so on, and have to restart the whoel server.

Hi,

you have been a little too fast with the testing. I have finished programming the fan entity around midnight CET. So roughly 2 hours later than your post. Could you please try again?

One downside currently is that miele doesn’t return the amount of supported suction settings. So I hardcoded 0,1,2,3,4 currently (0 is off). But we might need to keep track of the amount of supported settings manually per hood type.

Thanks, I just did a very quick preliminary test now, and it does seem to work, thanks a lot! I will do some more testing when i get home from work again.

Hopefully all the hood types have the same settings, since they don’t return info about that, but I don’t really know.

I have done more testing, the fan-part seems to work fine, thanks a lot for the great work!

Hello and thanks for maintaining this component. Works well with my washer and dryer. Two questions:

  • I see that only de and en are supported as languages. Which file should I look for to add my own translation?
  • Would it be possible to add sensors for consumables? I’ve described it here.

Thx for proving this Miele integration home-assistant-miele . Worked right away with my dishwasher G6865.
There was no need to manually install requests_oauthlib. Looks like this is part of the HA standard now.

I needed to reauthenticate today.
My token was expired.
Is this necessary every month?

It happens sometimes. I don’t know why.

Hi,
I installed this component, but now the token is expired.

How I can renew the token?

Thanks
Luca

In the config directory there’s a file called ‘.miele-token cache’.
Delete it and restart HA.

1 Like