thoukydides / homebridge-homeconnect

Home Connect home appliances plugin for Homebridge
https://www.thouky.co.uk
ISC License
143 stars 15 forks source link

Coffee Maker programs (Bosch CTL636ES6, Siemens TI9553X1RW) #1

Closed DJay-X closed 4 years ago

DJay-X commented 4 years ago

First of all thanks for your work and sharing. I was desperate in hope for a Homebridge home connect plugin to use with my Bosch CTL636ES6 Coffee Maker. If you are interested I’m happy to help „as a user with this coffee maker“ ;) so that your plugin will also give full support for all the available home connect features for this device. Im available in the new year.

Once again thanks. Happy holidays and all the best.

Kohle81 commented 4 years ago

Hello, thanks for this plugin! I have a coffee machine Siemens EQ9 s500 and it would be great to integrate coffee machines 😊😊

Nice days and a happy new year!

thoukydides commented 4 years ago

Thank you @DJay-X and @Kohle81 for your interest in this plugin.

I have added some support in 6c9c4660d5d0308e9a5bd2e4300c466f460d4633 for the other appliance types, including Coffee Maker appliances, for which Home Connect simulators are provided. This is currently at a similar level to the Dishwasher/Hob/Oven support, i.e. control is limited to power on/off.

However, I note that the Coffee Maker simulator does not behave entirely in accordance with the Home Connect API documentation, e.g.

This makes it difficult to develop and debug support for appliances that I do not own since it could be either the simulator or documentation (or more likely both) that is wrong.

If you can provide the log output for this plugin running in debug mode (i.e. launched with DEBUG=* homebridge -D) for typical operations (e.g. making coffee, beans/water emptying and refilled, etc) with your physical appliances then I should be able to fix any issues and add support for useful events. Please also describe the activities that the log corresponds to, and any ways that the plugin did not behave as you expected. (Make sure you remove any ClientID or OAuth tokens from the log output before posting...)

More complete support for the Home Connect API capabilities is tricky because Apple have not defined HomeKit services and characteristics that are particularly suitable for these sorts of appliances. Whilst I can define my own custom services and characteristics they would not be supported by Apple's Home app or Siri, and only have limited support in third-party applications. Hence, I prefer to do that only when absolutely essential.

Operations such as selecting, configuring, or starting a program would probably need to be mapped to a bunch of Switch services, which results in an unpleasant user interface. Given that I cannot support this for my own appliances (since it would require the Hob-Control and Oven-Control scopes) I am unlikely to add support for that to this plugin. Anyway, the same functionality can already be implemented using homebridge-ifttt with IFTTT Webhooks.

If there are specific operations or status supported by the Home Connect API that you think should be supported in this plugin then please provide details. Events reported in the log with (0 listeners) are good candidates for read-only status, e.g. in most cases they can be mapped to Programmable Switch Event. If you can, please suggest a way of mapping any requests for new functionality to standard HomeKit services and characteristics described in the HomeKit Accessory Protocol Specification. If there is a sensible mapping then I am far more likely to add support...

thoukydides commented 4 years ago

I have just added experimental support for starting/stopping programs (CoffeeMaker, Dishwasher, Dryer, Washer, and WasherDryer) or monitoring which programs are active (Oven). This is in version 0.8.0.

By default this creates a Switch service for each program that the appliance supports:

It is possible to use the Homebridge config.json file to prevent these program switches from being added, or to allow a customised selection of programs (with options) to be specified. However, it will take me a while to document how to construct the configuration.

@DJay-X and @Kohle81 please let me know how this (and the other features of this plugin) work with your coffee makers. It appears to work with the simulator...

Kohle81 commented 4 years ago

Hello Alexander,

thanks for your work! I‘ll try to test it thursday night 👍👍

I wish you a good start in the new year!

Greetings from Germany,

Manuel (Kohle_81)

Am 30.12.2019 um 16:58 schrieb Alexander Thoukydides notifications@github.com:

 I have just added experimental support for starting/stopping programs (CoffeeMaker, Dishwasher, Dryer, Washer, and WasherDryer) or monitoring which programs are active (Oven). This is in version 0.8.0.

By default this creates a Switch service for each program that the appliance supports:

Turning a switch on starts the corresponding program with its default options. For this to work the appliance probably needs to be switched on without any program running. Turning a switch off stops the program. If a program is active then the corresponding switch should be on, with all others off. If no programs are active then all switches should be off. It is possible to use the Homebridge config.json file to prevent these program switches from being added, or to allow a customised selection of programs (with options) to be specified. However, it will take me a while to document how to construct the configuration.

