Miele Cloud-binding

Hi @BjoernLange,
Sorry for pushing on this but you undoubtly realized that I’m very passionate about these features that I like a lot in my daily usage of the Miele devices :slight_smile:
What is the status regarding the TwinDos / AutoDos feature requests?

Besides the general value of being able to manage your consumables in a Smart Setup, these great features are main differentiators and key drivers why people buy Miele products. It would be a bit disappointing not to have them covered by a Miele smart solution.

1 Like

I’m happy to announce that we released a the beta.3 version and opened the PR for the official contribution of the binding today. Unfortunately we do not consider the openHAB 3.0 version of our binding stable with the latest milestone build 3.0.0.M3. Because of this, we have not provided a beta version targeting openHAB 3.0 yet. We hope that we can provide a beta version which we consider stable once the next milestone build is released.

The release notes explain how to migrate from an earlier version. With this release we drop the recommendation to use UI configuration (e.g. with the PaperUI) over .things-file based configuration because we finally dropped the accessToken configuration parameter in favor of a read-only property.

The development team again wants to thank all participants of the beta for testing and their valuable feedback. We hope that we are providing a binding that is a valuable extension to the openHAB ecosystem.

2 Likes

I’m happy to announce that we released version beta.4 today. This is the first version targeting openHAB 3.0, it does not work with openHAB 2.5.x. Milestone build 3.0.0.M4 is required to run the binding, it is not stable on 3.0.0.M3 or earlier!

For migration from beta.3 and openHAB 2.5.x to beta.4 and openHAB 3.0, we recommend to set up a new bridge with the configuration UI and then continue depending on your prior configuration. If you were using UI-based configuration and want to continue to do so you will likely need to reconfigure all things, items and channel links. If you were using .things-file based configuration then you may continue using your configuration files.

1 Like

Hi @BjoernLange,
Thank you for the binding!

Can you tell me if you have any plans for the 3rd party API to be able to select a specific program for ovens like it’s possible to do in the app? Any roadmap that can be shared?

Hi,

I wanted to define a rule that calculates the end time of the cycle based on the current time + the program remaining time. The appliance is a washing machine.

My idea was the following, item wm_endzeit should give the estimated end time:

wm_endzeit.postUpdate(new DateTime((now.millis) + (wm_program_remaining_time.state as Number) * 1000).toString)

However, this does not work, in the log file I can see the following error: No instant converter found for type: java.math.BigDecimal

I am using openHAB 2.5.

What do I do wrong? Any help is highly appreciated!

THX!
NP

Hi @np123 . I posted the answer for you in a separate topic because I’ve been asked this question in private messages before and to keep this thread on topic. – Jens.

Thanks for your contribution of this binding! It’s installed and running well. I’m happy to finally have my dishwasher integrated into openHAB!

I left a few review comments on the PR related to logging at info level versus debug level. In general, logging of normal operational behavior should be done at debug level, not info level. At info level, the binding currently spams the openhab log file with lots of log messages.

2 Likes

Thanks for the great work from this side as well. I can confirm that a KFN 37432 iD Fridge Freezer can read these data points: info state, door state, door alarm state, fridge setpoint, freezer setpoint, fridge current temp, freezer current temp and can read and write the super freeze, super chill states for the freezer and fridge.

@BjoernLangeI tried to install the binding. API registration is done, but OH is not able to load the binding, because of the missing oauth2 feature:

2021-01-10 00:17:14.367 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.mielecloud-1.0.0-beta.4.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.mielecloud [323]
  Unresolved requirement: Import-Package: org.openhab.core.auth.client.oauth2

Which feature:install is required? (I have not installed myopenhab.org support)
I need the name of the dependency you added to feature.xml

Are there plans to share the binding code? It’s very unusual to have closed source bindings.

Hi,

The beta4 of the miele binding is intended ONLY for OH 3.x !

Use beta3 if you are on OH 2.5 (your directory naming /usr/share/openhab2/addons… shows that you are not using OH3.0.

Best regards
Stefan

hmm, may opinion: way to early, but I try beta 3. That means that the binding will not become available for OH 2.5?

It’s possible to have the source code compatible for both build environments. That’s what I do with Shelly, MagentaTV and GREE versions of the binding. A script copies between both build directory and does the find&replace on the namespaces. This caused a one-time effort.

I think it’s to early to focus on OH3 for bindings even new ones, bvecause > 90% of the people with stay on 2.5 for a while (6 month) before moving to OH3. Like me: of course I’m playing with it, but my prod environment stays on 2.5, because it’s a lot of effort transforming to a new environment given one grown over the last 2 years.

I’ll try beta 3.

I’m still struggeling with the setup.

  • The binding jar was copied to the addons folder and shows up under bundle:list
  • I added a thing for an Overn, locale=de
  • I launched 127.0.0.1:8080/mielecloud entered clientid and secret
  • I used the last 8 digits of the bridge Id and “Miele Deutschland”
  • I’m entering the same credentials as I used in the App
  • and get a “Kontoverknüpfung fehlgeschlagen” (unable to link account)

I already tried to change my password, so I’m sure I use the correct credentials. I also tried to remove the + sign from my password (requires URL encoding), but also doesn’t work. I enabled DEBUG on the OH console “log:set DEBUG org.openhab.binding.mielecloud”, but see no output in log:tail.

Any idea?

Hi, just to keep the info flowing I did get beta 3 working in 2.3, but moved to OH3 as I wanted the latest Rev of the binding. From memory I had to use incognito mode in chrome on a mac with 2.3, as I did get some strange issues. Worst case reset password, reboot openHAB, and try in incognito mode. It took me a few attempts but I got there in the end on that Rev.

Also they have opened the source I miss-understood that, have a look on this new feature request here: Feature request: Implement target temperature actions for type=21 · Issue #17 · BjoernLange/openhab-miele-cloud-binding-beta · GitHub

It has links to the source code, and the PR it’s currently undergoing to get into the main repo’s.

@markus7017: See above :slight_smile:

maybe I’m dumb, but that’s my situation

Bildschirmfoto 2021-01-10 um 19.52.12

@dagoodyear still having problems

Hi, No more than likely not being dumb - I had to lose a bit of time initially with it. The problem is I don’t want to upset my setup - just in case there’s some temporary auth issue at Miele (so I dare not remove to attempt to re-setup just in case). Can you login to the Miele @ home app using the same credentials successfully? I cant remember if I checked whether they worked on the app or using the Miele web pages. Either-way I couldn’t login and had to reset, and then checked they worked either in the ios (Miele @ Home) App / web pages? Just to rule out any credential issues. Other than that - the other steps I do remember having to do in the end I mentioned above when on 2.3. The beta4 appeared to be improved regarding this initial oauth setup, but by the sounds of it OH3 isn’t an option yet for you. (Im still reconfiguring bug’s out of it now since the migration).

Obviously I used the same email as I used for the Miele app - that has in my case the fridge bound to it, for when I got the details from the Miele developer portal. Just in case you have not done that - it may be another thing to rule out? As silly as a suggestion as it is - I’d probably double check those credential’s again, first in the App and website to check you have the account with your appliance linked to it. I do remember having to reset - and confirmed they worked I think via the app before attempting to re-link OH to the Miele services.

@markus7017

I tried the same credentials as in the Miele iOS App. I also logged out and in in the App and that worked. So I tried the correct password.

I there any kund of debug I could activate

Anyone else running beta 3 on OH 2.5.11?

Hi @markus7017,

As @demlstda pointed out, beta.4 requires openHAB version 3.0.0.M4 or later. Use beta.3 if you want to stick with openHAB 2.5.x.

The binding is not closed source and our goal was contributing to the official openHAB repos from the beginning. As @dagoodyear pointed out, the code targeting openHAB 3 is currently under review for integration into the official openHAB repos. I recently added links to the source code for openHAB 3.0 to the README of the beta repository. We did not make the code for openHAB 2.5.x open source because we assumed that it wouldn’t provide additional value.

beta.3 targets openHAB 2.5.x and there is almost no difference compared to beta.4 (and the version we are contributing to the official repos). More details can be found in the release notes.

That’s not quite right. You are right that having the binding code compile against 2.5.x and 3.0 requires replacements of imports. Additional changes are required when using 3rd party libraries or when using openHAB APIs that changed.

We don’t use 3rd party libraries in the binding code but heavily use JUnit in the test code (we have about 720 tests!). openHAB 2.5.x uses JUnit 4 while openHAB 3 uses JUnit 5 and they have some delicate differences that require a more complex migration than simple search & replace, I won’t go into more detail here as it would become increasingly technological. It boils down to this: Support two versions and drop the tests for one, making it possibly break without us noticing, or only support one well-tested version. We prefer the latter.

Additionally, we use some of the changed APIs in the backend of the configuration UI, see here for details (last paragraph).

On top, the review queue for integration into the official repos is quite long. Thus, we assume that most people will move on to openHAB 3.0 before additional features will be added.

Sad to hear that and sorry for the inconvenience, it should work out of the box. The binding version should also have no effect on this.

There aren’t any logs because authentication with the Miele Cloud service is performed externally via OAuth2 in the Miele cloud, this is comparable to “Log in with Google/Facebook/etc.”.
Thus the binding does not know your credentials and has nothing to do with whatever needs to happen in the Miele cloud to make things work. This also means that the binding doesn’t know that the authentication failed.

I had this problem once during testing. It was caused by a temporary outage in the Miele cloud so I suggest to try again later. I will make Miele aware of this problem and hope they fix it soon.

1 Like
  • I already tried 15 times with delays in between (e.g. yesterday evening, this morning)
  • I recreated the thing, rebooted OH
  • Changed my password multiple times in the iOS App, also making sure having the correct credentials for the pairing

all of that doesn’t fix the problem.

with regards to the setup

  • you can get the configured locale from the OH settings. Maybe it sense to use this as a default = the user could leave it empty to use the default setting

Get a new pair of client id and client secret!

Best regards
Stefan

Could I repeat the registration or how to achieve that?