astrandb / miele

A modern integration for Miele devices in Home Assistant
MIT License
195 stars 29 forks source link

Start button not available #323

Open Trimmy007 opened 1 year ago

Trimmy007 commented 1 year ago

The problem

Dear all, I have some issue to start my Miele dishwasher via the entity Dishwasher start. Via the smartphone app from Miele this is possibe. If I power the dishwasher via the smartphone application, the after that a button is visible where I can push and start the diswasher.

It is necessary to activate the feature mobile start to use that functionality and I did actiuvate this feature:

The status of enity Dishwasher Mobiler Start and Mobile Start is activated!

If I try to power the Dishwasher via HA entity (switch.dishwasher_eingeschaltet), then this switch goes directly back to of and the entity (button.dishwasher_start) is shown but is is not activated (symbol is grey).

So what is the reason for that, what is necessary to control the dishwasher via Home Assistant entities? Miele02 WhatsApp Bild 2023-09-15 um 12 24 39

Version of miele integration having the issue?

G7160

Version of Home Assistant Core having the issue?

2023.9.2

Anything in the logs that might be useful for us?

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.9.2",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.1.45",
    "supervisor": "2023.09.2",
    "host_os": "Home Assistant OS 10.5",
    "docker_version": "23.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "waste_collection_schedule": {
      "version": "1.42.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4"
      ]
    },
    "dyson_local": {
      "version": "0.16.4-4",
      "requirements": [
        "libdyson==0.8.11"
      ]
    },
    "frigate": {
      "version": "4.0.0",
      "requirements": [
        "pytz==2022.7"
      ]
    },
    "homematicip_local": {
      "version": "1.41.0",
      "requirements": [
        "hahomematic==2023.9.0"
      ]
    },
    "alexa_media": {
      "version": "4.6.5",
      "requirements": [
        "alexapy==1.26.8",
        "packaging>=20.3",
        "wrapt>=1.12.1"
      ]
    },
    "icloud3": {
      "version": "3.0",
      "requirements": []
    },
    "miele": {
      "version": "0.1.15",
      "requirements": [
        "flatdict==4.0.1",
        "pymiele==0.1.6"
      ]
    },
    "dyson_cloud": {
      "version": "0.15.0",
      "requirements": [
        "libdyson==0.8.7"
      ]
    },
    "landroid_cloud": {
      "version": "3.1.0b2",
      "requirements": [
        "pyworxcloud==4.0.1"
      ]
    }
  },
  "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.6"
    ],
    "ssdp": [],
    "version": "0.1.15",
    "zeroconf": [],
    "is_built_in": false
  },
  "data": {
    "info": {
      "manufacturer": "Miele",
      "model": "G7160"
    },
    "data": {
      "ident|type|key_localized": "Device type",
      "ident|type|value_raw": 7,
      "ident|type|value_localized": "Dishwasher",
      "ident|deviceName": "K\u00fcchensp\u00fcli",
      "ident|protocolVersion": 4,
      "ident|deviceIdentLabel|fabNumber": "**REDACTED**",
      "ident|deviceIdentLabel|fabIndex": "65",
      "ident|deviceIdentLabel|techType": "G7160",
      "ident|deviceIdentLabel|matNumber": "11509610",
      "ident|deviceIdentLabel|swids|0": "5417",
      "ident|deviceIdentLabel|swids|1": "20527",
      "ident|deviceIdentLabel|swids|2": "25175",
      "ident|deviceIdentLabel|swids|3": "25293",
      "ident|deviceIdentLabel|swids|4": "25372",
      "ident|deviceIdentLabel|swids|5": "4928",
      "ident|deviceIdentLabel|swids|6": "20475",
      "ident|deviceIdentLabel|swids|7": "25266",
      "ident|xkmIdentLabel|techType": "EK057",
      "ident|xkmIdentLabel|releaseVersion": "08.23",
      "state|ProgramID|value_raw": 3,
      "state|ProgramID|value_localized": "ECO",
      "state|ProgramID|key_localized": "Program name",
      "state|status|value_raw": 3,
      "state|status|value_localized": "Programme selected",
      "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": 1792,
      "state|programPhase|value_localized": "",
      "state|programPhase|key_localized": "Program phase",
      "state|remainingTime|0": 3,
      "state|remainingTime|1": 15,
      "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": true,
      "state|ambientLight": null,
      "state|light": null,
      "state|elapsedTime|0": 0,
      "state|elapsedTime|1": 0,
      "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|currentWaterConsumption|unit": "l",
      "state|ecoFeedback|currentWaterConsumption|value": 0.0,
      "state|ecoFeedback|currentEnergyConsumption|unit": "kWh",
      "state|ecoFeedback|currentEnergyConsumption|value": 0.0,
      "state|ecoFeedback|waterForecast": 0.4,
      "state|ecoFeedback|energyForecast": 0.5,
      "state|batteryLevel": null
    },
    "actions": {
      "processAction": [],
      "light": [],
      "ambientLight": [],
      "startTime": [],
      "ventilationStep": [],
      "programId": [],
      "targetTemperature": [],
      "deviceName": true,
      "powerOn": true,
      "powerOff": false,
      "colors": [],
      "modes": [],
      "runOnTime": []
    },
    "programs": [
      {
        "programId": 3,
        "program": "ECO",
        "parameters": {}
      },
      {
        "programId": 6,
        "program": "Auto",
        "parameters": {}
      },
      {
        "programId": 10,
        "program": "Gentle",
        "parameters": {}
      },
      {
        "programId": 13,
        "program": "QuickPowerWash",
        "parameters": {}
      },
      {
        "programId": 1,
        "program": "Intensive",
        "parameters": {}
      },
      {
        "programId": 44,
        "program": "PowerWash",
        "parameters": {}
      },
      {
        "programId": 11,
        "program": "ExtraQuiet",
        "parameters": {}
      },
      {
        "programId": 2,
        "program": "Maintenance programme",
        "parameters": {}
      },
      {
        "programId": 0,
        "program": "",
        "parameters": {}
      },
      {
        "programId": 0,
        "program": "",
        "parameters": {}
      },
      {
        "programId": 0,
        "program": "",
        "parameters": {}
      },
      {
        "programId": 0,
        "program": "",
        "parameters": {}
      },
      {
        "programId": 0,
        "program": "",
        "parameters": {}
      },
      {
        "programId": 0,
        "program": "",
        "parameters": {}
      }
    ],
    "id_log": [],
    "local_mappings": {}
  }
}