@DJay-X and @Kohle81 please let me know how this (and the other features of this plugin) work with your coffee makers. It appears to work with the simulator...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

thoukydides commented 4 years ago

I have just updated the README with a description of how to customise the programs.

DJay-X commented 4 years ago

New Year is over. All the best to you guys and to @thoukydides . Thanks for your ongoing work on this great plugin I was able to use now. Works at first glance for me and my Bosch CTL636ES6 coffee maker.

1) As expected I of course get a bunch of programs with my basic config.

IMG_0704

{
            "platform": "HomeConnect",
            "clientid": "1AB2CD3EF4GH5IJ6KL7MN8OP9QR0ST1UV2WX3YZ"
        },
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Latte Macchiato' (ConsumerProducts.CoffeeMaker.Program.Beverage.LatteMacchiato) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Caffe Latte' (ConsumerProducts.CoffeeMaker.Program.Beverage.CaffeLatte) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Milk froth' (ConsumerProducts.CoffeeMaker.Program.Beverage.MilkFroth) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Warm milk' (ConsumerProducts.CoffeeMaker.Program.Beverage.WarmMilk) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Kleiner Brauner' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KleinerBrauner) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Groer Brauner' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.GrosserBrauner) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Verlngerter' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Verlaengerter) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Verlngerter braun' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.VerlaengerterBraun) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Wiener Melange' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.WienerMelange) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Flat White' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.FlatWhite) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Cortado' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Cortado) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Caf cortado' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeCortado) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Caf con leche' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeConLeche) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Caf au lait' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.CafeAuLait) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Doppio' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Doppio) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Kaapi' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Kaapi) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Koffie verkeerd' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.KoffieVerkeerd) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Galo' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Galao) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Garoto' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Garoto) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Americano' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Program 'Red Eye' (ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.RedEye) inactive
Jan 02 15:36:16 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:16] [HomeConnect] [Kaffeevollautomat] Event drip tray full
Jan 02 15:36:18 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:18] [HomeConnect] [Kaffeevollautomat] Off
Jan 02 15:38:30 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:38:30] [HomeConnect] [Kaffeevollautomat] Program inactive; 0 seconds remaining
Jan 02 15:38:30 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:38:30] [HomeConnect] [Kaffeevollautomat] Inactive

I wanted to show only a few of them in Eve App, because otherwise it's a lot. ;) However I can't find in the Log the Home Appliance Identifier for the device which seems to be necessary to give a structure for the customising Programs.

Hope you can help. Probably I just can't see the wood for the trees. Thx for this.

2) Another feature I'm not sure how to handle is the "drip tray full". It is shown in the log but not in the Eve app triggert or I'm not aware how to use it with the "button" feature.

Napkin 02 01 20, 5 15 40 PM


3) Another point is the "Inaktiv" warning. When the the coffee maker is switched on but not in use running a program. Is this a feature or a bug? ;) I find the warning irritating.

Napkin 02 01 20, 5 15 11 PM


4) I get this error from time to time. Not sure why and the machine is of course not responding. I'll keep an eye on this. Jan 02 16:40:51 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 16:40:51] [HomeConnect] [Kaffeevollautomat] Home Connect API error: HomeAppliance did not respond to connection initialization requests in time, it might be offline [SDK.Error.HomeAppliance.Connection.Initialization.Failed]

Jan 02 15:36:00 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:00] [HomeConnect] [Kaffeevollautomat] SET Off
Jan 02 15:36:02 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:02] [HomeConnect] [Kaffeevollautomat] Error SET BSH.Common.Setting.PowerState=BSH.Common.EnumType.PowerState.Standby: Home Connect API error: Request cannot be performed temporarily! due to local actuated user intervention [BSH.Common.Error.LockedByLocalControl]
Jan 02 15:36:02 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:02] [HomeConnect] [Kaffeevollautomat] Home Connect API error: Request cannot be performed temporarily! due to local actuated user intervention [BSH.Common.Error.LockedByLocalControl]
Jan 02 15:36:15 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 15:36:15] [HomeConnect] [Kaffeevollautomat] SET Off

Thanks again for the time you are investing and the great support.

thoukydides commented 4 years ago

1.

As expected I of course get a bunch of programs with my basic config.

I wanted to show only a few of them in Eve App, because otherwise it's a lot. ;) However I can't find in the Log the Home Appliance Identifier for the device which seems to be necessary to give a structure for the customising Programs.

Hope you can help. Probably I just can't see the wood for the trees.

