Miele Cloud-binding

Great. Thanks for you work and I will test it a soon is avaible.

We are happy to announce that the open beta starts today!

We set up a GitHub repository containing the compiled binding, documentation and issue tracker here. The binding can be downloaded from the releases page. For information concerning the binding installation, consult the installation instructions for manually provided add-ons in the openHAB documentation.

If you have a question regarding usage of the binding, please post it in this thread. If you encounter a bug or have a feature request, please open an issue on GitHub. We will make the source code public once we open the PR to the openhab-addons repository.

The binding is almost feature complete with respect to the planned features mentioned in @BertP’s first post. The development will thus focus on fixing bugs and implementing planned features that are not available yet. This means that we accept feature requests via the issue tracker but cannot guarantee to work on implementing them.

In the coming weeks, we will collect your feedback, fix bugs and implement remaining features. There will be new beta versions on an irregular basis. I will post in this thread whenever a new version is released. We plan on opening the PR to the openhab-addons repository in about two to three months. This schedule may change depending on your feedback and the number of bugs that we missed during testing with openHAB 2.5.x.

Regards,
Bert, Martin, Ben and Björn

6 Likes

Fantastic news, I was afraid that the project got buried by Miele. Thanks for keeping us in the loop @BjoernLange, happy to participate in the open beta and to report back.

Quick first feedback: Installing the binding and pairing with my Miele account worked without any issues. I very much like the good guidance for the pairing and the possibility to copy&paste the things config. Well done!

Started polling data for my washing machine, at first glace it seems to work, will start testing now with real world activities. Already added two feature requests on github, a third one may follow. Later on, I will add my dishwasher and tumble dryer.

To anyone confused by the API registration process. I know it is pretty straight forward. The API part still confused me because of the way the server behaved. So I thought I’d mention it here.

  1. If you have not already done so, create an account with Miele by registering e.g. using the Miele@mobile smartphone app. This will also take care of connecting your devices with your WiFi and registering them with the Miele account you just created.

  2. Download the binding .jar and put it in the openHAB /addons folder. As usual the binding startup happens automatically on-the-fly.

  3. Visit the API registration website. Use the same email address and e.g. openHAB as an app name. Deal with the captcha and click “Register”. This part confused me because there is no feedback: After clicking “Register” the website is briefly waiting for a response. After that it just reloads, showing a blank page and an a generic menu. You will now have to wait for an email containing an activation URL. This can take quite a while. In my case about 20 minutes.

  4. Visit your-openhab-ip:8080/mielecloud and follow the instructions. The wizard is pretty straight forward. :slight_smile:

1 Like

I just bought a new Freezer as I have seen that there is support in openhab for Miele deviced. - The new binding seems to be able to work without the Gateway, which is a good sign. Just now I am recognizing, that even though my devices and my openhab instance are in the same network it seem that I’d still have to use the cloud service from Miele to get the data into openhab, is that right? That would finally drive the use of openhab ad absurdum. What would be the benefit to have a self-hosted smart home solution if the data still is routed through some cloud? Is there a way to use the Miele binding without any registration and communication via external services?

Just installed it and I’m very happy to have it. Thanks a lot for the work.

I was wondering what are the thoughts behinde this bindeing? Should it be a control binding or a remote binding.

What I mean is, now I can see how my Dishwasher (G7365) is configured. Wich is nice.
But I would like to to be able to remote control it. So I would like to change all programms. To set a spesific start time or a specific end time. Is this possible?

The power button is defined as string, but in my opinion it should be a switch. I change it to switch in sitemap but it did not work proparly. (I’m not very expereince with openhab, so I assume this is a user problem)

Thanks anyway for your help and for this greate binding!

Although (imho!) cloud based solutions are not really in the spirit of openHAB: This is still a good compromise, given that the XGW3000 is just too expensive in cases like mine where there are just a few (or even only one) supported devices. Kudos to @BjoernLange and Miele for putting a foot down for the nerds and making this possible! Thanks a ton!! :+1: This is exponentially better than others are doing. Yes, I’m looking at you, Velux! :wink:


Sadly, our tumble dryer is three years old and therefore not supported. (Sounds like talking about a smartphone.) So there I’ve had to resort to the good old brute force power consumption “solution”. :slight_smile:

The cloud handles the connection between Miele user account and the appliances. If you connect from a different device using the Miele App (i.e. smartphone and tablet), they both see the same appliances that are paired to your user account. If you change something on one device (smartphone), the other device (tablet) will have the changes synchronized. This requires the paring to be stored somewhere, either a gateway or in the cloud (if you don’t have some kind of “hub” in your home that handles the paring). Most manufactures will only allow connection to their own “hub” (or cloud). With the removal of the (expensive) XGW3000 gateway, the hub is now the cloud. As far as I know, the XGW3000 gateway allowed connections from within your own network without the need for an external cloud.

I assume that both – gateway and cloud – also do some kind of preprocessing of the data as well as limiting the access for security reasons. The appliances might not have an API that can be consumed right away by openhab. The appliance might also not have user management and therefore only have a single “user” to connect to, which is the cloud.

Maybe @BjoernLange could talk about if Miele will allow direct connections to appliances in the future and if that would even be possible at all (from a technical standpoint)?

That would be ideal, but I doubt it will happen. :confused:

