mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Add air conditioner and microwave features to Home Connect (#151184)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Norbert Rittel <norbert@rittel.de>
This commit is contained in:
committed by
GitHub
parent
5b6a4b0fea
commit
704d4c896d
@@ -13,11 +13,13 @@ DOMAIN = "home_connect"
|
||||
API_DEFAULT_RETRY_AFTER = 60
|
||||
|
||||
APPLIANCES_WITH_PROGRAMS = (
|
||||
"AirConditioner",
|
||||
"CleaningRobot",
|
||||
"CoffeeMaker",
|
||||
"Dishwasher",
|
||||
"Dryer",
|
||||
"Hood",
|
||||
"Microwave",
|
||||
"Oven",
|
||||
"WarmingDrawer",
|
||||
"Washer",
|
||||
@@ -83,6 +85,14 @@ PROGRAMS_TRANSLATION_KEYS_MAP = {
|
||||
value: key for key, value in TRANSLATION_KEYS_PROGRAMS_MAP.items()
|
||||
}
|
||||
|
||||
FAN_SPEED_MODE_OPTIONS = {
|
||||
bsh_key_to_translation_key(option): option
|
||||
for option in (
|
||||
"HeatingVentilationAirConditioning.AirConditioner.EnumType.FanSpeedMode.Automatic",
|
||||
"HeatingVentilationAirConditioning.AirConditioner.EnumType.FanSpeedMode.Manual",
|
||||
)
|
||||
}
|
||||
|
||||
AVAILABLE_MAPS_ENUM = {
|
||||
bsh_key_to_translation_key(option): option
|
||||
for option in (
|
||||
@@ -315,6 +325,10 @@ PROGRAM_ENUM_OPTIONS = {
|
||||
options,
|
||||
)
|
||||
for option_key, options in (
|
||||
(
|
||||
OptionKey.HEATING_VENTILATION_AIR_CONDITIONING_AIR_CONDITIONER_FAN_SPEED_MODE,
|
||||
FAN_SPEED_MODE_OPTIONS,
|
||||
),
|
||||
(
|
||||
OptionKey.CONSUMER_PRODUCTS_CLEANING_ROBOT_REFERENCE_MAP_ID,
|
||||
AVAILABLE_MAPS_ENUM,
|
||||
|
||||
@@ -82,6 +82,12 @@ set_program_and_options:
|
||||
- dishcare_dishwasher_program_maximum_cleaning
|
||||
- dishcare_dishwasher_program_mixed_load
|
||||
- dishcare_dishwasher_program_learning_dishwasher
|
||||
- heating_ventilation_air_conditioning_air_conditioner_program_active_clean
|
||||
- heating_ventilation_air_conditioning_air_conditioner_program_auto
|
||||
- heating_ventilation_air_conditioning_air_conditioner_program_cool
|
||||
- heating_ventilation_air_conditioning_air_conditioner_program_dry
|
||||
- heating_ventilation_air_conditioning_air_conditioner_program_fan
|
||||
- heating_ventilation_air_conditioning_air_conditioner_program_heat
|
||||
- laundry_care_dryer_program_cotton
|
||||
- laundry_care_dryer_program_synthetic
|
||||
- laundry_care_dryer_program_mix
|
||||
@@ -136,6 +142,7 @@ set_program_and_options:
|
||||
- cooking_oven_program_microwave_90_watt
|
||||
- cooking_oven_program_microwave_180_watt
|
||||
- cooking_oven_program_microwave_360_watt
|
||||
- cooking_oven_program_microwave_450_watt
|
||||
- cooking_oven_program_microwave_600_watt
|
||||
- cooking_oven_program_microwave_900_watt
|
||||
- cooking_oven_program_microwave_1000_watt
|
||||
@@ -177,6 +184,28 @@ set_program_and_options:
|
||||
- laundry_care_washer_dryer_program_easy_care
|
||||
- laundry_care_washer_dryer_program_wash_and_dry_60
|
||||
- laundry_care_washer_dryer_program_wash_and_dry_90
|
||||
air_conditioner_options:
|
||||
collapsed: true
|
||||
fields:
|
||||
heating_ventilation_air_conditioning_air_conditioner_option_fan_speed_percentage:
|
||||
example: 50
|
||||
required: false
|
||||
selector:
|
||||
number:
|
||||
min: 1
|
||||
max: 100
|
||||
step: 1
|
||||
mode: box
|
||||
unit_of_measurement: "%"
|
||||
heating_ventilation_air_conditioning_air_conditioner_option_fan_speed_mode:
|
||||
required: false
|
||||
selector:
|
||||
select:
|
||||
mode: dropdown
|
||||
translation_key: fan_speed_mode
|
||||
options:
|
||||
- heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_automatic
|
||||
- heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_manual
|
||||
cleaning_robot_options:
|
||||
collapsed: true
|
||||
fields:
|
||||
|
||||
@@ -252,6 +252,7 @@
|
||||
"cooking_oven_program_microwave_1000_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_1000_watt%]",
|
||||
"cooking_oven_program_microwave_180_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_180_watt%]",
|
||||
"cooking_oven_program_microwave_360_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_360_watt%]",
|
||||
"cooking_oven_program_microwave_450_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_450_watt%]",
|
||||
"cooking_oven_program_microwave_600_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_600_watt%]",
|
||||
"cooking_oven_program_microwave_900_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_900_watt%]",
|
||||
"cooking_oven_program_microwave_90_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_90_watt%]",
|
||||
@@ -281,6 +282,12 @@
|
||||
"dishcare_dishwasher_program_quick_65": "[%key:component::home_connect::selector::programs::options::dishcare_dishwasher_program_quick_65%]",
|
||||
"dishcare_dishwasher_program_steam_fresh": "[%key:component::home_connect::selector::programs::options::dishcare_dishwasher_program_steam_fresh%]",
|
||||
"dishcare_dishwasher_program_super_60": "[%key:component::home_connect::selector::programs::options::dishcare_dishwasher_program_super_60%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_active_clean": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_active_clean%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_auto": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_auto%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_cool": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_cool%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_dry": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_dry%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_fan": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_fan%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_heat": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_heat%]",
|
||||
"laundry_care_dryer_program_anti_shrink": "[%key:component::home_connect::selector::programs::options::laundry_care_dryer_program_anti_shrink%]",
|
||||
"laundry_care_dryer_program_blankets": "[%key:component::home_connect::selector::programs::options::laundry_care_dryer_program_blankets%]",
|
||||
"laundry_care_dryer_program_business_shirts": "[%key:component::home_connect::selector::programs::options::laundry_care_dryer_program_business_shirts%]",
|
||||
@@ -443,6 +450,13 @@
|
||||
"laundry_care_dryer_enum_type_drying_target_iron_dry": "[%key:component::home_connect::selector::drying_target::options::laundry_care_dryer_enum_type_drying_target_iron_dry%]"
|
||||
}
|
||||
},
|
||||
"fan_speed_mode": {
|
||||
"name": "[%key:component::home_connect::services::set_program_and_options::fields::heating_ventilation_air_conditioning_air_conditioner_option_fan_speed_mode::name%]",
|
||||
"state": {
|
||||
"heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_automatic": "[%key:component::home_connect::selector::fan_speed_mode::options::heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_automatic%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_manual": "[%key:component::home_connect::selector::fan_speed_mode::options::heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_manual%]"
|
||||
}
|
||||
},
|
||||
"flow_rate": {
|
||||
"name": "[%key:component::home_connect::services::set_program_and_options::fields::consumer_products_coffee_maker_option_flow_rate::name%]",
|
||||
"state": {
|
||||
@@ -575,6 +589,7 @@
|
||||
"cooking_oven_program_microwave_1000_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_1000_watt%]",
|
||||
"cooking_oven_program_microwave_180_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_180_watt%]",
|
||||
"cooking_oven_program_microwave_360_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_360_watt%]",
|
||||
"cooking_oven_program_microwave_450_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_450_watt%]",
|
||||
"cooking_oven_program_microwave_600_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_600_watt%]",
|
||||
"cooking_oven_program_microwave_900_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_900_watt%]",
|
||||
"cooking_oven_program_microwave_90_watt": "[%key:component::home_connect::selector::programs::options::cooking_oven_program_microwave_90_watt%]",
|
||||
@@ -604,6 +619,12 @@
|
||||
"dishcare_dishwasher_program_quick_65": "[%key:component::home_connect::selector::programs::options::dishcare_dishwasher_program_quick_65%]",
|
||||
"dishcare_dishwasher_program_steam_fresh": "[%key:component::home_connect::selector::programs::options::dishcare_dishwasher_program_steam_fresh%]",
|
||||
"dishcare_dishwasher_program_super_60": "[%key:component::home_connect::selector::programs::options::dishcare_dishwasher_program_super_60%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_active_clean": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_active_clean%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_auto": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_auto%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_cool": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_cool%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_dry": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_dry%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_fan": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_fan%]",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_heat": "[%key:component::home_connect::selector::programs::options::heating_ventilation_air_conditioning_air_conditioner_program_heat%]",
|
||||
"laundry_care_dryer_program_anti_shrink": "[%key:component::home_connect::selector::programs::options::laundry_care_dryer_program_anti_shrink%]",
|
||||
"laundry_care_dryer_program_blankets": "[%key:component::home_connect::selector::programs::options::laundry_care_dryer_program_blankets%]",
|
||||
"laundry_care_dryer_program_business_shirts": "[%key:component::home_connect::selector::programs::options::laundry_care_dryer_program_business_shirts%]",
|
||||
@@ -1418,6 +1439,12 @@
|
||||
"laundry_care_dryer_enum_type_drying_target_iron_dry": "Iron dry"
|
||||
}
|
||||
},
|
||||
"fan_speed_mode": {
|
||||
"options": {
|
||||
"heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_automatic": "Auto",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_enum_type_fan_speed_mode_manual": "Manual"
|
||||
}
|
||||
},
|
||||
"flow_rate": {
|
||||
"options": {
|
||||
"consumer_products_coffee_maker_enum_type_flow_rate_intense": "Intense",
|
||||
@@ -1526,6 +1553,7 @@
|
||||
"cooking_oven_program_microwave_1000_watt": "1000 Watt",
|
||||
"cooking_oven_program_microwave_180_watt": "180 Watt",
|
||||
"cooking_oven_program_microwave_360_watt": "360 Watt",
|
||||
"cooking_oven_program_microwave_450_watt": "450 Watt",
|
||||
"cooking_oven_program_microwave_600_watt": "600 Watt",
|
||||
"cooking_oven_program_microwave_900_watt": "900 Watt",
|
||||
"cooking_oven_program_microwave_90_watt": "90 Watt",
|
||||
@@ -1555,6 +1583,12 @@
|
||||
"dishcare_dishwasher_program_quick_65": "Quick 65ºC",
|
||||
"dishcare_dishwasher_program_steam_fresh": "Steam fresh",
|
||||
"dishcare_dishwasher_program_super_60": "Super 60ºC",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_active_clean": "Active clean",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_auto": "Auto",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_cool": "Cool",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_dry": "Dry",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_fan": "Fan",
|
||||
"heating_ventilation_air_conditioning_air_conditioner_program_heat": "Heat",
|
||||
"laundry_care_dryer_program_anti_shrink": "Anti shrink",
|
||||
"laundry_care_dryer_program_blankets": "Blankets",
|
||||
"laundry_care_dryer_program_business_shirts": "Business shirts",
|
||||
@@ -1823,6 +1857,14 @@
|
||||
"description": "Defines if the program sequence is optimized with special drying cycle ensures improved drying for glasses, plates and plasticware.",
|
||||
"name": "Zeolite dry"
|
||||
},
|
||||
"heating_ventilation_air_conditioning_air_conditioner_option_fan_speed_mode": {
|
||||
"description": "Setting to adjust the fan speed mode to Manual or Auto.",
|
||||
"name": "Fan speed mode"
|
||||
},
|
||||
"heating_ventilation_air_conditioning_air_conditioner_option_fan_speed_percentage": {
|
||||
"description": "Setting to adjust the venting level of the air conditioner as a percentage.",
|
||||
"name": "Fan speed percentage"
|
||||
},
|
||||
"laundry_care_dryer_option_drying_target": {
|
||||
"description": "Describes the drying target for a dryer program.",
|
||||
"name": "Drying target"
|
||||
@@ -1854,6 +1896,10 @@
|
||||
},
|
||||
"name": "Set program and options",
|
||||
"sections": {
|
||||
"air_conditioner_options": {
|
||||
"description": "Specific settings for air conditioners.",
|
||||
"name": "Air conditioner options"
|
||||
},
|
||||
"cleaning_robot_options": {
|
||||
"description": "Options for cleaning robots.",
|
||||
"name": "Cleaning robot options"
|
||||
|
||||
@@ -108,6 +108,24 @@
|
||||
"enumber": "HCS000000/06",
|
||||
"haId": "123456789012345678"
|
||||
},
|
||||
{
|
||||
"name": "AirConditioner",
|
||||
"brand": "BOSCH",
|
||||
"vib": "HCS000006",
|
||||
"connected": true,
|
||||
"type": "AirConditioner",
|
||||
"enumber": "HCS000000/07",
|
||||
"haId": "8765432109876543210"
|
||||
},
|
||||
{
|
||||
"name": "Microwave",
|
||||
"brand": "BOSCH",
|
||||
"vib": "HCS000006",
|
||||
"connected": true,
|
||||
"type": "Microwave",
|
||||
"enumber": "HCS000000/08",
|
||||
"haId": "541513213246313789"
|
||||
},
|
||||
{
|
||||
"name": "DNE",
|
||||
"brand": "BOSCH",
|
||||
|
||||
@@ -205,5 +205,47 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"AirConditioner": {
|
||||
"data": {
|
||||
"programs": [
|
||||
{
|
||||
"key": "HeatingVentilationAirConditioning.AirConditioner.Program.ActiveClean",
|
||||
"constraints": {
|
||||
"execution": "startonly"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "HeatingVentilationAirConditioning.AirConditioner.Program.Auto",
|
||||
"constraints": {
|
||||
"execution": "startonly"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "HeatingVentilationAirConditioning.AirConditioner.Program.Cool",
|
||||
"constraints": {
|
||||
"execution": "startonly"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "HeatingVentilationAirConditioning.AirConditioner.Program.Dry",
|
||||
"constraints": {
|
||||
"execution": "startonly"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "HeatingVentilationAirConditioning.AirConditioner.Program.Fan",
|
||||
"constraints": {
|
||||
"execution": "startonly"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "HeatingVentilationAirConditioning.AirConditioner.Program.Heat",
|
||||
"constraints": {
|
||||
"execution": "startonly"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,72 @@
|
||||
'type': 'CookProcessor',
|
||||
'vib': 'HCS000006',
|
||||
}),
|
||||
'541513213246313789': dict({
|
||||
'brand': 'BOSCH',
|
||||
'connected': True,
|
||||
'e_number': 'HCS000000/08',
|
||||
'ha_id': '541513213246313789',
|
||||
'name': 'Microwave',
|
||||
'programs': list([
|
||||
]),
|
||||
'settings': dict({
|
||||
}),
|
||||
'status': dict({
|
||||
'BSH.Common.Status.DoorState': dict({
|
||||
'value': 'BSH.Common.EnumType.DoorState.Closed',
|
||||
}),
|
||||
'BSH.Common.Status.OperationState': dict({
|
||||
'value': 'BSH.Common.EnumType.OperationState.Ready',
|
||||
}),
|
||||
'BSH.Common.Status.RemoteControlActive': dict({
|
||||
'value': True,
|
||||
}),
|
||||
'BSH.Common.Status.RemoteControlStartAllowed': dict({
|
||||
'value': True,
|
||||
}),
|
||||
'Refrigeration.Common.Status.Door.Refrigerator': dict({
|
||||
'value': 'BSH.Common.EnumType.DoorState.Open',
|
||||
}),
|
||||
}),
|
||||
'type': 'Microwave',
|
||||
'vib': 'HCS000006',
|
||||
}),
|
||||
'8765432109876543210': dict({
|
||||
'brand': 'BOSCH',
|
||||
'connected': True,
|
||||
'e_number': 'HCS000000/07',
|
||||
'ha_id': '8765432109876543210',
|
||||
'name': 'AirConditioner',
|
||||
'programs': list([
|
||||
'HeatingVentilationAirConditioning.AirConditioner.Program.ActiveClean',
|
||||
'HeatingVentilationAirConditioning.AirConditioner.Program.Auto',
|
||||
'HeatingVentilationAirConditioning.AirConditioner.Program.Cool',
|
||||
'HeatingVentilationAirConditioning.AirConditioner.Program.Dry',
|
||||
'HeatingVentilationAirConditioning.AirConditioner.Program.Fan',
|
||||
'HeatingVentilationAirConditioning.AirConditioner.Program.Heat',
|
||||
]),
|
||||
'settings': dict({
|
||||
}),
|
||||
'status': dict({
|
||||
'BSH.Common.Status.DoorState': dict({
|
||||
'value': 'BSH.Common.EnumType.DoorState.Closed',
|
||||
}),
|
||||
'BSH.Common.Status.OperationState': dict({
|
||||
'value': 'BSH.Common.EnumType.OperationState.Ready',
|
||||
}),
|
||||
'BSH.Common.Status.RemoteControlActive': dict({
|
||||
'value': True,
|
||||
}),
|
||||
'BSH.Common.Status.RemoteControlStartAllowed': dict({
|
||||
'value': True,
|
||||
}),
|
||||
'Refrigeration.Common.Status.Door.Refrigerator': dict({
|
||||
'value': 'BSH.Common.EnumType.DoorState.Open',
|
||||
}),
|
||||
}),
|
||||
'type': 'AirConditioner',
|
||||
'vib': 'HCS000006',
|
||||
}),
|
||||
'BOSCH-000000000-000000000000': dict({
|
||||
'brand': 'BOSCH',
|
||||
'connected': True,
|
||||
|
||||
Reference in New Issue
Block a user