Additional information

No response

notimers commented 9 months ago

I Think i have the same issue. I can turn on/off the dishwasher and read sensors from the integration. But the start/stop buttons is always unavailable. I guess the expected behavior is those buttons to become available when the dishwasher is on? The "Mobile start" option is enabled on the dishwasher an I can start/stop it from the Meile Android application.

Diagnostics: miele-Dishwasher.json.txt

astrandb commented 9 months ago

The availability of the on and off buttons is controlled by the API. Currently the API reports:

    "actions": {
      "processAction": [],

The empty processAction list means that the buttons are disabled.

The documentation https://www.miele.com/developer/assets/API_V1.x.x_capabilities_by_device.pdf indicates that dishwashers generally support on/off/pause commands. But please see the notes at the bottom of the page.

The integration checks with the API if the buttons should be available at the moment and flags the availability accordingly.

The 3rd party API is far from perfect and actual support for the features is varying between models and product generations. I have no Miele dishwasher but on my washing machine the HA power switch returns to off if the machine switch is off. If I activate mobile start the HA power switch works as expected.

The integration does it's best with the info from the API.

notimers commented 9 months ago

Thanks for the quick reply :)

So the list of available actions is populated by when receiving the response of the "GET actions" request? If yes, do the integration poll/update this list with some interval or is only called when setting up the integration? The reason I ask is because the the dishwasher was configured to not accept remote start/stop when in installed the integration on HA.

astrandb commented 9 months ago

The available actions are pushed from Miele servers as soon as there is a change of state in any of your devices. It usually updates within fractions of a second. As a backup the endpoint is polled every minute.

rvzanten commented 5 months ago

Expericing the same problem here. It reads all data and i can use the Power On button. But the Start and Stop buttons are greyed out and are set to Unavailable. All functionalities work within the Miele app though. Running: HA 2024.4.1

stormshaker commented 4 months ago

I'm experiencing the same problem, that Start and Stop are unavailable now after Power On, for the Washing Machine and the Dryer, but the Dishwasher is working as expected.

Was working with these appliances at the end of 2023, as I set up and tested the automations after we bought them. I update my HA instance with every release. Currently running HA 2024.5.2.

Debug log is attached, powering on the Washing Machine, wait for the UI to update and then disable Debug logging. Let me know if I can capture more for you.

home-assistant_miele_2024-05-09T22-24-04.118Z.log

stormshaker commented 4 months ago

Disregard. Today the Start buttons were available for both the washing machine and tumble dryer. Possibly the Core update yesterday 2024.5.3, but today available and automation worked as expected.

empx92 commented 3 months ago

I also have the same problem, i set my Maschines in to „smart grid“ and it worked for about one week. I checked back with our technician which told me that smartgrid should it make possible to control like on mobile start. Which as said before worked for about 7 days. Backofen is working fine so there should be no problem with cloud or my api connection.

image

Also the states are updated correct and really fast.

casperleenheer commented 2 weeks ago

The same issue here. Just got my new Miele washing machine. HA 2024.9.2 Miele 2024.8.1 or 2024.9.0b0. Stop and Start buttons are grey. Mobile and Smartgrid are enabled.

UPDATE: If I set Mobile Start knob on my washing machine and press start, then I choose a program, THEN the buttons appear. I guess it is as designed.