Git Product home page Git Product logo

homebridge-mieleathome's Introduction

verified-by-homebridge Build and Lint semantic-release npm (beta)) npm (latest)

Miele + Homebridge

Miele@home Homebridge plugin

This Homebridge plugin strives to integrate Miele@home enabled devices with HomeKit. It (currently) requires a

Supported Devices

  • Miele Ventilation Hood (credits: talsalis).
  • Miele Washer Dryer Combination (e.g. WTZH730).
  • Miele Washing machine (e.g. WCG370, WMV960).
  • Miele Dryer (e.g. TMV840WP)
  • Miele Dishwasher.
  • Miele Fridge.
  • Miele Freezer (e.g. FN28263).
  • Miele Fridge Freezer combination.
  • Miele Coffee machine (e.g. CVA7845).

Features

  • Easy setup: guided process to retrieve token via OAuth2 from Miele.
  • Automatic token refreshing.
  • Event based.
  • Start / stop (dish) washing machine program (with an option to disable to prevent unintentional program stop requests).
  • Remaining run time.
  • Washing machine / dish washer program target temperature.
  • Fridge / Freezer target and current temperature
  • Set Fridge / Freezer target temperature.
  • HomeKit identify support via Homebridge log.

Breaking changes

Versions > 2.8.0

  • The introduction of event based updating removed the need for the Poll interval setting. This option can be removed from your config when you see a need to clean up your config.

Versions > 2.5.2

  • Disable temperature sensor and disable stop action ability need to be re-configured as the settings have become finer grained (per specific device type instead of per group of device types).

Versions >= 2.2.0

  • Due to guided setup, refreshToken and token are no longer visible in the configuration UI. However if all fails, the plugin will still attempt to use these configuration settings as a last resort when they are configured in the config.json.

Versions > v1.2.0

  • platform name in your config.json should now be "Miele@home" instead of "MieleAtHome". If not you will receive: "Error: The requested platform 'MieleAtHome' was not registered by any plugin.". Please mind the letter casing.
  • clientID, clientSecret and refreshToken are now mandatory configuration parameters. If not supplied the plugin will continue to function, but will lack the ability to auto refresh your token.

Limitations

Washer Dryer / Washer / Dishwasher:

  • HomeKit does not support a washer dryer, washing machine, tuble dryer or dish washer. It will be emulated as a valve.
  • A HomeKit valve can be turned on and off, however Miele's 3rd party Web API does not always allow you to turn on or off the washing machine. Flipping the switch when not allowed will revert the switch state when it is not allowed.

Fridge / Freezer / Fridge Freezer combination:

  • No multi-zone support (only the first zone controllable).

Further reading

Planned features

  • Add support for oven and hob.
  • Add Custom characteristic to display current program running.

Thanks

homebridge-mieleathome's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

homebridge-mieleathome's Issues

Authorization grant server not reachable at "https://homebridge.local:8582/"! Choose a port which is reachable from within this network.

Hey guys,
I really need help. I'm a bloody beginner with Homebridge and so on, I got some basic knowledge about this whole theme but its really basic. I'm trying to get this plugin to work but it fails every single time. At first I didn't got to the authentication process where you have to put in your miele@home credentials. I then downgraded the version. Then I got to the authentication process, I put my login credentials in and clicked authenticate. Then the browser times out and nothing happens. After a minute or something like that the plugin says nothing and Homebridge wants me to restart it. After the restart there is no real error code everything loads up but Homebridge isn't showing any new products. After I update the plugin and restart Homebridge I get this error code in the Homebridge plugin settings "Authorization grant server not reachable at "https://homebridge.local:8582/"! Choose a port which is reachable from within this network.". I don't really know what I should do now, I tried to take another port but then it gives me other error codes. In the Homebridge protocol I get this red error: "Miele API request https://api.mcs3.miele.com/v1/devices?language=en failed with status 401: "Unauthorized".". Would be great if somebody could help me.

I'm using a raspberry pi3 with the Homebridge os installed.
the raspberry is connected via ethernet with my network.
Node.js Version: v14.17.3
Nem version: v6.14.13

[15/07/2021, 20:43:23] Got SIGTERM, shutting down Homebridge...
[15/07/2021, 20:43:28] [Hue] goodbye
[15/07/2021, 20:43:28] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[15/07/2021, 20:43:33] [HB Supervisor] Restarting Homebridge...
[15/07/2021, 20:43:33] [HB Supervisor] Starting Homebridge with extra flags: -I
[15/07/2021, 20:43:33] [HB Supervisor] Started Homebridge v1.3.4 with PID: 10312
Initializing HAP-NodeJS v0.9.4...
[15/07/2021, 20:43:34] Loaded config.json with 0 accessories and 3 platforms.
[15/07/2021, 20:43:34] Loaded 0 cached accessories from cachedAccessories.
[15/07/2021, 20:43:34] ---
[15/07/2021, 20:43:35] Loaded plugin: [email protected]
[15/07/2021, 20:43:35] Registering platform 'homebridge-config-ui-x.config'
[15/07/2021, 20:43:35] ---
[15/07/2021, 20:43:37] Loaded plugin: [email protected]
[15/07/2021, 20:43:37] Registering platform 'homebridge-hue.Hue'
[15/07/2021, 20:43:37] ---
[15/07/2021, 20:43:37] Loaded plugin: [email protected]
[15/07/2021, 20:43:37] Registering platform 'homebridge-mieleathome.Miele@home'
[15/07/2021, 20:43:37] ---
[15/07/2021, 20:43:37] Loading 3 platforms...
[15/07/2021, 20:43:37] [Config] Initializing config platform...
[15/07/2021, 20:43:37] [Config] Running in Service Mode
[15/07/2021, 20:43:37] [Hue] Initializing Hue platform...
[15/07/2021, 20:43:37] [Hue] homebridge-hue v0.13.17, node v14.17.3, homebridge v1.3.4
[15/07/2021, 20:43:37] [Hue] warning: recommended version: node v14.17.2 LTS
[15/07/2021, 20:43:37] [Miele@home] Initializing Miele@home platform...
[15/07/2021, 20:43:37] [Miele@home] Token loaded from persistent storage.
[15/07/2021, 20:43:37] [Hue] Philips hue: Signify Netherlands B.V. BSB002 bridge v1945163030, api v1.45.0
[15/07/2021, 20:43:37] [Miele@home] Miele API request https://api.mcs3.miele.com/v1/devices?language=en failed with status 401: "Unauthorized".

Modify request headers in order to remotely turn on dishwasher

I managed to enable remote turn on on my dishwasher by changing the request header to as follows:

  headers: {
    accept: "*/*",
    Authorization: this.token?.getAccessToken(),
    "Content-Type": "application/json",
  },

I basically just added accept value and it seems to work. Would be willing to submit a PR if this modification does not break anything.

WCG370 compatibility request

After installing the plugin and setup I see this in homebridge logs.

[11/01/2021, 21:24:48] [Miele@Home] Discovered device: id: xxx, name: Washing machine, model: WCG370
[11/01/2021, 21:24:48] [Miele@Home] Skipping unsupported device "Washing machine with type identifier: 1.

(Slightly censored) Response from curl -X GET "https://api.mcs3.miele.com/v1/devices?language=en" -H "accept: application/json; charset=utf-8" -H "Authorization: Bearer xxx"

{
  "xxx": {
    "ident": {
      "type": {
        "key_localized": "Device type",
        "value_raw": 1,
        "value_localized": "Washing machine"
      },
      "deviceName": "",
      "deviceIdentLabel": {
        "fabNumber": "xxx",
        "fabIndex": "19",
        "techType": "WCG370",
        "matNumber": "11283770",
        "swids": [
          "5031",
          "20456",
          "25213",
          "25191",
          "25304",
          "25205",
          "25312",
          "25319",
          "5031",
          "20456",
          "25213",
          "25191",
          "25304",
          "25205",
          "25312",
          "25319"
        ]
      },
      "xkmIdentLabel": {
        "techType": "EK037",
        "releaseVersion": "03.58"
      }
    },
    "state": {
      "ProgramID": {
        "value_raw": 3,
        "value_localized": "Minimum iron",
        "key_localized": "Program name"
      },
      "status": {
        "value_raw": 5,
        "value_localized": "In use",
        "key_localized": "status"
      },
      "programType": {
        "value_raw": 1,
        "value_localized": "Own programme",
        "key_localized": "Program type"
      },
      "programPhase": {
        "value_raw": 260,
        "value_localized": "Main wash",
        "key_localized": "Program phase"
      },
      "remainingTime": [
        1,
        33
      ],
      "startTime": [
        0,
        0
      ],
      "targetTemperature": [
        {
          "value_raw": 3000,
          "value_localized": 30,
          "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,
        5
      ],
      "spinningSpeed": {
        "unit": "rpm",
        "value_raw": 1200,
        "value_localized": "1200",
        "key_localized": "Spin speed"
      },
      "dryingStep": {
        "value_raw": null,
        "value_localized": "",
        "key_localized": "Drying level"
      },
      "ventilationStep": {
        "value_raw": null,
        "value_localized": "",
        "key_localized": "Fan level"
      },
      "plateStep": [],
      "ecoFeedback": {
        "currentWaterConsumption": {
          "unit": "l",
          "value": 12
        },
        "currentEnergyConsumption": {
          "unit": "kWh",
          "value": 0.1
        },
        "waterForecast": 0.4,
        "energyForecast": 0.3
      },
      "batteryLevel": null
    }
  }
}

"refresh token" seems to succeed, but subsequent API calls fail with "Unauthorized"

Hello Sander,

I know that you are working on the refresh token system, so maybe this is normal at this time: after a few hours (1h10 here) of the token use, a "refresh token" occurs and seems to succeed, but subsequent API calls fail with "Unauthorized":

[25/01/2021 22:27:10] [Miele] Refreshing token...
[25/01/2021 22:27:10] [Miele] Token succesfully refreshed and saved in persistent storage.
[25/01/2021 22:27:16] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/000116035470/state failed with status 401: "Unauthorized".
[25/01/2021 22:27:16] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/mac-001D63FFFE0203B4/state failed with status 401: "Unauthorized".
[25/01/2021 22:28:16] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/000116035470/state failed with status 401: "Unauthorized".
[25/01/2021 22:28:16] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/mac-001D63FFFE0203B4/state failed with status 401: "Unauthorized".

However, just restarting the homebridge instance makes the API calls succeed without manually reentering new tokens (hence, I do not know if the plugin uses te initially manually provided ones or the "refreshed" ones):

[25/01/2021 23:40:23] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/000116035470/state failed with status 401: "Unauthorized".
[25/01/2021 23:41:23] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/000116035470/state failed with status 401: "Unauthorized".
[25/01/2021 23:41:23] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/mac-001D63FFFE0203B4/state failed with status 401: "Unauthorized".
[25/01/2021 23:42:23] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/000116035470/state failed with status 401: "Unauthorized".
[25/01/2021 23:42:23] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/mac-001D63FFFE0203B4/state failed with status 401: "Unauthorized".
[25/01/2021 23:42:33] [Homebridge UI] Homebridge restart request received
[25/01/2021 23:42:33] [Homebridge UI] UI / Bridge settings have not changed; only restarting Homebridge process
[25/01/2021 23:42:33] [HB Supervisor] Sending SIGTERM to Homebridge
[25/01/2021 23:42:33] Got SIGTERM, shutting down Homebridge...
[25/01/2021 23:42:38] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[25/01/2021 23:42:43] [HB Supervisor] Restarting Homebridge...
[25/01/2021 23:42:43] [HB Supervisor] Starting Homebridge with extra flags: -I
[25/01/2021 23:42:43] [HB Supervisor] Starting Homebridge with custom env: {"NODE_OPTIONS":"--trace-warnings"}
[25/01/2021 23:42:43] [HB Supervisor] Started Homebridge v1.2.5 with PID: 74383
[25/01/2021 23:42:43] Loaded config.json with 0 accessories and 2 platforms.
[25/01/2021 23:42:43] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering platform 'homebridge-config-ui-x.config'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering accessory 'homebridge-contactnotifier.ContactNotifier'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering accessory 'homebridge-daikin-local.Daikin-Local'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering accessory 'homebridge-http-switch.HTTP-SWITCH'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering platform 'homebridge-mieleathome.Miele@home'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering accessory 'homebridge-outsidetemperature.OutsideTemperature'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering platform 'homebridge-platform-wemo.BelkinWeMo'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering accessory 'homebridge-roomba2.Roomba2'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering accessory 'homebridge-script2.Script2'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:44] Loaded plugin: [email protected]
[25/01/2021 23:42:44] Registering accessory 'homebridge-sonytvremote.SonyTV'
[25/01/2021 23:42:44] ---
[25/01/2021 23:42:45] Loaded plugin: [email protected]
[25/01/2021 23:42:45] Registering platform 'homebridge-videodoorbell.Video-doorbell'
[25/01/2021 23:42:45] ---
[25/01/2021 23:42:45] Loaded plugin: [email protected]
[25/01/2021 23:42:45] Registering accessory 'homebridge-watervolume.WaterVolume'
[25/01/2021 23:42:45] ---
[25/01/2021 23:42:45] Loading 2 platforms...
[25/01/2021 23:42:45] [Corniche Homebridge-Three Config] Initializing config platform...
[25/01/2021 23:42:45] [Corniche Homebridge-Three Config] Running in Service Mode
[25/01/2021 23:42:45] [Miele] Initializing Miele@home platform...
[25/01/2021 23:42:45] [Miele] Loading accessory data from cache: Lave-vaisselle
[25/01/2021 23:42:45] [Miele] Loading accessory data from cache: Lave-linge
Setup Payload:
X-HM://0024AOUT1H5JD
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 499-82-453 │     
    └────────────┘     
                       
[25/01/2021 23:42:45] Homebridge v1.2.5 is running on port 51809.
[25/01/2021 23:42:45] [Miele] Discovered device: id: mac-001D63FFFE0203B2, name: Four, model: 
[25/01/2021 23:42:45] [Miele] Ignoring unsupported device. Device: "Four" with raw type value: 12.
[25/01/2021 23:42:45] [Miele] Discovered device: id: 000127334912, name: Taque, model: 
[25/01/2021 23:42:45] [Miele] Ignoring unsupported device. Device: "Taque" with raw type value: 14.
[25/01/2021 23:42:45] [Miele] Discovered device: id: mac-001D63FFFE0203B4, name: Lave-vaisselle, model: 
[25/01/2021 23:42:45] [Miele] Re-creating existing accessory with data from cache: Lave-vaisselle
[25/01/2021 23:42:45] [Miele] Discovered device: id: 000116035470, name: Lave-linge, model: 
[25/01/2021 23:42:45] [Miele] Re-creating existing accessory with data from cache: Lave-linge
[25/01/2021 23:42:45] [Miele] Discovered device: id: mac-00124B0005AB4D8B, name: Frigo, model: 
[25/01/2021 23:42:45] [Miele] Ignoring unsupported device. Device: "Frigo" with raw type value: 19.

Plugin setup should warn when a WAN IP is about to be used

Hi @QuickSander !
Today I received an e-mail from miele saying that I have to change my miele@mobile app password.
Since I did that I get below error:

.....
[4/7/2021, 7:57:59 PM] [Miele@home] Finished initializing platform: Miele@home
[4/7/2021, 7:57:59 PM] [Miele@home] Loading accessory data from cache: Oven
[4/7/2021, 7:57:59 PM] [Miele@home] Loading accessory data from cache: Espresso
[4/7/2021, 7:57:59 PM] Loaded 73 cached accessories from cachedAccessories.0E191647D4E5.
Preparing Advertiser for 'Miele@home 31BE' using bonjour-hap backend!
[4/7/2021, 7:57:59 PM] [Miele@home] Executed didFinishLaunching callback
[4/7/2021, 7:57:59 PM] [Miele@home] tokenData: {"access_token":"xxxxxxxxxxxxxxxxxxxxxx","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Bearer","expires_in":2592000,"creation_date":"2021-03-27T22:05:14.094Z"}
[4/7/2021, 7:57:59 PM] [Miele@home] Token loaded from persistent storage.
[4/7/2021, 7:57:59 PM] [Miele@home] Requesting devices: "https://api.mcs3.miele.com/v1/devices?language=en"
Starting to advertise 'Miele@home 31BE' using bonjour-hap backend!
[4/7/2021, 7:57:59 PM] Homebridge v1.3.4 (Miele@home) is running on port xxxxxxxx.
[4/7/2021, 7:58:00 PM] [Miele@home] Miele API request https://api.mcs3.miele.com/v1/devices?language=en failed with status 401: "Unauthorized".
.....

Do u have an idea what is going on?

Error received from Miele event server

Hello,

thank you for version 3.0.1, it works great.

I only receive regularly (every +/- 4 minutes) errors about "Error received from Miele event server". I marked them with "*" in the log excerpt below. My network is working very fine (ping time from my MacMini to my router = 1.850 ms average, to an OVH Roubaix-bbased server: 17.166 ms average, to www.miele.com: 14.950 ms average.

[21/03/2021 13:42:15] [Miele] Discovered device: id: mac-001D63FFFE0203B2, name: Four, model: Unknown Miele model
[21/03/2021 13:42:15] [Miele] Ignoring unsupported device. Device: "Four" with raw type value: 12.
[21/03/2021 13:42:15] [Miele] Discovered device: id: 000127334912, name: Taque, model: Unknown Miele model
[21/03/2021 13:42:15] [Miele] Ignoring unsupported device. Device: "Taque" with raw type value: 14.
[21/03/2021 13:42:15] [Miele] Discovered device: id: mac-001D63FFFE0203B4, name: Lave-vaisselle, model: Unknown Miele model
[21/03/2021 13:42:15] [Miele] Re-creating existing accessory with data from cache: Lave-vaisselle
[21/03/2021 13:42:15] [Miele] Lave-vaisselle: Removed temperature sensor.
[21/03/2021 13:42:15] [Miele] Discovered device: id: 000116035470, name: Lave-linge, model: Unknown Miele model
[21/03/2021 13:42:15] [Miele] Re-creating existing accessory with data from cache: Lave-linge
[21/03/2021 13:42:15] [Miele] Discovered device: id: mac-00124B0005AB4D8B, name: Frigo, model: Unknown Miele model
[21/03/2021 13:42:15] [Miele] Re-creating existing accessory with data from cache: Frigo
[21/03/2021 13:42:15] [Miele] Lave-vaisselle: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:42:15] [Miele] Frigo: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:42:15] [Miele] Lave-linge: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:42:15] [Miele] Lave-vaisselle: Updating characteristic Active to 1.
[21/03/2021 13:42:15] [Miele] Frigo: Updating characteristic CurrentHeatingCoolingState to 2.
[21/03/2021 13:42:15] [Miele] Frigo: Updating characteristic TargetHeatingCoolingState to 2.
[21/03/2021 13:42:15] [Miele] Frigo: Updating characteristic CurrentTemperature to 4.
[21/03/2021 13:42:15] [Miele] Frigo: Updating characteristic TargetTemperature to 4.
[21/03/2021 13:42:48] [Homebridge UI] [mickey] Accessory layout changes saved.
*[21/03/2021 13:44:22] [Miele] Frigo: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:44:22] [Miele] Frigo: Will attempt to reconnect to the Miele event server after 60[s].
*[21/03/2021 13:44:22] [Miele] Lave-vaisselle: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:44:22] [Miele] Lave-vaisselle: Will attempt to reconnect to the Miele event server after 60[s].
*[21/03/2021 13:44:22] [Miele] Lave-linge: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:44:22] [Miele] Lave-linge: Will attempt to reconnect to the Miele event server after 60[s].
[21/03/2021 13:45:22] [Miele] Frigo: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:45:22] [Miele] Lave-vaisselle: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:45:22] [Miele] Lave-linge: Connection with Miele event server succesfully (re-)established.
*[21/03/2021 13:47:22] [Miele] Lave-linge: Error received from Miele event server: '{"type":"error"}'
*[21/03/2021 13:47:22] [Miele] Lave-vaisselle: Error received from Miele event server: '{"type":"error"}'
*[21/03/2021 13:47:22] [Miele] Frigo: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:47:22] [Miele] Lave-linge: Will attempt to reconnect to the Miele event server after 60[s].
[21/03/2021 13:47:22] [Miele] Lave-vaisselle: Will attempt to reconnect to the Miele event server after 60[s].
[21/03/2021 13:47:22] [Miele] Frigo: Will attempt to reconnect to the Miele event server after 60[s].
[21/03/2021 13:48:22] [Miele] Lave-linge: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:48:22] [Miele] Frigo: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:48:22] [Miele] Lave-vaisselle: Connection with Miele event server succesfully (re-)established.
*[21/03/2021 13:51:22] [Miele] Lave-linge: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:51:22] [Miele] Lave-linge: Will attempt to reconnect to the Miele event server after 60[s].
*[21/03/2021 13:51:22] [Miele] Frigo: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:51:22] [Miele] Frigo: Will attempt to reconnect to the Miele event server after 60[s].
*[21/03/2021 13:51:22] [Miele] Lave-vaisselle: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:51:22] [Miele] Lave-vaisselle: Will attempt to reconnect to the Miele event server after 60[s].
[21/03/2021 13:52:23] [Miele] Frigo: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:52:23] [Miele] Lave-linge: Connection with Miele event server succesfully (re-)established.
[21/03/2021 13:52:23] [Miele] Lave-vaisselle: Connection with Miele event server succesfully (re-)established.
*[21/03/2021 13:55:23] [Miele] Lave-vaisselle: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:55:23] [Miele] Lave-vaisselle: Will attempt to reconnect to the Miele event server after 60[s].
*[21/03/2021 13:55:23] [Miele] Frigo: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:55:23] [Miele] Frigo: Will attempt to reconnect to the Miele event server after 60[s].
*[21/03/2021 13:55:23] [Miele] Lave-linge: Error received from Miele event server: '{"type":"error"}'
[21/03/2021 13:55:23] [Miele] Lave-linge: Will attempt to reconnect to the Miele event server after 60[s].

Remaining duration warning every minute (washing machine)

Log:

[11/27/2021, 6:19:01 PM] [Miele@home] Washing machine: Updating characteristic InUse to 0.
[11/27/2021, 6:19:01 PM] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Remaining Duration': characteristic value expected valid finite number and received "NaN" (number). See https://git.io/JtMGR for more info.

2.8.0 return of the recurrent target temperature warning

Hello,

just to mention that the recurrent warnings about Target Temperature have returned:

[13/03/2021 12:56:07] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 12:56:24] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 12:56:35] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 12:58:06] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 12:58:21] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 12:59:06] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 12:59:17] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 13:00:06] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.
[13/03/2021 13:01:06] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 0 exceeded minimum of 10. See https://git.io/JtMGR for more info.

Reverting to 2.7.2 makes the warnings go away again.


On a positive note, the remaining time for the Wash Machine can now exceed the 3600 seconds \o/ :
remaining duration-1
remaining duration-2

Unable to retrieve Token from Miele

With 2.5.2 the Miele URL is incorrectly formed and does not contain the port for the authorization grant server.

What gets opened in another window:

https://api.mcs3.miele.com/thirdparty/login?client_id=[redacted]&response_type=code&redirect_uri=http://192.168.1.109/auth_grant&state=[redacted]

This redirects back to the main homebridge ui window and will not pass the token.

If manually changing the URL in the newly opened window to
https://api.mcs3.miele.com/thirdparty/login?client_id=[redacted]&response_type=code&redirect_uri=http://192.168.1.109:8582/auth_grant&state=[redacted] the redirect suceeds and the authentication tokens are taken.

Setup UI not displayed

I can't access my homebridge since the update. When I removed this plugin my Homebridge was working again.
Bildschirmfoto 2021-01-27 um 19 44 43

Bildschirmfoto 2021-01-27 um 19 35 02

under json config this plugin is not displayed. Use Firefox.

Miele Mobile

Hey,
does anybody know, how I can reset my
Miele@mobile Account?

during the installation process, there is an error, that the password is incorrect.
There is no way to get the plugin running

Washer off produces warnings

A deactivated washer produces warnings in the log caused by invalid temperatue value.

Miele WWV980

[12/07/2021, 07:58:21] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Current Temperature': characteristic was supplied illegal value: number -327.66 exceeded minimum of 0. See https://git.io/JtMGR for more info.

Error Message v2.6.0

  1. See https://git.io/JtMGR for more info.
    [06/03/2021, 15:59:50] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Remaining Duration': characteristic was supplied illegal value: number 3840 exceeded maximum of 3600. See https://git.io/JtMGR for more info.
    [06/03/2021, 16:00:50] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Remaining Duration': characteristic was supplied illegal value: number 3780 exceeded maximum of 3600. See https://git.io/JtMGR for more info.
    [06/03/2021, 16:01:50] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Remaining Duration': characteristic was supplied illegal value: number 3720 exceeded maximum of 3600. See https://git.io/JtMGR for more info.
    [06/03/2021, 16:02:50] [homebridge-mieleathome] This plugin generated a warning from the characteristic 'Remaining Duration': characteristic was supplied illegal value: number 3660 exceeded maximum of 3600. See https://git.io/JtMGR for more info.

Updating characteristic Active to 0

i keep getting this error message?

16/02/2022, 17:27:24] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 17:27:24] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 17:27:26] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 17:27:27] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 17:37:27] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 17:37:27] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 17:37:29] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 17:37:29] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 17:47:29] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 17:47:29] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 17:47:31] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 17:47:32] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 17:57:32] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 17:57:32] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 17:57:34] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 17:57:35] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 18:07:35] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 18:07:35] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 18:07:37] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 18:07:37] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 18:17:37] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 18:17:37] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 18:17:39] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 18:17:39] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 18:27:39] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 18:27:39] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 18:27:41] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 18:27:41] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 18:37:41] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 18:37:41] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 18:37:43] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 18:37:43] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 18:47:43] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 18:47:43] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 18:47:45] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 18:47:45] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 18:57:45] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 18:57:45] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 18:57:47] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 18:57:47] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 19:07:47] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 19:07:47] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 19:07:49] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 19:07:49] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 19:17:49] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 19:17:49] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 19:17:53] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 19:17:53] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 19:27:53] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 19:27:53] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 19:27:56] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 19:27:56] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 19:37:56] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 19:37:56] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 19:37:59] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 19:38:00] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 19:48:00] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 19:48:00] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 19:48:03] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 19:48:03] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 19:58:03] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 19:58:03] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 19:58:06] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 19:58:06] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 20:08:06] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 20:08:06] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 20:08:09] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 20:08:10] [Miele@home] Waschmaschine: Updating characteristic Active to 0.
[16/02/2022, 20:18:10] [Miele@home] Waschmaschine: Updating characteristic Active to 1.
[16/02/2022, 20:18:10] [Miele@home] Trockner: Updating characteristic Active to 1.
[16/02/2022, 20:18:12] [Miele@home] Trockner: Updating characteristic Active to 0.
[16/02/2022, 20:18:12] [Miele@home] Waschmaschine: Updating characteristic Active to 0.

Some compatibility requests :-)

Hello, I have several Miele devices connected through XGW3000. Will it be possible to handle them ?

What kind of information do you need for them ? Of course, I am available to provide anything (the capabilities of any of the device I can retrieve through Swagger for instance, you just need to give me directions).

Here is the list of my items:
Fridge K 37442 iDF
Dish Washer G 6995 SCVi XXL K2O
Washer W 5965-WPS
Hob KM 6223
Oven H 6860 BP

Have a nice day !

Power on coffee machine

Hi, if i turn on the coffee machine with the homebridge app and the device clean itself, it does that after some time powered off, its nothing more than flushing some water, the coffee machine gives 3 beeping errors and flashing led lights. power on and off after that wont causing the issue again. so the cleaning process generates a error when powering on. if i use the button on the coffee machine to power on, no errors or beeping, also turning on with the miele home app no beeping or flashing leds. i have a video of the issue if you want. power off is working perfectly if i turn the coffee machine on manual with the button or the miele home app.

1.2.0 "Active = 0" while running ("In Use = 1") and also when standby ("In Use = 0" but Switched ON)

Hello,

I think I discovered a small regression:

I just installed 1.2.0 over 1.1.1 and noticed that when an appliance like "Dish Washer" is running, the Active status is set to 0 while In Use is correctly "1". This leads to the appliance being displayed as going towards the STOP state (the Icon in Home app shows a spinning icon with "Arrêt..." as displayed status text - sorry, app in French, maybe "Stopping..." in English -) regardless of the fact it is running. Also, a switched on appliance in stand-by is now seen as "Switched Off" (active and in use = 0)

In version 1.1.1, both "active" and "in use" were set to "1" when the appliance was running, hence the Icon in Home app correctly displayed a pouring tap with the remaining time while the appliance is running. Also, when the Washing Machine was switched ON (Stand By), the "active" was "1" and "in use" was "0".

PS thanks for the "Thanks" ;-)

"Manually retrieve token" process changed

Hi,

It appears the process for retrieving the tokens has changed somehow.

This URL https://api.mcs3.miele.com/thirdparty/login?client_id=your client id&response_type=code&redirect_uri=http://localhost&state=1 does not redirect me to an URL with a code.
Instead it returns to the same Miele-login page where I started.

I cant find a way to run this plugin since I keep getting failed with status 401: "Unauthorized"

Do you have any advice?

Authentication

Hi All,

Wasn't quite sure where to ask but: how do I actually authenticate to use this plugin? I have my client_id and client_secret keys.

I can authenticate via https://www.miele.com/developer/swagger-ui/swagger.html#/ and can use the test requests to see my specific Miele devices but I am instead seeing this detail in my logs:

[Miele@home] Miele API request https://api.mcs3.miele.com/v1/devices?language=en failed with status 401: "Unauthorized".
[Miele@home] No valid refresh token known. Token will not be auto refreshed and will expire soon.

I did note that in the notes for the plugin there is an authentication walk through however I didn't see any of this. I should also be clear I'm using HOOBS. Any help much appreciated!

miele api issue

when I login to miele api website
api.mcs3.miele.com,
some error below
{"code":500,"message":"A technical error occured. Please try again later. (Error-ID: fbb92fe63265043f)"}

3.0.7 still verbose for reconnections after Miele-side disconnect

Hello Sander,

I saw this morning you published the 3.0.7 version to reduce the amount of logs due to reconnection.

The previous issue is closed, but I am sorry to report that for some reason, what should be "ServerConnectionLost" as a reason for reconnection is seen as "SelfInitiated" hence the logs continue to flow here :-( (I put it in Debug mode, it shows that the connection is correctly detected lost from Miele side (lines marked with '*') but the reconnection reason is wrong and therefore logged as "info" instead of "debug" (lines marked with '**').

[29/03/2021 11:24:41] [Miele] Discovered devices:  [
  'mac-001D63FFFE0203B2',
  '000127334912',
  'mac-001D63FFFE0203B4',
  '000116035470',
  'mac-00124B0005AB4D8B'
]
[29/03/2021 11:24:41] [Miele] Discovered device: id: mac-001D63FFFE0203B2, name: Four, model: Unknown Miele model
[29/03/2021 11:24:41] [Miele] Ignoring unsupported device. Device: "Four" with raw type value: 12.
[29/03/2021 11:24:41] [Miele] Discovered device: id: 000127334912, name: Taque, model: Unknown Miele model
[29/03/2021 11:24:41] [Miele] Ignoring unsupported device. Device: "Taque" with raw type value: 14.
[29/03/2021 11:24:41] [Miele] Discovered device: id: mac-001D63FFFE0203B4, name: Lave-vaisselle, model: Unknown Miele model
[29/03/2021 11:24:41] [Miele] Re-creating existing accessory with data from cache: Lave-vaisselle
[29/03/2021 11:24:41] [Miele] Discovered device: id: 000116035470, name: Lave-linge, model: Unknown Miele model
[29/03/2021 11:24:41] [Miele] Re-creating existing accessory with data from cache: Lave-linge
[29/03/2021 11:24:41] [Miele] Discovered device: id: mac-00124B0005AB4D8B, name: Frigo, model: Unknown Miele model
[29/03/2021 11:24:41] [Miele] Re-creating existing accessory with data from cache: Frigo
[29/03/2021 11:24:41] [Miele] Lave-vaisselle: Initial connection with Miele event server successfully established.
[29/03/2021 11:24:41] [Miele] Lave-linge: Initial connection with Miele event server successfully established.
[29/03/2021 11:24:41] [Miele] Frigo: Initial connection with Miele event server successfully established.
[29/03/2021 11:24:41] [Miele] Lave-vaisselle: Event 'device' received.
[29/03/2021 11:24:41] [Miele] Lave-vaisselle: Updating characteristic Active to 1.
[29/03/2021 11:24:41] [Miele] Lave-vaisselle: Remaing Duration update received: 0[s]
[29/03/2021 11:24:41] [Miele] Frigo: Event 'device' received.
[29/03/2021 11:24:41] [Miele] Frigo: Updating characteristic CurrentHeatingCoolingState to 2.
[29/03/2021 11:24:41] [Miele] Frigo: Updating characteristic TargetHeatingCoolingState to 2.
[29/03/2021 11:24:41] [Miele] Frigo: Zone 1 Current Temperature update received: 400[C/100]
[29/03/2021 11:24:41] [Miele] Frigo: Updating characteristic CurrentTemperature to 4.
[29/03/2021 11:24:41] [Miele] Frigo: Zone 1 Target Temperature update received: 400[C/100]
[29/03/2021 11:24:41] [Miele] Frigo: Updating characteristic TargetTemperature to 4.
[29/03/2021 11:24:41] [Miele] Lave-linge: Event 'device' received.
[29/03/2021 11:24:41] [Miele] Lave-linge: Remaing Duration update received: 0[s]
[29/03/2021 11:24:42] [Miele] Lave-vaisselle: Returning 1 for Active.
[29/03/2021 11:24:42] [Miele] Lave-vaisselle: Returning 0 for InUse.
[29/03/2021 11:24:42] [Miele] Lave-vaisselle: Returning 0 for RemainingDuration.
[29/03/2021 11:24:42] [Miele] Frigo: Returning 2 for CurrentHeatingCoolingState.
[29/03/2021 11:24:42] [Miele] Frigo: Returning 2 for TargetHeatingCoolingState.
[29/03/2021 11:24:42] [Miele] Frigo: Returning 4 for CurrentTemperature.
[29/03/2021 11:24:42] [Miele] Frigo: Returning 4 for TargetTemperature.
[29/03/2021 11:24:42] [Miele] Frigo: Returning 0 for TemperatureDisplayUnits.
[29/03/2021 11:24:42] [Miele] Lave-linge: Returning 0 for Active.
[29/03/2021 11:24:42] [Miele] Lave-linge: Returning 0 for InUse.
[29/03/2021 11:24:42] [Miele] Lave-linge: Returning 0 for RemainingDuration.
*[29/03/2021 11:27:10] [Miele] Frigo: Miele event server connection lost. Auto-reconnect after 60[s]
*[29/03/2021 11:27:10] [Miele] Lave-linge: Miele event server connection lost. Auto-reconnect after 60[s]
*[29/03/2021 11:27:10] [Miele] Lave-vaisselle: Miele event server connection lost. Auto-reconnect after 60[s]
[29/03/2021 11:27:28] [Miele] Lave-vaisselle: Returning 1 for Active.
[29/03/2021 11:27:28] [Miele] Lave-vaisselle: Returning 0 for InUse.
[29/03/2021 11:27:28] [Miele] Lave-vaisselle: Returning 0 for RemainingDuration.
[29/03/2021 11:27:28] [Miele] Frigo: Returning 2 for CurrentHeatingCoolingState.
[29/03/2021 11:27:28] [Miele] Frigo: Returning 2 for TargetHeatingCoolingState.
[29/03/2021 11:27:28] [Miele] Frigo: Returning 4 for CurrentTemperature.
[29/03/2021 11:27:28] [Miele] Frigo: Returning 4 for TargetTemperature.
[29/03/2021 11:27:28] [Miele] Frigo: Returning 0 for TemperatureDisplayUnits.
[29/03/2021 11:27:28] [Miele] Lave-linge: Returning 0 for Active.
[29/03/2021 11:27:28] [Miele] Lave-linge: Returning 0 for InUse.
[29/03/2021 11:27:28] [Miele] Lave-linge: Returning 0 for RemainingDuration.
**[29/03/2021 11:28:10] [Miele] Lave-vaisselle: Self initiated reconnect with Miele event server successful.
**[29/03/2021 11:28:10] [Miele] Lave-linge: Self initiated reconnect with Miele event server successful.
**[29/03/2021 11:28:10] [Miele] Frigo: Self initiated reconnect with Miele event server successful.

It is like the line "this.reconnectReason = ReconnectReason.ServerConnectionLost" is overwritten with "this.reconnectReason = ReconnectReason.SelfInitiated;", possibly at the "setTimeout()" definition ?

Maybe one way is to move the "this.reconnectReason = ReconnectReason.SelfInitiated;" line from the setTimeout() definition to higher in the code, as an initialisation ?

I tried like this (modified lines tagged with "// RMI"):

        // Error handling.
        this.eventSource.onerror = (error) => {
            var _a;
            (_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.close();
            const errorObj = error;
            this.reconnectReason = ReconnectReason.SelfInitiated; // RMI
            // If Miele closed the connection on their end, EventSource raises an empty error object.
            if (!errorObj.status) {
                this.platform.log.debug(`${this.accessory.context.device.displayName}: Miele event server ` +
                    `connection lost. Auto-reconnect after ${settings_1.EVENT_SERVER_RECONNECT_DELAY_S}[s]`);
                this.reconnectReason = ReconnectReason.ServerConnectionLost;
            }
            else {
                this.platform.log.error(`${this.accessory.context.device.displayName}: Error received from Miele event server. ` +
                    `Status: ${errorObj.status}. Message: '${errorObj.message}'`);
                this.mainService.setCharacteristic(this.platform.Characteristic.StatusFault, this.platform.Characteristic.StatusFault.GENERAL_FAULT);
                this.platform.log.info(`${this.accessory.context.device.displayName}: Will attempt to reconnect to the Miele event server after` +
                    ` ${settings_1.EVENT_SERVER_RECONNECT_DELAY_S}[s].`);
                this.reconnectReason = ReconnectReason.Error;
            }
            setTimeout(() => {
                                  // RMI
                this.connectToEventServer();
            }, settings_1.EVENT_SERVER_RECONNECT_DELAY_S * 1000);
        };

This modification works (reconnection due to Miele side disconnect is now in debug and correctly labeled as such), but I have no idea if this modification has no side effect as I do not have any other issue happening leading to another type of disconnection.

UnhandledPromiseRejectionWarning: Error - persist/AccessoryInfo.0E4EB8423210.json does not look like a valid storage file

Hi,
I receive a "UnhandledPromiseRejectionWarning: Error" because it seems that something is seen wrong in the persist/AccessoryInfo.0E4EB8423210.json file.

I removed the platform and the homebridge instance (I use a separate instance for my tests, so no big deal) and installed everything again, but the problem still occur.

(node:75050) UnhandledPromiseRejectionWarning: Error: [node-persist][readFile] /Users/mrabozee/.homebridge-three/persist/AccessoryInfo.0E4EB8423210.json does not look like a valid storage file!
    at /usr/local/lib/node_modules/homebridge-mieleathome/node_modules/node-persist/src/local-storage.js:314:89
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:63:3)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:75050) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:75050) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:75050) UnhandledPromiseRejectionWarning: Error: [node-persist][readFile] /Users/mrabozee/.homebridge-three/persist/AccessoryInfo.0E4EB8423210.json does not look like a valid storage file!
    at /usr/local/lib/node_modules/homebridge-mieleathome/node_modules/node-persist/src/local-storage.js:314:89
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:63:3)
(node:75050) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:75050) UnhandledPromiseRejectionWarning: Error: [node-persist][readFile] /Users/mrabozee/.homebridge-three/persist/AccessoryInfo.0E4EB8423210.json does not look like a valid storage file!
    at /usr/local/lib/node_modules/homebridge-mieleathome/node_modules/node-persist/src/local-storage.js:314:89
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:63:3)
(node:75050) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)

Miele not active

First of all thank you for providing for the app. Have configured and set up the method 1. what I noticed today is that now my Miele wash does but at the homkekit app as is turned off? thanks for the help.

Bildschirmfoto 2021-01-30 um 17 58 34

State: Starting

Hello,

since a few days the state of my MIELE washing machine is set to „starting“.
But it is turned off…

many ideas or workarounds?

Washing Machine (G5930) stuck after washing program finished

The washing machine is stuck after the program is finished on the on state.
The temprature display always shows 0 celsius.
If it is supposed to show time how long it will take until the program finishes (not sure about that) it does not show that at all in homekit.

Cannot start Homebridge with version 2.0.0 plugin - Missing requirement node-persist

Hello,

I just installed the version 2.0.0. I saw that I needed to modify the Platform name to "Miele@home", however

Config:

{
    "bridge": {
        "name": "Corniche Homebridge-Three",
        "username": "[redacted]",
        "port": 51809,
        "pin": "[redacted]"
    },
    "platforms": [
        {
            "name": "Corniche Homebridge-Three Config",
            "port": 8082,
            "auth": "form",
            "theme": "red",
            "tempUnits": "c",
            "lang": "auto",
            "platform": "config"
        },
        {
            "name": "Miele",
            "clientID": "[redacted]",
            "clientSecret": "[redacted]",
            "token": "[redacted]",
            "language": "en",
            "pollInterval": 60,
            "disableStopActionFor": [
                "Washing Machines",
                "Dishwashers"
            ],
            "platform": "Miele@home"
        }
    ],
    "accessories": []
}

Log:

[25/01/2021 10:04:45] [HB Supervisor] Restarting Homebridge...
[25/01/2021 10:04:45] [HB Supervisor] Starting Homebridge with extra flags: -I
[25/01/2021 10:04:45] [HB Supervisor] Started Homebridge v1.2.5 with PID: 34581
[25/01/2021 10:04:45] Loaded config.json with 0 accessories and 2 platforms.
[25/01/2021 10:04:45] ---
[25/01/2021 10:04:45] Loaded plugin: [email protected]
[25/01/2021 10:04:45] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[25/01/2021 10:04:45] ---
[25/01/2021 10:04:45] Loaded plugin: [email protected]
[25/01/2021 10:04:45] Registering platform 'homebridge-config-ui-x.config'
[25/01/2021 10:04:45] ---
[25/01/2021 10:04:45] Loaded plugin: [email protected]
[25/01/2021 10:04:45] Registering accessory 'homebridge-contactnotifier.ContactNotifier'
[25/01/2021 10:04:45] ---
[25/01/2021 10:04:46] Loaded plugin: [email protected]
[25/01/2021 10:04:46] Registering accessory 'homebridge-daikin-local.Daikin-Local'
[25/01/2021 10:04:46] ---
[25/01/2021 10:04:46] Loaded plugin: [email protected]
[25/01/2021 10:04:46] Registering accessory 'homebridge-http-switch.HTTP-SWITCH'
[25/01/2021 10:04:46] ---
[25/01/2021 10:04:46] ====================
[25/01/2021 10:04:46] ERROR LOADING PLUGIN homebridge-mieleathome:
[25/01/2021 10:04:46] Error: Cannot find module 'node-persist'
Require stack:
- /usr/local/lib/node_modules/homebridge-mieleathome/dist/token.js
- /usr/local/lib/node_modules/homebridge-mieleathome/dist/platform.js
- /usr/local/lib/node_modules/homebridge-mieleathome/dist/index.js
- /usr/local/lib/node_modules/homebridge/lib/plugin.js
- /usr/local/lib/node_modules/homebridge/lib/pluginManager.js
- /usr/local/lib/node_modules/homebridge/lib/api.js
- /usr/local/lib/node_modules/homebridge/lib/server.js
- /usr/local/lib/node_modules/homebridge/lib/cli.js
- /usr/local/lib/node_modules/homebridge/bin/homebridge
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-mieleathome/src/token.ts:4:1)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
[25/01/2021 10:04:46] ====================
[25/01/2021 10:04:46] Loaded plugin: [email protected]
[25/01/2021 10:04:46] Registering accessory 'homebridge-outsidetemperature.OutsideTemperature'
[25/01/2021 10:04:46] ---
[25/01/2021 10:04:46] Loaded plugin: [email protected]
[25/01/2021 10:04:46] Registering platform 'homebridge-platform-wemo.BelkinWeMo'
[25/01/2021 10:04:46] ---
[25/01/2021 10:04:46] Loaded plugin: [email protected]
[25/01/2021 10:04:46] Registering accessory 'homebridge-roomba2.Roomba2'
[25/01/2021 10:04:46] ---
[25/01/2021 10:04:46] Loaded plugin: [email protected]
[25/01/2021 10:04:46] Registering accessory 'homebridge-script2.Script2'
[25/01/2021 10:04:46] ---
[25/01/2021 10:04:46] Loaded plugin: [email protected]
[25/01/2021 10:04:46] Registering accessory 'homebridge-sonytvremote.SonyTV'
[25/01/2021 10:04:46] ---
[25/01/2021 10:04:47] Loaded plugin: [email protected]
[25/01/2021 10:04:47] Registering platform 'homebridge-videodoorbell.Video-doorbell'
[25/01/2021 10:04:47] ---
[25/01/2021 10:04:47] Loaded plugin: [email protected]
[25/01/2021 10:04:47] Registering accessory 'homebridge-watervolume.WaterVolume'
[25/01/2021 10:04:47] ---
[25/01/2021 10:04:47] Loading 2 platforms...
[25/01/2021 10:04:47] [Corniche Homebridge-Three Config] Initializing config platform...
[25/01/2021 10:04:47] [Corniche Homebridge-Three Config] Running in Service Mode
[25/01/2021 10:04:47] Error loading platform requested in your config.json at position 2
[25/01/2021 10:04:47] Error: The requested platform 'Miele@home' was not registered by any plugin.
    at PluginManager.getPluginForPlatform (/usr/local/lib/node_modules/homebridge/src/pluginManager.ts:224:15)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:385:37
    at Array.forEach (<anonymous>)
    at Server.loadPlatforms (/usr/local/lib/node_modules/homebridge/src/server.ts:372:27)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:151:29)
    at cli (/usr/local/lib/node_modules/homebridge/src/cli.ts:80:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47
[25/01/2021 10:04:47] Got SIGTERM, shutting down Homebridge...

It seems that there is a requirement not fulfilled (node-persist), even after having installed it (sudo npm install node-persist)

Wash machine finished program, InUse hesitate between 1 and 0

Hello,

my wash machine has ended its program (but I still did not unload it), and the InUse characteristic seems to hesitate between 1 and 0.

Here is the log (in DEBUG mode, filtered for only "Lave-Linge", the INFO lines are prefixed by a "*", and with my "fix" (see #29) for correctly labelling the reconnections)

[30/03/2021 10:31:40] [Miele] Lave-linge: Returning 0 for Active.
[30/03/2021 10:31:40] [Miele] Lave-linge: Returning 1 for InUse.
[30/03/2021 10:31:40] [Miele] Lave-linge: Returning 7020 for RemainingDuration.
[30/03/2021 10:31:41] [Miele] Lave-linge: Event 'device' received.
*[30/03/2021 10:31:41] [Miele] Lave-linge: Updating characteristic InUse to 0.
[30/03/2021 10:31:41] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:31:43] [Miele] Lave-linge: Event 'device' received.
*[30/03/2021 10:31:43] [Miele] Lave-linge: Updating characteristic InUse to 1.
[30/03/2021 10:31:43] [Miele] Lave-linge: Remaing Duration update received: 0[s]
[30/03/2021 10:31:43] [Miele] Lave-linge: Updating characteristic RemainingDuration to 0.
[30/03/2021 10:31:57] [Miele] Lave-linge: Returning 0 for Active.
[30/03/2021 10:31:57] [Miele] Lave-linge: Returning 1 for InUse.
[30/03/2021 10:31:57] [Miele] Lave-linge: Returning 0 for RemainingDuration.
[30/03/2021 10:34:47] [Miele] Lave-linge: Returning 0 for Active.
[30/03/2021 10:34:47] [Miele] Lave-linge: Returning 1 for InUse.
[30/03/2021 10:34:47] [Miele] Lave-linge: Returning 0 for RemainingDuration.
[30/03/2021 10:36:23] [Miele] Lave-linge: Miele event server connection lost. Auto-reconnect after 60[s]
[30/03/2021 10:37:24] [Miele] Lave-linge: Connection with Miele event server successfully recovered from stale server connection.
[30/03/2021 10:37:24] [Miele] Lave-linge: Event 'device' received.
[30/03/2021 10:37:24] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:37:24] [Miele] Lave-linge: Updating characteristic RemainingDuration to 7020.
[30/03/2021 10:39:24] [Miele] Lave-linge: Miele event server connection lost. Auto-reconnect after 60[s]
[30/03/2021 10:40:24] [Miele] Lave-linge: Connection with Miele event server successfully recovered from stale server connection.
[30/03/2021 10:40:24] [Miele] Lave-linge: Event 'device' received.
[30/03/2021 10:40:24] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:42:24] [Miele] Lave-linge: Miele event server connection lost. Auto-reconnect after 60[s]
[30/03/2021 10:43:24] [Miele] Lave-linge: Connection with Miele event server successfully recovered from stale server connection.
[30/03/2021 10:43:24] [Miele] Lave-linge: Event 'device' received.
[30/03/2021 10:43:24] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:44:51] [Miele] Lave-linge: Event 'device' received.
*[30/03/2021 10:44:51] [Miele] Lave-linge: Updating characteristic InUse to 0.
[30/03/2021 10:44:51] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:44:53] [Miele] Lave-linge: Event 'device' received.
*[30/03/2021 10:44:53] [Miele] Lave-linge: Updating characteristic InUse to 1.
[30/03/2021 10:44:53] [Miele] Lave-linge: Remaing Duration update received: 0[s]
[30/03/2021 10:44:53] [Miele] Lave-linge: Updating characteristic RemainingDuration to 0.
[30/03/2021 10:46:39] [Miele] Lave-linge: Connection with Miele event server successfully recovered from stale server connection.
[30/03/2021 10:46:40] [Miele] Lave-linge: Event 'device' received.
[30/03/2021 10:46:40] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:46:40] [Miele] Lave-linge: Updating characteristic RemainingDuration to 7020.
[30/03/2021 10:49:24] [Miele] Lave-linge: Miele event server connection lost. Auto-reconnect after 60[s]
[30/03/2021 10:50:24] [Miele] Lave-linge: Connection with Miele event server successfully recovered from stale server connection.
[30/03/2021 10:50:25] [Miele] Lave-linge: Event 'device' received.
[30/03/2021 10:50:25] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:53:24] [Miele] Lave-linge: Miele event server connection lost. Auto-reconnect after 60[s]
[30/03/2021 10:54:25] [Miele] Lave-linge: Connection with Miele event server successfully recovered from stale server connection.
[30/03/2021 10:54:25] [Miele] Lave-linge: Event 'device' received.
[30/03/2021 10:54:25] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:55:03] [Miele] Lave-linge: Event 'device' received.
*[30/03/2021 10:55:03] [Miele] Lave-linge: Updating characteristic InUse to 0.
[30/03/2021 10:55:03] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:55:08] [Miele] Lave-linge: Event 'device' received.
*[30/03/2021 10:55:08] [Miele] Lave-linge: Updating characteristic InUse to 1.
[30/03/2021 10:55:08] [Miele] Lave-linge: Remaing Duration update received: 0[s]
[30/03/2021 10:55:08] [Miele] Lave-linge: Updating characteristic RemainingDuration to 0.
[30/03/2021 10:55:10] [Miele] Lave-linge: Event 'device' received.
[30/03/2021 10:55:10] [Miele] Lave-linge: Remaing Duration update received: 7020[s]
[30/03/2021 10:55:10] [Miele] Lave-linge: Updating characteristic RemainingDuration to 7020.
[30/03/2021 10:56:24] [Miele] Lave-linge: Returning 0 for Active.
[30/03/2021 10:56:24] [Miele] Lave-linge: Returning 1 for InUse.
[30/03/2021 10:56:24] [Miele] Lave-linge: Returning 7020 for RemainingDuration.

And here is the state as returned by Miele server:

{
  "ProgramID": {
    "value_raw": 2164260866,
    "value_localized": "Cottons",
    "key_localized": "Program name"
  },
  "status": {
    "value_raw": 7,
    "value_localized": "Finished",
    "key_localized": "status"
  },
  "programType": {
    "value_raw": 2,
    "value_localized": "Automatic programme",
    "key_localized": "Program type"
  },
  "programPhase": {
    "value_raw": 268,
    "value_localized": "Finished",
    "key_localized": "Program phase"
  },
  "remainingTime": [
    1,
    57
  ],
  "startTime": [
    0,
    0
  ],
  "targetTemperature": [
    {
      "value_raw": -32768,
      "value_localized": null,
      "unit": "Celsius"
    }
  ],
  "temperature": [],
  "signalInfo": false,
  "signalFailure": false,
  "signalDoor": false,
  "remoteEnable": {
    "fullRemoteControl": false,
    "smartGrid": false,
    "mobileStart": false
  },
  "ambientLight": null,
  "light": null,
  "elapsedTime": [
    0,
    0
  ],
  "spinningSpeed": {
    "unit": "rpm",
    "value_raw": 0,
    "value_localized": "0",
    "key_localized": "Spin speed"
  },
  "dryingStep": {
    "value_raw": null,
    "value_localized": "",
    "key_localized": "Drying level"
  },
  "ventilationStep": {
    "value_raw": null,
    "value_localized": "",
    "key_localized": "Fan level"
  },
  "plateStep": [],
  "ecoFeedback": null,
  "batteryLevel": null
}