Have you tried looking at this project's Wiki?

config.json:

The haid-string is the haId used to uniquely identify the appliance for the Home Connect API. It is comprised of the manufacturer's name, the appliance model number (E-Nr), and a twelve-digit hexadecimal number, each separated by hyphens (e.g. SIEMENS-HB678GBS6B-0123456789AB). This can be found within HomeKit apps as the appliance's Serial Number. It is also written to the Homebridge log file after using the HomeKit Identify method on the accessory (and as part of the Home Connect request URLs when debug is enabled by starting Homebridge with the -D option).

Controlling Programs:

The Home Appliance ID (haID) is a string used by the Home Connect API to uniquely identify each appliance. It is comprised of the manufacturer's name, the appliance model number (E-Nr), and a twelve-digit hexadecimal number, each separated by hyphens (e.g. BOSCH-HCS06COM1-846D1E984F70). This value can be found from the Identify log output (or from almost any part of this plugin's log when debug is enabled by starting Homebridge with the -D option). It is also shown as the accessory's Serial Number within HomeKit apps.

HomeKit Services and Characteristics:

Service Characteristic Used for
Accessory Information Identify Log information about the appliance
Accessory Information Manufacturer Appliance manufacturer
Accessory Information Model Appliance model number (E-Nr)
Accessory Information Serial Number Appliance haID (Home Appliance ID)

By far the easiest approach is to use the HomeKit Identify mechanism since that writes the complete JSON structure to the log file that can be used as a basis for your config.json.


2.

Another feature I'm not sure how to handle is the "drip tray full". It is shown in the log but not in the Eve app triggert or I'm not aware how to use it with the "button" feature.

The problem is that the Home Connect API only appears to provide this as an Event: https://developer.home-connect.com/docs/monitoring/appliance_events

There does not appear to be any way to query this state, e.g. when Homebridge starts or after connection to an appliance has been lost for a while. This is why I have implemented it as a Stateless Programmable Switch that generates HomeKit triggers, rather than a characteristic that presents a persistent state.

You can use this to trigger HomeKit automations.


3.

Another point is the "Inaktiv" warning. When the the coffee maker is switched on but not in use running a program. Is this a feature or a bug? ;) I find the warning irritating.

I don't know why the Eve app decides to show Inactive devices in that way. It seems perfectly reasonable to me that the idle state of a device should be inactive. Other HomeKit apps do not treat it so negatively.

However, I agree that it is annoying that the Home Connect appliances look that way in the Eve app. I have raised issue #6 to consider whether there is a better approach. I suspect that fixing this will lose some functionality though.


4.

I get this error from time to time. Not sure why and the machine is of course not responding. I'll keep an eye on this. Jan 02 16:40:51 raspberrypi-3BPlus homebridge[3674]: [2020-1-2 16:40:51] [HomeConnect] [Kaffeevollautomat] Home Connect API error: HomeAppliance did not respond to connection initialization requests in time, it might be offline [SDK.Error.HomeAppliance.Connection.Initialization.Failed]

That looks like it is an issue between your appliance and the Home Connect servers. I suspect that if you open the official Home Connect app, go to the appliance page, then its Settings, and scroll down to the Network section, then you will see a problem being reported there.

There isn't anything that I can do about it within this plugin. Sorry.

DJay-X commented 4 years ago

Thanks a lot. The hint using the HomeKit Identify method on the accessory in the Eve App and looking at the Log was the solution. 🙈 Everything else I will figure out. Thanks again.

Any chance to have the option to sort the buttons in the device? At the moment for example "Power" is somewhere in the middle of the coffee programs.

Napkin 02 01 20, 6 54 04 PM

Anyway no complains however. Great work in this short time and so useful. Better than IFTTT workaround I have previous. Now I see the actual state of the device.

Appreciate your time, work and sharing with us. 😌🙏

thoukydides commented 4 years ago

Thanks a lot. The hint using the HomeKit Identify method on the accessory in the Eve App and looking at the Log was the solution. 🙈

Good to hear that you got it working.

Any chance to have the option to sort the buttons in the device? At the moment for example "Power" is somewhere in the middle of the coffee programs.

There are a few attributes that this plugin could set on the HomeKit services that might influence this. I have raised issue #7 to investigate.

DJay-X commented 4 years ago

