Grizzelbee / ioBroker.mielecloudservice

Integrates your MieleCloudService (aka Miele@Home) Devices to ioBroker
MIT License
19 stars 8 forks source link
gateway gateways home-automation iobroker miele miele-api mielecloudservice smarthome wifi xgw3000

Logo

ioBroker.mielecloudservice

Number of Installations Number of Installations NPM version Known Vulnerabilities Test and Release License Downloads NPM

mielecloudservice adapter for ioBroker

Get your Miele appliances (XGW3000 & WiFiConn@ct) connected

If you like this adapter and consider supporting me:
Donate with PayPal

Description

This adapter is for retrieving information about all your Miele@Home devices from the official Miele 3rd-party API. Regardless if they are connected directly via Wi-Fi or XGW3000 Gateway. It implements the Miele 3rd Party API V1.0.5

Prerequisites

Installation

To install, do the following:

  1. Install via Admin using the
  2. Install via Admin using the
  3. create an App-Account for Miele@Home in the Miele Smartphone App
  4. Create a developer account at https://www.miele.com/f/com/en/register_api.aspx
  5. Add your Miele-Devices to the App (if not added automatically)
  6. Fill in the client_secret and client_id received from Miele-developer Team and account-id and password from the App.

Features

This adapter currently implements nearly all features of the Miele API V1.0.5 and some parts of API V1.0.6. The capabilities of the API may (and do so currently) vary from the capabilities of the iOS and Android apps. E.g. there are no information available on the TwinDos - even the apps have them. This includes:

Known Issues

Configuration

Basic config

To get this adapter running you'll need at least:

Requesting data from Miele servers

Since V6.2.0 you have the opportunity to chose between

Server-sent events (highly recommended)

Server-Sent Events are a very neat method to get data from the miele servers since the servers will send you data whenever there are changes. No useless polling every xx seconds ignoring whether there were changes or not. Unfortunately there are issues using this connection type - it fails pretty often and only restarting the adapter solves this.

Time based Data Polling

To improve stability of the adapter I reintroduced data polling as a config option you may use when SSE fails four you. Nevertheless, SSE is the default, and I highly recommend trying and using it since it saves many resources on your and on Mieles side. Beside of that I focus on SSE since Version 5.x.x. Time based Data-Polling relies on the two config options:

Delayed Processing

In case you own some Miele appliances and use them at the same time it may happen that the API gets sending many messages in a short time period. Depending on your ioBroker hardware this may overload your server and result in unresponsive visualization or an unresponsive broker at all. To avoid this, this config option reduces the number of messages being processed to one message every xxx milliseconds. Related config options:

Controlling your devices

Actions

All currently supported and documented Actions for all devices are implemented (API V1.0.5).

Please remember that Actions will only work if you put your device into the appropriate state (e.g. Mobile Control, powerOn, ...). Please refer to Miele-Documentation for more Information on actions.

Programs (Introduced in API V1.0.5)

With API V1.0.5 Miele introduced a new endpoint called "/programs". The support for this endpoint starts with adapter version 4.5.0. A new datapoint [device.Actions.Program] will be created listing all supported programs as returned by Miele. Selecting one of the values will execute the program immediately! Currently, only simple programs are supported. E.g. Ovens need some additional information - this will be implemented in a future version.

When publishing the adapter Miele documented a few device categories to support this endpoint and only (at least for me) a subset of these really work. For my coffee system, washing machine and tumble dryer it only works for the coffee system. But Miele is working on it and extends the support on a regular basis. Please refer to the general Miele API documentation (below) for more information.

Documentation

If you like to get a deeper understanding or need a raw-value translation please refer to this documentation.

Changelog

WORK IN PROGRESS

6.5.6 (2024-05-10) (Dying for an Angel)

6.5.5 (2024-01-03) (Dying for an Angel)

6.5.4 (2023-05-03) (Dying for an Angel)