Update to HomeBridge 1.3 breaks plugin due to 1-character Model number

Hello,
I updated Homebridge to 1.3 this morning (I was on latest 1.2.x). Visibly there are a lot of supplemental checks... and the single digit model number is not well appreciated. I suggest to prepend some string like "MieleDeviceModel-" to the Model 1-digit returned by Miele API (which seems empty in my case BTW).

[20/02/2021 11:29:31] [homebridge-mieleathome] This plugin threw an error from the characteristic 'Model': Error: [Model] characteristic must have a length of more than 1 character otherwise HomeKit will reject this accessory. Ignoring new value.
    at Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1991:38)
    at Characteristic.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1457:21)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
    at Characteristic.handleGetRequest (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Characteristic.js:632:24)
    at Characteristic.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2127:22)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at /usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:113:16)
    at Characteristic.toHAP (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Characteristic.js:1355:24)
    at _loop_1 (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:601:24)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Service.js:450:21
    at new Promise (<anonymous>)
    at Service.toHAP (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:549:12)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1034:72
    at Array.map (<anonymous>)
    at Accessory.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1034:49) See https://git.io/JtMGR for more info.

Create automation for "finished running"

In Homekit "Faucets" cannot have automations.
To be able to run automations upon "program finished" for washingmachines etc. it would be nice to add a plain switch-device.

Also I noticed a typo, in homekit I found a nice new device with name "Masmachine". Edit: The typo was mine hahha

Hope you are able to add the switch though! It would give us great feature-possibilities :)

Cannot connect to Devices

Does not seem to be able to connect to my Oven or Steam Oven, are these really unsupported?

Discovered name XXXXXX,: Oven, model: H7264BP
[4/18/2021, 11:50:06 AM] [Miele@home] Ignoring unsupported device. Device: "Oven" with raw type value: 12.
[4/18/2021, 11:50:06 AM] [Miele@home] Discovered device: id: XXXXXX, name: Dishwasher, model: G7599
[4/18/2021, 11:50:06 AM] [Miele@home] Dishwasher: Adding temperature sensor.
[4/18/2021, 11:50:06 AM] [Miele@home] Registering new accessory: Dishwasher
[4/18/2021, 11:50:06 AM] [Miele@home] Discovered device: id: XXXXXX, name: Oven, model: H7860BP
[4/18/2021, 11:50:06 AM] [Miele@home] Ignoring unsupported device. Device: "Oven" with raw type value: 12.
[4/18/2021, 11:50:06 AM] [Miele@home] Discovered device: id: XXXXXX, name: Steam combination oven, model: DGC7440
[4/18/2021, 11:50:06 AM] [Miele@home] Ignoring unsupported device. Device: "Steam combination oven" with raw type value: 31.
[4/18/2021, 11:50:07 AM] [Miele@home] Dishwasher: Initial connection with Miele event server successfully established.

Shouldn't all devices be supported?

Warnings during install

Hello Sander, I take advantage of your new release (cool !) to mention that during installation, there are some warnings appearing. It is from the beginning of me using the miele@home plugin. As the warnings occur only with this plugin, I wonder if it is due to a wrong installation from my side or if it is nothing to worry about.

npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated [email protected]: 'github' has been renamed to '@octokit/rest' (https://git.io/vNB11)

Do I have to try to force install other version of those dependencies ?

Unable to set target temp, off instead of temperature

2 7 2
I hope you will not kill me :-)

2.7.2 fixes the temperature for the dish washer and wash machine, and still no Warning or Error at startup !

but I think two side effects occur:

(1) there is now an "Off" label where the target temperature for fridge used to be. And this "Off" label remains even if you change the target temperature.

And BTW, when you do change the target temperature, a 400 error now appears in the log:

[10/03/2021 19:45:07] [Miele] Miele API request https://api.mcs3.miele.com/v1/devices/mac-00124B0005AB4D8B/actions failed. Status 400: "Bad Request".Error: Request failed with status code 400

(2) whilst my washing machine is switched off, it now appears "Running" (Active = 1, In Use = 0)
I am quite sure it was not the case with 2.7.1 (a switched off wash machine was Active = 0, In Use = 0). Strangely enough, I went back installing 2.7.1, 2.7.0, even 2.6.1 but I could no more get the Fridge to display the Target Temperature or the Wash Machine to indicate "Off" when it is off (I guess it is due to caching, but I always fear the consequences of deleting caches...)

Originally posted by @MichelRabozee in #15 (reply in thread)

Disabling temperature sensor for Dish Washer does not work

Hello,

I played a bit today with some settings I never touched :-)

I disabled the "temperature sensor" for my dish washer, and it still appears (the log also still says "Lave-vaisselle: Adding temperature sensor.")

I did the same for the Washing Machine, and it worked: the log said "removing temperature sensor" and it was effective.

Current Fridge temperature rounding error

Hello, since some time, I see in the homebridge accessory page the fact that the current temperature of the fridge is 4.1° instead of 4°. The Home application displays 4.0°, only because it truncate to the 1/10th of unit.

The State API returns:

  "temperature": [
    {
      "value_raw": 400,
      "value_localized": 4,
      "unit": "Celsius"
    }

I guess this comes during the division of value_raw by 100, but I do not understand why 400/100 gives 4.05 ??? Maybe because the division is done on integers with a float result ? Maybe it is needed to first cast value_raw to float ? or truncate the result to an integer ?

current fridge temperature-1
current fridge temperature-2
current fridge temperature-3

Error: Accessories must be created with a non-empty displayName.

Hi, im getting this error after setting up the plugin and restarting homebridge.
Any idea why it has an empty displayName?

[2/19/2021, 6:52:03 PM] [Miele@home] Discovered device: id: 153657114, name: , model: RX2 [2/19/2021, 6:52:03 PM] [Miele@home] Error: Accessories must be created with a non-empty displayName. at new Accessory (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:232:29) at new PlatformAccessory (/usr/lib/node_modules/homebridge/src/platformAccessory.ts:69:9) at MieleAtHomePlatform.discoverDevices (/usr/lib/node_modules/homebridge-mieleathome/src/platform.ts:139:29) at processTicksAndRejections (internal/process/task_queues.js:93:5)

Introduce stopping state mapped on finished and cancelled.

Currently the mapping is as follows:

Miele State HomeKit InUse HomeKit Active Displayed in Home
Off = 1 0 0 Off
ProgramSelected = 3 0 1 Starting
WaitingToStart = 4 0 1 Starting
InUse = 5 1 1 Running
Finished = 7 0 1 Starting
Cancelled = 9 0 1 Starting

Finished / Cancelled could be mapped as follows instead:

Miele State HomeKit InUse HomeKit Active Displayed in Home
Off = 1 0 0 Off
ProgramSelected = 3 0 1 Starting
WaitingToStart = 4 0 1 Starting
InUse = 5 1 1 Running
Finished = 7 1 0 Stopping
Cancelled = 9 1 0 Stopping

@MichelRabozee Would this be an improvement, or would it break your automation possibilities?

Originally posted by @QuickSander in #8

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.