I think the crux lies in the authentication process. Currently either the XGW3000 or the Miele cloud servers issue trust tickets that can be used to query the individual devices. For a direct connection either openHAB would have to be able to issue these granting tickets. Not going to happen imo or the whole Miele security infrastructure would be compromised. Or there would have to be a granting ticket generation process for every individual device. The latter would probably mean too much hassle for Miele considering there are now already two possibilities to integrate their devices. An expensive one for the “power users” via XGW3000 and one for the “casual” users that is basically free.

However, I would very much like to be proven wrong! :slight_smile:

Yes I know and still dislike this basic idea. I want to have fully control over the devices I buy and the hub shall be OpenHab (even if this spells with an a instead of a u).

… with attaching the devices to OpenHab it makes it completely useless to use the Miele services in my eyes. I want to have a single system for all my devices and therefore I have chosen OpenHab as device- and vendor-independent system.

Clearly I appreciate Miele’s efforts to contribute an integration, but I hope they also understand my concerns and choose to be open minded and allow/support a solution without there services. These days my internet connection is quite ok, but there are regions where there is still no highspeed internet available and relying there on external cloud services is a nightmare!

Do you mean that with the XGW3000 it would be possible to connect to the Miele appliances without any interaction with Miele’s cloud services not even registration?

Yes! :slight_smile: The XGW3000 is a local solution. It does not require an internet connection and as far as I know no Miele account is required. You would need to use the community Miele@home binding for this.

1 Like

Just for my understanding. Is it possible to change values with this cloud-binding?

I have a miele dishwasher with powerdisk function. So it would be greate to choos the right program, set a start or end time and etc… Is this possible?

I managed to install the binding and it works fine.

First of all, a big thank you to everyone who tried out the binding and reported back over the weekend! We appreciate your feedback and are happy that most things are working smoothly (Friday deployments tend to blow things up :wink:).

A general hint: Please note that we currently recommend to not use things-files for configuration for reasons outlined in the account configuration section in the documentation.

Now to your questions:

With the Miele Cloud Binding it is only possible to communicate with appliances via the Miele cloud and a cloud account is required (see also @BertP’s first post). Local communication with appliances with Wi-Fi (and ZigBee) requires the XGW3000 gateway which can be controlled locally with the Miele@home Binding. If you are looking for a purely local solution, you should opt for this one. For further information about the supported devices and supported functionality, have a look at the corresponding binding documentation.

The Miele 3rd party API is limited in terms of available control mechanisms. All channels thus support reading and only some can be set (see the list of available channels in the documentation for a complete overview).

Selecting a program is currently only supported for robotic vacuum cleaners and planned for warming drawers. It is possible to start dishwashers, washing machines and dryers via the program_start_stop channel under some conditions:

  • appliance is turned on
  • program (including all additional options) is selected
  • countdown timer is already started
  • remote control is enabled

You could do the following: Manually select the program you want to run, set the countdown to the maximum value, enable remote control and then start the dishwasher earlier via the channel. We are aware that this is only a small subset of what you want to achieve.

Setting a start time is currently not implemented in the binding. Please submit separate feature requests for these functionalities but be aware that I cannot promise they will be implemented. Even if we implement setting the start time in the binding, a workflow like power on the appliance, select a program and start it will not be possible with the current feature set of the 3rd party API.

Good point, maybe this should be changed or an additional switch channel should be introduced. Please open a bug report. For now, you can simulate a switch by defining an additional item and some rules that synchronize the status.

What model of tumble dryer do you have? Which kind of communication module is used? Are the firmwares up-to-date?

Thanks a lot Miele team for all the extensive answers! It is great to get so much support from the producer. Please keep this going!

For the ZigBee devices I technically understand why a gateway is needed. But is there a reason for the WiFi connected devices to require yet another gateway? This seems unnecessary complex and expensive.

Hello. I set up this binding yesterday, and today, finally, the dishwasher was running, so I coud adjust my custom widgets to use the new binding.

However, the dishwasher thing reports: The Miele webservice cannot be accessed over the bridge. Check the bridge configuration.. I have checked the bridge, and even re-paired the bridge (which show as “Online”. Yesterday, a few hours after setting it up, I verified that it worked by turning the dishwaser on and of, seeing how the status changed in Paper UI. The data is visible in the iPhone App and within my MQTT script.

Hi @oklona, please open a bug report on GitHub and attach logs of the time when the thing went OFFLINE if you have them. As a workaround, try to restart your openHAB instance to force a re-initialization and let me know if that fixed the problem. Please record the logs provided after the reboot if it does not work. Make sure to remove any confidential information from the logs and strip all output from other bindings. Please also state in the bug report whether you configured your things via things-file or management UI.

I rechecked and the dryer is actually from late 2015. Apologies. Seemed like less. Still, it would have been nice if there was a way to upgrade a dryer from 2015. I’ve been in contact with Miele and unfortunately for our TKG 650 WP there is no such option.

I was wondering why one of my rules had failed and noticed, that on 30 September the API suddenly seemed to return language specific properties in English although “de” is specified in the binding configuration and I hadn’t touched that setting. I can see the exact point in time when the switch happened for me by looking at the logs:

2020-09-30 07:34:09.328 [vent.ItemStateChangedEvent] - WEGOperationState changed from Aus to Off

The channel this item is connected to is an “operation_state” of a “washing_mashine” device.

Has anyone else noticed this? I realise it is generally not a good idea to base a rule on language dependent channels. However I had my reasons in this case and the behaviour should still be well-defined. Thanks! :slight_smile: