GermanBluefox / ioBroker.mielecloudservice

Integrates your MieleCloudService (aka Miele@Home) Devices to ioBroker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

ioBroker.MieleCloudService

Number of Installations Number of Installations NPM version Known Vulnerabilities Build Status NPM

License Downloads

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

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.

Prerequisites

Installation

To install, do the following:

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

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.

Known Issues

  • none

Documentation

Please mainly refer to the main API documentation published by Miele

There are some data points available in 2 kinds. As a human-readable text and as a number. These numeric data fields belonging to a text field have the same name, but a "_raw" appended. Those fields which have a general meaning are listed below. The fields which aren't listed vary in their meaning from device to device and are not documented by Miele. If you need to refer in scripts to these fields, always use the _raw values. The text values may change in the future and also depend on the language. Here is a list of what these raw values stand for:

DeviceTypes

Raw value State
1 WASHING MACHINE
2 TUMBLE DRYER
7 DISHWASHER
8 DISHWASHER SEMI-PROF
12 OVEN
13 OVEN MICROWAVE
14 HOB HIGHLIGHT
15 STEAM OVEN
16 MICROWAVE
17 COFFEE SYSTEM
18 HOOD
19 FRIDGE
20 FREEZER
21 FRIDGE-/FREEZER COMBINATION
23 VACUUM CLEANER, AUTOMATIC ROBOTIC VACUUM CLEANER
24 WASHER DRYER
25 DISH WARMER
27 HOB INDUCTION
28 HOB GAS
31 STEAM OVEN COMBINATION
32 WINE CABINET
33 WINE CONDITIONING UNIT
34 WINE STORAGE CONDITIONING UNIT
39 DOUBLE OVEN
40 DOUBLE STEAM OVEN
41 DOUBLE STEAM OVEN COMBINATION
42 DOUBLE MICROWAVE
43 DOUBLE MICROWAVE OVEN
45 STEAM OVEN MICROWAVE COMBINATION
48 VACUUM DRAWER
67 DIALOGOVEN
68 WINE CABINET FREEZER COMBINATION

State/Status

Raw value State
1 OFF
2 STAND_BY
3 PROGRAMMED
4 PROGRAMMED_WAITING_TO_START
5 RUNNING
6 PAUSE
7 END_PROGRAMMED
8 FAILURE
9 PROGRAMME_INTERRUPTED
10 IDLE
11 RINSE_HOLD
12 SERVICE
13 SUPERFREEZING
14 SUPERCOOLING
15 SUPERHEATING
144 DEFAULT
145 LOCKED
146 SUPERCOOLING_SUPERFREEZING
255 Device offline

ProgramType/Programmart

Raw value State
0 Normal operation mode
1 Own program
2 Automatic program
3 Cleaning-/Care program

dryingStep/Trockenstufe

Raw value State
0 Extra dry
1 Normal Plus
2 Normal
3 Slightly Dry
4 Hand iron level 1
5 Hand iron level 2
6 Machine iron

Programmbezeichnung

Raw value State available for
1 "Baumwolle" / "Cotton" Washing Machine
3 "Pflegeleicht" Washing Machine
4 "Feinwäsche" Washing Machine
8 "Wolle" Washing Machine
9 "Seide" Washing Machine
21 "Pumpen/Schleudern" Washing Machine
23 "Oberhemden" Washing Machine
27 "Imprägnieren" Washing Machine
29 "Sportwäsche" Washing Machine
31 "Automatic plus" Washing Machine
37 "Outdoor" Washing Machine
48 "Flusen ausspülen" Washer Dryer
50 "Dunkle Wäsche" Washer Dryer
52 "Nur Spülen/Stärken" Washing Machine
122 "Express 20" Washer Dryer
123 "Dunkles/Jeans" Washing Machine

ProgramPhase

Raw value State available for
258 "Einweichen" Washing Machine
260 "Waschen" / "Washing" Washing Machine
261 "Spülen" / "Rinse" Washing Machine
265 "Pumpen" Washing Machine
266 "Schleudern" / "Spinning" Washing Machine
267 "Knitterschutz" / "" Washing Machine
268 "Ende" / "End" Washing Machine
256 "Vorbügeln" Washing Machine
512 "Ende" / "Finished" Tumble dryers
514 "Trocknen" / "Drying" Washer Dryer, Tumble dryers
519 "Abkühlen" / "Cool down" Washer Dryer
521 "Knitterschutz" / "" Tumble dryer
522 "Ende" / "Finished" Tumble dryer
531 "Komfortkühlen" Tumble Dryer
532 "Flusen ausspülen" Washer Dryer

Changelog

V4.5.0 (2021-09-05) (Invincible)

  • (grizzelbee) New: 164 fixed bug in SignalFailure and signalInfo when havin no value
  • (grizzelbee) New: 155 fixed >missing object< bug on arrays
  • (grizzelbee) New: 154 Reintroduced TargetTemp to washer dryers
  • (grizzelbee) New: 140 Switched from data polling to server sent events (push data)
  • (grizzelbee) New: 71 If there is no internet connection on startup retry connecting until connection is established
  • (grizzelbee) Fix: estimatedEndTime won't be shown anymore when device is off
  • (grizzelbee) Fix: Don't rethrowing errors in APISendRequest anymore
  • (grizzelbee) Fix: fixed a few minor bugs
  • (grizzelbee) Upd: Updated dependencies
  • (grizzelbee) New: Added some additional API languages newly supported by Miele
  • (grizzelbee) New: Added support for Miele API V1.0.5
  • (grizzelbee) New: Added correct tier of adapter to io-package
  • (grizzelbee) New: Added more program phases for tumble dryers to documentation

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

  • (grizzelbee) New: Adding Pause action to dish-washers

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

  • (grizzelbee) New: 149 Adding support (Start, Stop, Pause) for Miele Scout RX2 vacuum cleaner robots
  • (Stan23) New: Added new program phase soak/Einweichen

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

  • (grizzelbee) Fix: 142 Reintroduced TargetTemp for washing machines

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

  • (grizzelbee) Fix: Fixed accidental function name: createStateSpinAPIStartActionningSpeed
  • (grizzelbee) Fix: Fixed State value to set for "*.PlateStep_1" has to be type "number" but received type "string"

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

  • (grizzelbee) Fix: 137 Fixed Read-only state "info.connection" has been written without ack-flag with value "false"
  • (grizzelbee) Fix: 138 Fixed State value to set for ".Schleuderdrehzahl" has wrong type "string" but has to be "number"
  • (grizzelbee) Fix: 139 Fixed State value to set for ".ACTIONS.Light" has wrong type "number" but has to be "string"
  • (grizzelbee) Upd: Changed device group from channel to folder as documented here

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

  • (grizzelbee) Fix: Fixed light switch bug causing an exception when switching - 2nd attempt
  • (grizzelbee) Fix: Fixed No-Icon Bug when appliance is unknown

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

  • (grizzelbee) Fix: Fixed light switch bug causing an exception when switching

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

  • (grizzelbee) New: Added ioBroker sentry plugin to report issues automatically
  • (grizzelbee) New: Added Light-Switch to washing machines, Tumble Dryers, Washer dryers and Dish washers
  • (grizzelbee) Upd: Updated dependencies

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)

  • (grizzelbee) Fix: Units for EcoFeedback will be shown now, even machine is not running during setup
  • (stan23) New: added new program states

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

  • (grizzelbee) Fix: 130 targetTemp for fridges and freezers will now correctly been updated in action section with current values

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

  • (grizzelbee) Fix: 127 targetTemp for fridges caused exception and crash of adapter

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

  • (grizzelbee) Fix: 90 targetTemp addresses zones for fridges and freezers dynamically now

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

  • (grizzelbee) Fix: 90 targetTemp addresses zones for fridges and freezers dynamically now

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

  • (grizzelbee) Fix: targetTemp min and max values are now taken from API - no constant values anymore

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

  • (grizzelbee) Fix: targetTemp min and max values are now taken from API - no constant values anymore

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

  • (grizzelbee) Fix: Errors during action execution will be shown correctly
  • (grizzelbee) Fix: Actions will be executed correctly

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

  • (grizzelbee) Fix: fixed datatype of VentilationStep data point
  • (grizzelbee) Fix: fixed ventilation step switch for hoods (attempt 4)

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

  • (grizzelbee) Fix: 90 added missing path to object ID; data point will be created in the correct place now
  • (grizzelbee) New: targetTemp min and max values are now taken from API - no constant values anymore

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

  • (grizzelbee) Fix: fixes Light switch for hoods and other devices supporting light
  • (grizzelbee) Fix: fixes ventilation step switch for hoods (attempt 3)

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

  • (grizzelbee) Fix: fixes ventilation step switch for hoods (attempt 2)
  • (grizzelbee) Fix: fixes error on creating TargetTemperature data points

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

  • (grizzelbee) Fix: fixes ventilation step switch for hoods
  • (grizzelbee) Fix: fixed missing getLightState

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

  • (grizzelbee) Fix: 109 fixes 404 error when querying possible actions for device.
  • (grizzelbee) Fix: fixes errors when executing actions on devices with API-Id!=fabNumber

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

  • (grizzelbee) Fix: 107 fixes #107 and 404 error when device is unknown.

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

  • (grizzelbee) Fix: 90 setting the targetTemperature should work now.
  • (grizzelbee) Fix: 96 Added missing ACTIONS.Action_Information again
  • (grizzelbee) Fix: 97 removed unneeded additional "VentilationStep/Lüfterstufe" in path and fixed warning with this. VentilationStep-switch should work properly now.
  • (grizzelbee) Fix: 98 Color-Action has now valid type 'String'
  • (grizzelbee) Fix: 102 Fixed ACTIONS.VentilationStep has no existing object
  • (grizzelbee) Fix: Power switch is write protected now when in state 'None'. State 'None' means: No action permitted.
  • (grizzelbee) Fix: Light switch is write protected now when in state 'None'. State 'None' means: No action permitted.
  • (grizzelbee) Fix: http error 404 will be catched when requesting device actions

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)

  • (grizzelbee) Fix: 79 When a devices serial is missing, the identNumber is assigned instead.
  • (grizzelbee) Upd: Changed folder name cooktops to hobs since this is the more common name
  • (grizzelbee) Upd: added PowerOn/Off buttons for Coffee-systems & hoods
  • (grizzelbee) Upd: 74 testing actions better before sending to permit errors

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)

  • (grizzelbee) Upd: Updated country list in config dialog
  • (grizzelbee) New: Some more debug code