6.5.3 (2023-04-26) (Dying for an Angel)

6.5.2 (2023-04-21) (Dying for an Angel)

6.5.1 (2023-04-21) (Dying for an Angel)

6.5.0 (2023-04-18) (Dying for an Angel)

6.4.0 (2022-09-07) (Dying for an Angel)

V6.3.4 (2022-07-13) (Black Wings)

V6.3.3 (2022-07-13) (Black Wings)

V6.3.2 (2022-06-02) (Black Wings)

V6.3.1 (2022-05-25) (Black Wings)

V6.3.0 (2022-05-23) (Black Wings)

V6.2.2 (2022-05-17) (Black Wings)

V6.2.1 (2022-05-16) (Black Wings)

V6.2.0 (2022-05-12) (Black Wings)

V6.1.5 (2022-05-05) (Black Wings)

V6.1.4 (2022-05-03) (Black Wings)

V6.1.3 (2022-05-02) (Black Wings)

V6.1.2 (2022-04-29) (Black Wings)

V6.1.1 (2022-04-28) (Black Wings)

V6.1.0 (2022-04-27) (Black Wings)

V6.0.0 (2022-04-19) (Black Wings)

V5.0.4 (2022-01-07) (Invincible)

V5.0.3 (2021-12-31) (Invincible)

V5.0.2 (2021-10-27) (Invincible)

V5.0.1 (2021-10-25) (Invincible)

V5.0.0 (2021-10-21) (Invincible)

V4.2.0 (2021-05-17) (A new Dimension)

V4.1.0 (2021-05-15) (Carry me over)

V4.0.22 (2021-05-06) (Twisted mind)

V4.0.21 (2021-05-03) (The Edge)

V4.0.20 (2021-04-30) (Sleepwalkers)

V4.0.19 (2021-04-29) (The scarecrow)

V4.0.18 (2021-04-28) (Ghostlights)

V4.0.17 (2021-04-27) (Ghost in the moon)

Hint: The behavior of the light-switch has slightly changed with this release. It not only tests the action capabilities of the device but also shows the state of the light state delivered by the API. If no actions are reported by the API, the switch will be without function and only show the current state. If actions have been reported the switch will work as you expect. If your device reports no light state and no actions the switch will show 'None' and won't do anything.

V4.0.16 (2021-04-21) (Black Orchid)

V4.0.15 (2021-04-19) (Moonglow)

V4.0.14 (2021-04-18) (Alchemy)

V4.0.13 (2021-04-12) (The toy master)

V4.0.12 (2021-04-12) (Promised land)

V4.0.11 (2021-04-11) (Cry just a little)

V4.0.10 (2021-04-10) (Another angel down)

V4.0.9 (2021-04-09) (Farewell)

V4.0.8 (2021-04-09) (The seven angels)

V4.0.7 (2021-04-09) (Lost in space)

V4.0.6 (2021-04-08) (The great mystery)

V4.0.5 (2021-04-08) (The haunting)

V4.0.4 (2021-04-07) (Wastelands)

V4.0.3 (2021-04-07) (The raven child)

V4.0.2 (2021-04-07) (Angel of Babylon)

V4.0.1 (2021-04-06) (Sign of the cross)

V4.0.0 (2021-03-18) (Symphony of life)

Hint: The adapter received a complete code refactoring! This means that most of the code has been changed and some parts are working now differently than ever before. Update with care and read the change log!

  • (grizzelbee) New: FULL support of Miele cloud API v1.0.4
  • (grizzelbee) Upd: 83 estimatedEndTime isn't shown anymore after the device has finished
  • (grizzelbee) Upd: 85 full code refactoring and split into multiple files.
  • (grizzelbee) Upd: 86 every folder and device now gets a nice little icon
  • (grizzelbee) Upd: 89 Washer dryers are fully supported now
  • (grizzelbee) Upd: 90 implemented targetTemperature for fridges & freezers
  • (grizzelbee) Upd: Devices get fully created on startup and aren't modified afterwards - only updated
  • (grizzelbee) Upd: New folder ecoFeedback to group ecoFeedback states
  • (grizzelbee) Upd: New folder IDENT to group ident states
  • (grizzelbee) Upd: Removed signalActionRequired - since there is no signalDoor for washing machines, dryers and dishwashers this approach doesn't work
  • (grizzelbee) Upd: All folders and states which are being created depend on the capabilities of their devices as described in this Miele documentation. So there shouldn't be useless states anymore caused by the generic Miele cloud API.

