astrandb / miele

A modern integration for Miele devices in Home Assistant
MIT License
205 stars 31 forks source link

Miele dishwasher incomplete time information #311

Open mad-scientist opened 1 year ago

mad-scientist commented 1 year ago

The problem

My dishwasher G7565 is showing incomplete time information for some programs. The program Normal / 60 °C only shows the remaining duration and end time, but not the starting time and elapsed time.

Does this mean the data is just not supplied by the appliance, or could it be a bug in the integration?

I have attached the diagnostic report.

Cheers, Florian

Version of miele integration having the issue?

0.1.14

Version of Home Assistant Core having the issue?

2023.8.4

Anything in the logs that might be useful for us?

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.8.4",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.4",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.1.21-v8",
    "supervisor": "2023.08.1",
    "host_os": "Home Assistant OS 10.5",
    "docker_version": "23.0.6",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "miele": {
      "version": "0.1.14",
      "requirements": [
        "flatdict==4.0.1",
        "pymiele==0.1.6"
      ]
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.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.14",
    "zeroconf": [],
    "is_built_in": false
  },
  "data": {
    "info": {
      "manufacturer": "Miele",
      "model": "G7565"
    },
    "data": {
      "ident|type|key_localized": "Device type",
      "ident|type|value_raw": 7,
      "ident|type|value_localized": "Dishwasher",
      "ident|deviceName": "",
      "ident|protocolVersion": 4,
      "ident|deviceIdentLabel|fabNumber": "**REDACTED**",
      "ident|deviceIdentLabel|fabIndex": "64",
      "ident|deviceIdentLabel|techType": "G7565",
      "ident|deviceIdentLabel|matNumber": "10992350",
      "ident|deviceIdentLabel|swids|0": "4551",
      "ident|deviceIdentLabel|swids|1": "20492",
      "ident|deviceIdentLabel|swids|2": "25166",
      "ident|deviceIdentLabel|swids|3": "4465",
      "ident|deviceIdentLabel|swids|4": "4466",
      "ident|deviceIdentLabel|swids|5": "4459",
      "ident|deviceIdentLabel|swids|6": "20366",
      "ident|deviceIdentLabel|swids|7": "4552",
      "ident|deviceIdentLabel|swids|8": "20475",
      "ident|deviceIdentLabel|swids|9": "25266",
      "ident|xkmIdentLabel|techType": "EK037",
      "ident|xkmIdentLabel|releaseVersion": "03.94",
      "state|ProgramID|value_raw": 5,
      "state|ProgramID|value_localized": "Normal",
      "state|ProgramID|key_localized": "Program name",
      "state|status|value_raw": 5,
      "state|status|value_localized": "In use",
      "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": 1798,
      "state|programPhase|value_localized": "Final rinse",
      "state|programPhase|key_localized": "Program phase",
      "state|remainingTime|0": 0,
      "state|remainingTime|1": 44,
      "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": 2,
      "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": 10.0,
      "state|ecoFeedback|currentEnergyConsumption|unit": "kWh",
      "state|ecoFeedback|currentEnergyConsumption|value": 0.8,
      "state|ecoFeedback|waterForecast": 0.4,
      "state|ecoFeedback|energyForecast": 0.5,
      "state|batteryLevel": null
    },
    "actions": {
      "processAction": [
        2,
        3
      ],
      "light": [
        1
      ],
      "ambientLight": [],
      "startTime": [],
      "ventilationStep": [],
      "programId": [],
      "targetTemperature": [],
      "deviceName": true,
      "powerOn": false,
      "powerOff": true,
      "colors": [],
      "modes": [],
      "runOnTime": []
    },
    "programs": {
      "httpStatus": 400
    },
    "id_log": [],
    "local_mappings": {}
  }
}

Additional information

No response

astrandb commented 1 year ago

This is a malfunction in Miele's end. The API is not reporting a valid time for startTime.

      "state|remainingTime|0": 0,
      "state|remainingTime|1": 44,
      "state|startTime|0": 0,
      "state|startTime|1": 0,

Nothing we can do about it in the integration.