V2.0.2 (2020-09-15)

  • (grizzelbee) New: Added some debug Code to find an Error
  • (grizzelbee) Fix: fixed error on failed authentication preventing a valid error message

V2.0.1 (2020-09-14)

  • (grizzelbee) New: Added some debug Code to find an Error
  • (grizzelbee) Fix: fixed error on logout while invalidating token

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.

  • (grizzelbee) Change: New Icon
  • (grizzelbee) Fix: Number-data points are no longer created as strings due to their unit. They are correct numbers with units now.
  • (grizzelbee) Fix: Unit °Celsius is now shown as °C - not longer °Celsius
  • (grizzelbee) New: Introduced support for °Fahrenheit
  • (grizzelbee) New: Introduced support for new Value "plateStep" for Hobs.
  • (grizzelbee) New: Performing a LogOut from Miele API on shutdown to invalidate the Auth-Tokens.
  • (grizzelbee) Fix: Data points with invalid values (null/-32768) are no longer created.

V1.2.4 (2020-06-09)

  • (grizzelbee) Fix: fixed No-Data Bug (introduced in V1.2.3)

V1.2.3 (2020-06-07)

  • (grizzelbee) Upd: fixed snyk badge
  • (grizzelbee) Upd: Improved error handling

V1.2.2 (2020-05-23)

  • (grizzelbee) Upd: removed node 8 from testing on travis.com
  • (grizzelbee) Fix: signalActionRequired should work better now
  • (grizzelbee) Upd: Updated documentation
  • (grizzelbee) Upd: Improved error handling in function APISendRequest
  • (grizzelbee) Fix: Moved testing of Config to On(Ready) and fixed unit tests with this.

