There is an Home Connect integration wich im using for my Coffee Machine, now i have a Cookit from bosch and this seems not to work right now. Would be nice to see this integrated too
If you need any Information i will try to provide it
Here is another cookit user. It seems that the integration is authenticated without problems but i donโt see any device in the integration.
the log states [homeassistant.components.home_connect.api] Appliance type CookProcessor not implemented
Here is another Cookit user. I added Cookit locally to my HA instance a few weeks ago - yesterday I tested a few more things and created a PR:
Unfortunately, the device can only be switched on/off and the current operational status (inactive/ready/run/pause/actionrequiered/โฆ) can be read out. Programs (and thus hopefully also duration and remaining time) are to be enabled in the Cookit API in 2022.
you are my personal hero iยดm hoping that bosch open its api even more, they are very costumer based at the moment, it takes a while for many things but they are doing what the community needs. many companies should hear more at their customers
Nice, i also tried to optimize the cookit integration but i dont know nothing about the git and pull thing. so here are my main parts of my โintegrationโ. Whitin an automatic programm you can see a litle progress but without a complete api it is only a workaround.
class DeviceWithCookprocessor(HomeConnectDevice):
"""Device with programs."""
PROGRAMS = []
def get_programs_available(self):
"""Get the available programs."""
return self.PROGRAMS
def get_program_switches(self):
"""Get a dictionary with info about program switches.
There will be one switch for each program.
"""
programs = self.get_programs_available()
return [{ATTR_DEVICE: self, "program_name": p["name"]} for p in programs]
def get_program_sensors(self):
"""Get a dictionary with info about program sensors.
There will be one of the four types of sensors for each
device.
"""
sensors = {
"Current Step Remaining Time": (TIME_SECONDS, "mdi:camera-timer", None, 1),
"Current StepNumber": (TIME_SECONDS, "mdi:foot-print", None, 1),
"Program Progress": (PERCENTAGE, "mdi:progress-clock", None, 1),
}
return [
{
ATTR_DEVICE: self,
ATTR_DESC: k,
ATTR_UNIT: unit,
ATTR_KEY: "BSH.Common.Option.{}".format(k.replace(" ", "")),
ATTR_ICON: icon,
ATTR_DEVICE_CLASS: device_class,
ATTR_SIGN: sign,
}
for k, (unit, icon, device_class, sign) in sensors.items()
]
class CookProcessor(
DeviceWithOpState,
DeviceWithCookprocessor,
):
"""CookProcessor class."""
PROGRAMS = [
{"name": "CookProcessor.Program.ManualProgram"},
{"name": "BSH.Common.Program.GuidedProgram"},
{"name": "BSH.Common.Program.AutomaticProgram"},
]
def get_entity_info(self):
"""Get a dictionary with infos about the associated entities."""
op_state_sensor = self.get_opstate_sensor()
program_switches = self.get_program_switches()
program_sensors = self.get_program_sensors()
return {
"switch": program_switches,
"sensor": program_sensors + op_state_sensor,
}