I hope not to bother but I've been searching like a maniac for the programs option to make a coffee "Americano" two cups at once. "Doppelbezug". "Double dispensing"

Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] Identify: BOSCH-CTL636ES6-12A34B4567C8
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Option.ProgramProgress=0 %
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Root.ActiveProgram=null
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Root.SelectedProgram=ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Setting.PowerState=BSH.Common.EnumType.PowerState.On
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Status.DoorState=BSH.Common.EnumType.DoorState.Closed
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Status.LocalControlActive=false
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Status.OperationState=BSH.Common.EnumType.OperationState.Ready
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] BSH.Common.Status.RemoteControlStartAllowed=true
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] ConsumerProducts.CoffeeMaker.Option.BeanAmount=ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.VeryStrong
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] ConsumerProducts.CoffeeMaker.Option.CoffeeTemperature=ConsumerProducts.CoffeeMaker.EnumType.CoffeeTemperature.94C
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] ConsumerProducts.CoffeeMaker.Option.FillQuantity=140 ml
Jan 02 19:33:11 raspberrypi-3BPlus homebridge[7322]: [2020-1-2 19:33:11] [HomeConnect] [Kaffeevollautomat] connected=true

In the Home Connect app and on the Display it looks like this to make a Americano for two people.

Napkin 02 01 20, 7 56 45 PM

Any Idea? Thanks. And if there is a way to give a donation or spend a coffee, please of course let me know. Happy to give at least a little tribute this way.

thoukydides commented 4 years ago

I hope not to bother but I've been searching like a maniac for the programs option to make a coffee "Americano" two cups at once. "Doppelbezug".

I suspect that it is the ConsumerProducts.CoffeeMaker.Option.FillQuantity option. You just need to specify double the volume of a single cup.

Please provide the rest of the Homebridge log after an Identify operation. You only provided the initial portion. Further down you should see a section that begins with

21 of 21 programs available

and is followed by a (very) large JSON structure. That structure lists all of the options that each program supports, with a list or range of allowed values for each option.

DJay-X commented 4 years ago

Hmmm.. looks not like there is no option available?

Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:             {
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                 "name": "Americano",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                 "key": "ConsumerProducts.CoffeeMaker.Program.CoffeeWorld.Americano",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                 "options": {
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     "ConsumerProducts.CoffeeMaker.Option.CoffeeTemperature": "ConsumerProducts.CoffeeMaker.EnumType.CoffeeTemperature.90C",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     "_ConsumerProducts.CoffeeMaker.Option.CoffeeTemperature": [
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.CoffeeTemperature.90C",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.CoffeeTemperature.94C",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.CoffeeTemperature.95C"
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     ],
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     "ConsumerProducts.CoffeeMaker.Option.BeanAmount": "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.VeryMild",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     "_ConsumerProducts.CoffeeMaker.Option.BeanAmount": [
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.VeryMild",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.Mild",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.Normal",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.Strong",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.VeryStrong",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.DoubleShot",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.DoubleShotPlus",
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                         "ConsumerProducts.CoffeeMaker.EnumType.BeanAmount.DoubleShotPlusPlus"
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     ],
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     "ConsumerProducts.CoffeeMaker.Option.FillQuantity": 100,
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                     "_ConsumerProducts.CoffeeMaker.Option.FillQuantity": "Int [100 .. 140] step 20 ml"
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:                 }
Jan 02 20:43:52 raspberrypi-3BPlus homebridge[7322]:             },
thoukydides commented 4 years ago

Those are also the only options listed in the Home Connect documentation for CoffeeMaker programs.

I suspect that the Home Connect app is using some additional APIs that are not part of the public API...

thoukydides commented 4 years ago

It looks like CoffeeMaker appliances are now essentially working with this plugin - at least as far as is possible with the published Home Connect API. Hence, I am going to close this issue.

Please feel free to raise a new issue if you discover any problems.

DJay-X commented 4 years ago

Info from Home Connect Team about "Double dispensing" and public API.

Regarding program and options list you are correct. Not all of them are public, while I cannot give you correct values to make it work, as there is none – simply this feature along with some others are not implemented, and until they will be added to the API, we cannot do anything. Of course I will provide your request to our colleagues responsible for the API – we add new programs and options for all of our appliances to expand capabilities of our devices all the time (i.e. in December we added a lot of new beverages for coffee machine), while I cannot give you any timeline for that. I can recommend either checking our Changelog page: https://developer.home-connect.com/changelog, or subscribe to our Newsletter. For sure we will inform everyone if we add such option to our solution.

thoukydides commented 4 years ago

Info from Home Connect Team about "Double dispensing" and public API.

Thank you for posting their response. It is pretty much what I was expecting, but good to see that they are trying to be helpful, and that more functionality is planned.

(I am still for responses to several questions that I asked a few weeks earlier...)