V1.2.1 (2020-04-22)

  • (grizzelbee) New: Introduced new boolean state (signalActionRequired) that indicates that the machine has finished running, but a human action, like putting the wet clothes to the dryer, ... is needed. State is cleared automatically when the door of the appliance is opened, or it is restarted. State is implemented for washing machines, tumble dryers, washer dryer and dishwashers. Doesn't work perfectly currently.
  • (grizzelbee) Upd: Updated Documentation
  • (grizzelbee) Fix: Fixed warnings with js-Controller >=3.0 (Issue #23)

V1.2.0 (2020-04-18)

  • (grizzelbee) New: Added new boolean state (Connected) that indicates whether the device is connected to WLAN or a gateway.
  • (grizzelbee) New: Added new boolean state (signalInUse) that indicates whether the device is switched off (false) or in Use (true).
  • (grizzelbee) Change: replaced the deprecated http-library request with axios
  • (grizzelbee) Change: Made functions communicating with API asynchronous

V1.1.0 (2020-03-07)

  • (grizzelbee) New: Added Actions - Implemented all currently supported and documented Actions for all devices.

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

V1.0.5 (2020-02-14)

  • (grizzelbee) removed node-schedule as a dependency
  • (grizzelbee) implemented scheduling via setTimeout, which raises the opportunity to schedule with less than a minute in the future

V1.0.4 (2020-02-12)

  • (grizzelbee) removed unneeded setTimeout from main
  • (grizzelbee) Clearing scheduler on unload of adapter
  • (grizzelbee) Minor updates and fixed typos in Readme

V1.0.3 (2020-02-06)

  • (grizzelbee) removed an overseen logging of Passwords
  • (grizzelbee) Fixed createTemperatureDatapoint to work with less than 3 values delivered from API
  • (grizzelbee) Added some documentation
  • (grizzelbee) Started implementation of DeviceActions

V1.0.2 (2020-02-05)

  • (grizzelbee) removed any logging of Passwords
  • (grizzelbee) Fixed bug in config interface introduced during password encryption that config values aren't loaded properly

V1.0.1 (2020-02-04)

  • (grizzelbee) Fixes in environment for getting adapter into the Repo
  • (grizzelbee) Passwords are stored encrypted now

V1.0.0 (2020-02-03)

  • (grizzelbee) renamed to MieleCloudService to get the ability to publish; the old Name is still blocked by hash99
  • (grizzelbee) Rewritten adapter from scratch - therefore it's incompatible with prior versions and needs to be installed freshly.
  • (grizzelbee) Fix: fixed all build-errors
  • (grizzelbee) Fix: Fixed "NRefreshToken is not a function"-Bug
  • (grizzelbee) Chg: removed Push-API checkbox (maybe introduced newly when API supports this)
  • (grizzelbee) Chg: New Icon
  • (grizzelbee) New: added support for non-german Miele-Accounts (ALL should be included)
  • (grizzelbee) Complete new layout of data points
  • (grizzelbee) Device types are grouped now

0.9.1 (2019-07-26)

  • (grizzelbee) Fix: Fixed small bug introduced in V0.9.0 throwing an exception in debugging code

0.9.0 (2019-07-26)

  • (grizzelbee) Upd: New versioning due to completeness and stability of the adapter (about 90%)
  • (grizzelbee) New: make poll interval configurable (currently 1,2,3,4,5,7,10,15 Minutes)
  • (grizzelbee) Fix: fixed ESLint config
  • (grizzelbee) Upd: Changed order of config fields in UI
  • (grizzelbee) New: Set 5 Minutes poll interval and english response language as default to get initial values
  • (grizzelbee) New: Parent-Datapoint of time values will be used to get a pretty readable time in the format h:mm. The deeper datapoints 0 and 1 will still be updated, but his will be removed in a future version to reduce workload.

0.0.5 (2019-07-25)

  • (grizzelbee) Upd: some code maintenance
  • (grizzelbee) New: added reply-language to config
    • Miele API is currently able to reply in German or English, now you can choose.
  • (grizzelbee) New: created new Icon
  • (grizzelbee) Fix: fixed translation issues and translated adapter UI using gulp
  • (grizzelbee) Upd: Made changes to travis requested by apollon77

0.0.4

  • (hash99) add devices configuration

0.0.3

  • (hash99) adapter conform

0.0.1

  • (hash99) initial release

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) 2019, 2021 grizzelbee open.source@hingsen.de

About

Integrates your MieleCloudService (aka Miele@Home) Devices to ioBroker

License:Other


Languages

Language:JavaScript 57.7%Language:HTML 42.3%