V3.0.2 (2021-03-05)

V3.0.1 (2021-02-25)

Hint: Action_Information and Action_Status objects are created on first action execution and contain infos to the last executed action. Please take care of notes regarding [Controlling your devices](#Controlling your devices).

  • (grizzelbee) Upd: Improved logging in some parts - objects get stringified.
  • (grizzelbee) Fix: 74 Actions are working again
  • (grizzelbee) Upd: Actions are tested before sending whether they are permitted in current device state
  • (grizzelbee) Upd: estimatedEndTime doesn't show seconds anymore
  • (grizzelbee) Upd: Improved documentation
  • (grizzelbee) Upd: removed unused function decrypt
  • (grizzelbee) Upd: removed superfluent parameters

V3.0.0 (2021-02-18)

Hint: ecoFeedback objects are created on the first run of the device. This allows to only create them, when they contain data.

  • (grizzelbee) New: BREAKING CHANGE: Making use of build-in password de-/encryption. This raises the need to re-enter your passwords again, because the old ones can't be decrypted anymore.
  • (grizzelbee) New: 70 Implements Miele API 1.0.4
  • (grizzelbee) New: 64 Introduces data point estimatedFinishingTime
  • (grizzelbee) New: 54 Poll interval can now freely be selected in seconds and minutes
  • (grizzelbee) Upd: 73 BREAKING CHANGE: Removed white-spaces from any ID in device tree. This creates completely new device trees. So please delete the old ones.
  • (grizzelbee) Upd: removed david-dm badge
  • (grizzelbee) Upd: updated dependencies
  • (grizzelbee) Fix: added passwords to encryptedNative
  • (grizzelbee) Fix: added passwords to protectedNative
  • (grizzelbee) Fix: 63 added missing info.connection object to io-package
  • (grizzelbee) Fix: 63 Fixed new Warnings introduced with js-controller 3.2
  • (grizzelbee) Fix: 74 Light-Actions should work now

V2.0.3 (2020-09-15)

V2.0.2 (2020-09-15)

V2.0.1 (2020-09-14)

V2.0.0 - Support for Miele API V1.0.3 (2020-08-25)

Some breaking changes in this release. Some data points changed their type. May require fixes in scripts. Update with care! Due to the fix that data points with invalid values aren't created any longer, I recommend deleting all data points in Object view.

V1.2.4 (2020-06-09)

V1.2.3 (2020-06-07)

V1.2.2 (2020-05-23)

V1.2.1 (2020-04-22)

V1.2.0 (2020-04-18)

V1.1.0 (2020-03-07)

V1.0.5 (2020-02-14)

V1.0.4 (2020-02-12)

V1.0.3 (2020-02-06)

V1.0.2 (2020-02-05)

V1.0.1 (2020-02-04)

V1.0.0 (2020-02-03)

0.9.1 (2019-07-26)

0.9.0 (2019-07-26)

0.0.5 (2019-07-25)

0.0.4

0.0.3

0.0.1

sentry.io

This adapter uses sentry.io to collect details on crashes and report it automated to the author. The ioBroker.sentry plugin is used for it. Please refer to the plugin homepage for detailed information on what the plugin does, which information is collected and how to disable it, if you don't like to support the author with your information on crashes.

License

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Copyright

Copyright (c) 2024 grizzelbee open.source@hingsen.de