Open sirupflex opened 4 years ago
Thank you for your report!
I think this issue might be related to Miele's 3rd party cloud service as the binding does not map program names. It just passes on the localized values from the cloud. To verify this please follow the steps below (as you use docker I assume you are familiar with the linux terminal):
accessToken
from the account / bridge configuration, it is shown in the Paper UI in the thing edit view or listed in your .things
file.mielecloud:dishwasher:1234
then it is 1234
(it's always the number part or starts with mac-
for older devices).<deviceID>
and <accessToken>
with the values obtained in step 1 and 2):
curl --location --request GET 'https://api.mcs3.miele.com/v1/devices/<device ID>/state?language=en' --header 'Content-Type: application/json; charset=utf-8' --header ': ' --header 'Authorization: Bearer <accessToken>'
Hi Bjoern, I did as you instructed, hopefully correctly. Selected the program "Auto" from the dishwasher and executed the command. This is the output:
{"ProgramID":{"value_raw":6,"value_localized":"","key_localized":"Program Id"},"status":{"value_raw":3,"value_localized":"Program selected","key_localized":"State"},"programType":{"value_raw":0,"value_localized":"Operation mode","key_localized":"Program type"},"programPhase":{"value_raw":1792,"value_localized":"","key_localized":"Phase"},"remainingTime":[2,39],"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":false},"light":0,"elapsedTime":[0,0],"spinningSpeed":{"unit":"rpm","value_raw":null,"value_localized":null,"key_localized":"Spinning Speed"},"dryingStep":{"value_raw":null,"value_localized":"","key_localized":"Drying level"},"ventilationStep":{"value_raw":null,"value_localized":"","key_localized":"Power Level"},"plateStep":[]}
Thank you @sirupflex for providing the output. The problem is indeed a cloud side one:
"ProgramID": {
"value_raw": 6,
"value_localized": "", // No text given here
"key_localized": "Program Id"
}
Miele confirmed that they have localization issues and are working on a solution. However, it may take some time until this is fixed.
This also affects the dishwasher G7365 as reported by @sn0west (#7). In that case even wrong program names were given.
Thank you for the confirmation @BjoernLange . Just to manage expectations, when you said "However, it may take some time until this is fixed.", what is usually a rough magnitude to get such things fixed in the Cloud API? Days, weeks, months, longer? Just to avoid bothering you every day when it's e.g. know to take months.
@sirupflex: We had a meeting with Miele and their rough estimate is to have the fixed cloud version live at the end of the year, probably in December.
@BjoernLange, thank you very much for providing a rough timeframe, appreciated. I hope the around-end-of-year cloud version will fix all missing data channels reported here, would be great.
Expected Behavior
When turning on the dishwasher and selecting a program (not yet starting the program), I expect to see the selected program name in the program_active channel.
Actual Behavior
When turning on the dishwasher and selecting a program (not yet starting the program), I see the program name in the program_active channel for some programs (e.g. Eco, Intensive) but not for others. E.g. when selecting the "Auto" or "QuickPowerWash" program, the program_active does not seem to contain any name.
Environment
Steps to Reproduce
Possible Solution
I guess not all programs are mapped in the channel yet, i.e. please map all programs so they are reflected in the channel (?)
Additional information
none