From df4808f629ffec2be76f0adb2d7329f56407ce17 Mon Sep 17 00:00:00 2001 From: Wallace Fan <24777905@qq.com> Date: Thu, 3 Sep 2026 19:08:25 +0800 Subject: [PATCH] Add missing husqvarna_automower error keys (#181150) Co-authored-by: Cursor --- .../components/husqvarna_automower/const.py | 34 +++++ .../husqvarna_automower/strings.json | 68 +++++++++ .../snapshots/test_event.ambr | 68 +++++++++ .../snapshots/test_sensor.ambr | 136 ++++++++++++++++++ .../husqvarna_automower/test_event.py | 50 +++++++ .../husqvarna_automower/test_sensor.py | 1 + 6 files changed, 357 insertions(+) diff --git a/homeassistant/components/husqvarna_automower/const.py b/homeassistant/components/husqvarna_automower/const.py index 309df6702c86..3fb21547a5f1 100644 --- a/homeassistant/components/husqvarna_automower/const.py +++ b/homeassistant/components/husqvarna_automower/const.py @@ -19,6 +19,7 @@ ERROR_STATES = [ ] ERROR_KEYS = [ + "accessory_power_problem", "alarm_mower_in_motion", "alarm_mower_lifted", "alarm_mower_stopped", @@ -26,12 +27,21 @@ ERROR_KEYS = [ "alarm_mower_tilted", "alarm_outside_geofence", "angular_sensor_problem", + "auxiliary_cutting_means_blocked", + "battery_near_end_of_life", + "battery_needs_replacement", "battery_problem", "battery_restriction_due_to_ambient_temperature", + "bluetooth_communication_with_charging_station_failed", + "bluetooth_settings_changed", + "boundary_wire_problem", "can_error", + "cellular_settings_changed", + "charging_aborted", "charging_current_too_high", "charging_station_blocked", "charging_system_problem", + "chassis_collision", "collision_sensor_defect", "collision_sensor_error", "collision_sensor_problem_front", @@ -43,6 +53,7 @@ ERROR_KEYS = [ "connection_not_changed", "connectivity_problem", "connectivity_settings_restored", + "cutting_disc_lost", "cutting_drive_motor_1_defect", "cutting_drive_motor_2_defect", "cutting_drive_motor_3_defect", @@ -56,11 +67,14 @@ ERROR_KEYS = [ "cutting_system_blocked", "cutting_system_imbalance_warning", "cutting_system_major_imbalance", + "destination_blocked", "destination_not_reachable", "difficult_finding_home", "docking_sensor_defect", "electronic_problem", "empty_battery", + "epos_accessory_missing", + "firmware_has_been_updated", "folding_cutting_deck_sensor_defect", "folding_sensor_activated", "geofence_problem", @@ -73,13 +87,19 @@ ERROR_KEYS = [ "high_charging_power_loss", "high_internal_power_loss", "high_internal_temperature", + "high_temperature_in_cutting_motor_center", + "high_temperature_in_cutting_motor_left", + "high_temperature_in_cutting_motor_right", + "imbalanced_auxiliary_cutting_disc_detected", "internal_voltage_error", "invalid_battery_combination_invalid_combination_of_different_battery_types", + "invalid_software_configuration", "invalid_sub_device_combination", "invalid_system_configuration", "left_brush_motor_overloaded", "lift_sensor_defect", "lifted", + "lifted_in_link_arm", "limited_cutting_height_range", "loop_sensor_defect", "loop_sensor_problem_front", @@ -88,19 +108,27 @@ ERROR_KEYS = [ "loop_sensor_problem_right", "low_battery", "memory_circuit_problem", + "mower_installation_position_changed", "mower_lifted", "mower_tilted", + "multiple_reference_stations_detected", "no_accurate_position_from_satellites", + "no_charging_station_signal", "no_confirmed_position", + "no_correction_data_available", "no_drive", "no_loop_signal", "no_power_in_charging_station", "no_response_from_charger", "outside_working_area", + "pin_code_changed", "poor_signal_quality", + "poor_vision_performance", + "radar_problem", "reference_station_communication_problem", "right_brush_motor_overloaded", "safety_function_faulty", + "self_diagnostic_error", "settings_restored", "sim_card_locked", "sim_card_not_found", @@ -124,7 +152,11 @@ ERROR_KEYS = [ "unexpected_cutting_height_adj", "unexpected_error", "upside_down", + "vision_system_error", + "vision_system_malfunction", + "water_hose_found_in_working_area", "weak_gps_signal", + "wheel_brush_motor_problem", "wheel_drive_problem_left", "wheel_drive_problem_rear_left", "wheel_drive_problem_rear_right", @@ -137,7 +169,9 @@ ERROR_KEYS = [ "wheel_motor_overloaded_rear_left", "wheel_motor_overloaded_rear_right", "wheel_motor_overloaded_right", + "wi_fi_settings_changed", "work_area_not_valid", + "work_area_tampered", "wrong_loop_signal", "wrong_pin_code", "zone_generator_problem", diff --git a/homeassistant/components/husqvarna_automower/strings.json b/homeassistant/components/husqvarna_automower/strings.json index 86514dd7151d..642470e4ff42 100644 --- a/homeassistant/components/husqvarna_automower/strings.json +++ b/homeassistant/components/husqvarna_automower/strings.json @@ -56,6 +56,7 @@ "state_attributes": { "event_type": { "state": { + "accessory_power_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::accessory_power_problem%]", "alarm_mower_in_motion": "[%key:component::husqvarna_automower::entity::sensor::error::state::alarm_mower_in_motion%]", "alarm_mower_lifted": "[%key:component::husqvarna_automower::entity::sensor::error::state::alarm_mower_lifted%]", "alarm_mower_stopped": "[%key:component::husqvarna_automower::entity::sensor::error::state::alarm_mower_stopped%]", @@ -63,12 +64,21 @@ "alarm_mower_tilted": "[%key:component::husqvarna_automower::entity::sensor::error::state::alarm_mower_tilted%]", "alarm_outside_geofence": "[%key:component::husqvarna_automower::entity::sensor::error::state::alarm_outside_geofence%]", "angular_sensor_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::angular_sensor_problem%]", + "auxiliary_cutting_means_blocked": "[%key:component::husqvarna_automower::entity::sensor::error::state::auxiliary_cutting_means_blocked%]", + "battery_near_end_of_life": "[%key:component::husqvarna_automower::entity::sensor::error::state::battery_near_end_of_life%]", + "battery_needs_replacement": "[%key:component::husqvarna_automower::entity::sensor::error::state::battery_needs_replacement%]", "battery_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::battery_problem%]", "battery_restriction_due_to_ambient_temperature": "[%key:component::husqvarna_automower::entity::sensor::error::state::battery_restriction_due_to_ambient_temperature%]", + "bluetooth_communication_with_charging_station_failed": "[%key:component::husqvarna_automower::entity::sensor::error::state::bluetooth_communication_with_charging_station_failed%]", + "bluetooth_settings_changed": "[%key:component::husqvarna_automower::entity::sensor::error::state::bluetooth_settings_changed%]", + "boundary_wire_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::boundary_wire_problem%]", "can_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::can_error%]", + "cellular_settings_changed": "[%key:component::husqvarna_automower::entity::sensor::error::state::cellular_settings_changed%]", + "charging_aborted": "[%key:component::husqvarna_automower::entity::sensor::error::state::charging_aborted%]", "charging_current_too_high": "[%key:component::husqvarna_automower::entity::sensor::error::state::charging_current_too_high%]", "charging_station_blocked": "[%key:component::husqvarna_automower::entity::sensor::error::state::charging_station_blocked%]", "charging_system_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::charging_system_problem%]", + "chassis_collision": "[%key:component::husqvarna_automower::entity::sensor::error::state::chassis_collision%]", "collision_sensor_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::collision_sensor_defect%]", "collision_sensor_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::collision_sensor_error%]", "collision_sensor_problem_front": "[%key:component::husqvarna_automower::entity::sensor::error::state::collision_sensor_problem_front%]", @@ -80,6 +90,7 @@ "connection_not_changed": "[%key:component::husqvarna_automower::entity::sensor::error::state::connection_not_changed%]", "connectivity_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::connectivity_problem%]", "connectivity_settings_restored": "[%key:component::husqvarna_automower::entity::sensor::error::state::connectivity_settings_restored%]", + "cutting_disc_lost": "[%key:component::husqvarna_automower::entity::sensor::error::state::cutting_disc_lost%]", "cutting_drive_motor_1_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::cutting_drive_motor_1_defect%]", "cutting_drive_motor_2_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::cutting_drive_motor_2_defect%]", "cutting_drive_motor_3_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::cutting_drive_motor_3_defect%]", @@ -93,14 +104,17 @@ "cutting_system_blocked": "[%key:component::husqvarna_automower::entity::sensor::error::state::cutting_system_blocked%]", "cutting_system_imbalance_warning": "[%key:component::husqvarna_automower::entity::sensor::error::state::cutting_system_imbalance_warning%]", "cutting_system_major_imbalance": "[%key:component::husqvarna_automower::entity::sensor::error::state::cutting_system_major_imbalance%]", + "destination_blocked": "[%key:component::husqvarna_automower::entity::sensor::error::state::destination_blocked%]", "destination_not_reachable": "[%key:component::husqvarna_automower::entity::sensor::error::state::destination_not_reachable%]", "difficult_finding_home": "[%key:component::husqvarna_automower::entity::sensor::error::state::difficult_finding_home%]", "docking_sensor_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::docking_sensor_defect%]", "electronic_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::electronic_problem%]", "empty_battery": "[%key:component::husqvarna_automower::entity::sensor::error::state::empty_battery%]", + "epos_accessory_missing": "[%key:component::husqvarna_automower::entity::sensor::error::state::epos_accessory_missing%]", "error": "[%key:common::state::error%]", "error_at_power_up": "[%key:component::husqvarna_automower::entity::sensor::error::state::error_at_power_up%]", "fatal_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::fatal_error%]", + "firmware_has_been_updated": "[%key:component::husqvarna_automower::entity::sensor::error::state::firmware_has_been_updated%]", "folding_cutting_deck_sensor_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::folding_cutting_deck_sensor_defect%]", "folding_sensor_activated": "[%key:component::husqvarna_automower::entity::sensor::error::state::folding_sensor_activated%]", "geofence_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::geofence_problem%]", @@ -113,13 +127,19 @@ "high_charging_power_loss": "[%key:component::husqvarna_automower::entity::sensor::error::state::high_charging_power_loss%]", "high_internal_power_loss": "[%key:component::husqvarna_automower::entity::sensor::error::state::high_internal_power_loss%]", "high_internal_temperature": "[%key:component::husqvarna_automower::entity::sensor::error::state::high_internal_temperature%]", + "high_temperature_in_cutting_motor_center": "[%key:component::husqvarna_automower::entity::sensor::error::state::high_temperature_in_cutting_motor_center%]", + "high_temperature_in_cutting_motor_left": "[%key:component::husqvarna_automower::entity::sensor::error::state::high_temperature_in_cutting_motor_left%]", + "high_temperature_in_cutting_motor_right": "[%key:component::husqvarna_automower::entity::sensor::error::state::high_temperature_in_cutting_motor_right%]", + "imbalanced_auxiliary_cutting_disc_detected": "[%key:component::husqvarna_automower::entity::sensor::error::state::imbalanced_auxiliary_cutting_disc_detected%]", "internal_voltage_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::internal_voltage_error%]", "invalid_battery_combination_invalid_combination_of_different_battery_types": "[%key:component::husqvarna_automower::entity::sensor::error::state::invalid_battery_combination_invalid_combination_of_different_battery_types%]", + "invalid_software_configuration": "[%key:component::husqvarna_automower::entity::sensor::error::state::invalid_software_configuration%]", "invalid_sub_device_combination": "[%key:component::husqvarna_automower::entity::sensor::error::state::invalid_sub_device_combination%]", "invalid_system_configuration": "[%key:component::husqvarna_automower::entity::sensor::error::state::invalid_system_configuration%]", "left_brush_motor_overloaded": "[%key:component::husqvarna_automower::entity::sensor::error::state::left_brush_motor_overloaded%]", "lift_sensor_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::lift_sensor_defect%]", "lifted": "[%key:component::husqvarna_automower::entity::sensor::error::state::lifted%]", + "lifted_in_link_arm": "[%key:component::husqvarna_automower::entity::sensor::error::state::lifted_in_link_arm%]", "limited_cutting_height_range": "[%key:component::husqvarna_automower::entity::sensor::error::state::limited_cutting_height_range%]", "loop_sensor_defect": "[%key:component::husqvarna_automower::entity::sensor::error::state::loop_sensor_defect%]", "loop_sensor_problem_front": "[%key:component::husqvarna_automower::entity::sensor::error::state::loop_sensor_problem_front%]", @@ -128,10 +148,14 @@ "loop_sensor_problem_right": "[%key:component::husqvarna_automower::entity::sensor::error::state::loop_sensor_problem_right%]", "low_battery": "[%key:component::husqvarna_automower::entity::sensor::error::state::low_battery%]", "memory_circuit_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::memory_circuit_problem%]", + "mower_installation_position_changed": "[%key:component::husqvarna_automower::entity::sensor::error::state::mower_installation_position_changed%]", "mower_lifted": "[%key:component::husqvarna_automower::entity::sensor::error::state::mower_lifted%]", "mower_tilted": "[%key:component::husqvarna_automower::entity::sensor::error::state::mower_tilted%]", + "multiple_reference_stations_detected": "[%key:component::husqvarna_automower::entity::sensor::error::state::multiple_reference_stations_detected%]", "no_accurate_position_from_satellites": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_accurate_position_from_satellites%]", + "no_charging_station_signal": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_charging_station_signal%]", "no_confirmed_position": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_confirmed_position%]", + "no_correction_data_available": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_correction_data_available%]", "no_drive": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_drive%]", "no_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_error%]", "no_loop_signal": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_loop_signal%]", @@ -139,10 +163,14 @@ "no_response_from_charger": "[%key:component::husqvarna_automower::entity::sensor::error::state::no_response_from_charger%]", "off": "[%key:common::state::off%]", "outside_working_area": "[%key:component::husqvarna_automower::entity::sensor::error::state::outside_working_area%]", + "pin_code_changed": "[%key:component::husqvarna_automower::entity::sensor::error::state::pin_code_changed%]", "poor_signal_quality": "[%key:component::husqvarna_automower::entity::sensor::error::state::poor_signal_quality%]", + "poor_vision_performance": "[%key:component::husqvarna_automower::entity::sensor::error::state::poor_vision_performance%]", + "radar_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::radar_problem%]", "reference_station_communication_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::reference_station_communication_problem%]", "right_brush_motor_overloaded": "[%key:component::husqvarna_automower::entity::sensor::error::state::right_brush_motor_overloaded%]", "safety_function_faulty": "[%key:component::husqvarna_automower::entity::sensor::error::state::safety_function_faulty%]", + "self_diagnostic_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::self_diagnostic_error%]", "settings_restored": "[%key:component::husqvarna_automower::entity::sensor::error::state::settings_restored%]", "sim_card_locked": "[%key:component::husqvarna_automower::entity::sensor::error::state::sim_card_locked%]", "sim_card_not_found": "[%key:component::husqvarna_automower::entity::sensor::error::state::sim_card_not_found%]", @@ -167,9 +195,13 @@ "unexpected_cutting_height_adj": "[%key:component::husqvarna_automower::entity::sensor::error::state::unexpected_cutting_height_adj%]", "unexpected_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::unexpected_error%]", "upside_down": "[%key:component::husqvarna_automower::entity::sensor::error::state::upside_down%]", + "vision_system_error": "[%key:component::husqvarna_automower::entity::sensor::error::state::vision_system_error%]", + "vision_system_malfunction": "[%key:component::husqvarna_automower::entity::sensor::error::state::vision_system_malfunction%]", "wait_power_up": "[%key:component::husqvarna_automower::entity::sensor::error::state::wait_power_up%]", "wait_updating": "[%key:component::husqvarna_automower::entity::sensor::error::state::wait_updating%]", + "water_hose_found_in_working_area": "[%key:component::husqvarna_automower::entity::sensor::error::state::water_hose_found_in_working_area%]", "weak_gps_signal": "[%key:component::husqvarna_automower::entity::sensor::error::state::weak_gps_signal%]", + "wheel_brush_motor_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::wheel_brush_motor_problem%]", "wheel_drive_problem_left": "[%key:component::husqvarna_automower::entity::sensor::error::state::wheel_drive_problem_left%]", "wheel_drive_problem_rear_left": "[%key:component::husqvarna_automower::entity::sensor::error::state::wheel_drive_problem_rear_left%]", "wheel_drive_problem_rear_right": "[%key:component::husqvarna_automower::entity::sensor::error::state::wheel_drive_problem_rear_right%]", @@ -182,7 +214,9 @@ "wheel_motor_overloaded_rear_left": "[%key:component::husqvarna_automower::entity::sensor::error::state::wheel_motor_overloaded_rear_left%]", "wheel_motor_overloaded_rear_right": "[%key:component::husqvarna_automower::entity::sensor::error::state::wheel_motor_overloaded_rear_right%]", "wheel_motor_overloaded_right": "[%key:component::husqvarna_automower::entity::sensor::error::state::wheel_motor_overloaded_right%]", + "wi_fi_settings_changed": "[%key:component::husqvarna_automower::entity::sensor::error::state::wi_fi_settings_changed%]", "work_area_not_valid": "[%key:component::husqvarna_automower::entity::sensor::error::state::work_area_not_valid%]", + "work_area_tampered": "[%key:component::husqvarna_automower::entity::sensor::error::state::work_area_tampered%]", "wrong_loop_signal": "[%key:component::husqvarna_automower::entity::sensor::error::state::wrong_loop_signal%]", "wrong_pin_code": "[%key:component::husqvarna_automower::entity::sensor::error::state::wrong_pin_code%]", "zone_generator_problem": "[%key:component::husqvarna_automower::entity::sensor::error::state::zone_generator_problem%]" @@ -234,6 +268,7 @@ "error": { "name": "Error", "state": { + "accessory_power_problem": "Accessory power problem", "alarm_mower_in_motion": "Alarm! Mower in motion", "alarm_mower_lifted": "Alarm! Mower lifted", "alarm_mower_stopped": "Alarm! Mower stopped", @@ -241,12 +276,21 @@ "alarm_mower_tilted": "Alarm! Mower tilted", "alarm_outside_geofence": "Alarm! Outside geofence", "angular_sensor_problem": "Angular sensor problem", + "auxiliary_cutting_means_blocked": "Auxiliary cutting means blocked", + "battery_near_end_of_life": "Battery near end of life", + "battery_needs_replacement": "Battery needs replacement", "battery_problem": "Battery problem", "battery_restriction_due_to_ambient_temperature": "Battery restriction due to ambient temperature", + "bluetooth_communication_with_charging_station_failed": "Bluetooth communication with charging station failed", + "bluetooth_settings_changed": "Bluetooth settings changed", + "boundary_wire_problem": "Boundary wire problem", "can_error": "CAN error", + "cellular_settings_changed": "Cellular settings changed", + "charging_aborted": "Charging aborted", "charging_current_too_high": "Charging current too high", "charging_station_blocked": "Charging station blocked", "charging_system_problem": "Charging system problem", + "chassis_collision": "Chassis collision", "collision_sensor_defect": "Collision sensor defect", "collision_sensor_error": "Collision sensor error", "collision_sensor_problem_front": "Front collision sensor problem", @@ -258,6 +302,7 @@ "connection_not_changed": "Connection NOT changed", "connectivity_problem": "Connectivity problem", "connectivity_settings_restored": "Connectivity settings restored", + "cutting_disc_lost": "Cutting disc lost", "cutting_drive_motor_1_defect": "Cutting drive motor 1 defect", "cutting_drive_motor_2_defect": "Cutting drive motor 2 defect", "cutting_drive_motor_3_defect": "Cutting drive motor 3 defect", @@ -271,14 +316,17 @@ "cutting_system_blocked": "Cutting system blocked", "cutting_system_imbalance_warning": "Cutting system imbalance", "cutting_system_major_imbalance": "Cutting system major imbalance", + "destination_blocked": "Destination blocked", "destination_not_reachable": "Destination not reachable", "difficult_finding_home": "Difficult finding home", "docking_sensor_defect": "Docking sensor defect", "electronic_problem": "Electronic problem", "empty_battery": "Empty battery", + "epos_accessory_missing": "EPOS accessory missing", "error": "[%key:common::state::error%]", "error_at_power_up": "Error at power up", "fatal_error": "Fatal error", + "firmware_has_been_updated": "Firmware has been updated", "folding_cutting_deck_sensor_defect": "Folding cutting deck sensor defect", "folding_sensor_activated": "Folding sensor activated", "geofence_problem": "Geofence problem", @@ -291,13 +339,19 @@ "high_charging_power_loss": "High charging power loss", "high_internal_power_loss": "High internal power loss", "high_internal_temperature": "High internal temperature", + "high_temperature_in_cutting_motor_center": "High temperature in cutting motor, center", + "high_temperature_in_cutting_motor_left": "High temperature in cutting motor, left", + "high_temperature_in_cutting_motor_right": "High temperature in cutting motor, right", + "imbalanced_auxiliary_cutting_disc_detected": "Imbalanced auxiliary cutting disc detected", "internal_voltage_error": "Internal voltage error", "invalid_battery_combination_invalid_combination_of_different_battery_types": "Invalid battery combination - Invalid combination of different battery types.", + "invalid_software_configuration": "Invalid software configuration", "invalid_sub_device_combination": "Invalid sub-device combination", "invalid_system_configuration": "Invalid system configuration", "left_brush_motor_overloaded": "Left brush motor overloaded", "lift_sensor_defect": "Lift Sensor defect", "lifted": "Lifted", + "lifted_in_link_arm": "Lifted in link arm", "limited_cutting_height_range": "Limited cutting height range", "loop_sensor_defect": "Loop sensor defect", "loop_sensor_problem_front": "Front loop sensor problem", @@ -306,10 +360,14 @@ "loop_sensor_problem_right": "Right loop sensor problem", "low_battery": "Low battery", "memory_circuit_problem": "Memory circuit problem", + "mower_installation_position_changed": "Mower installation position changed", "mower_lifted": "Mower lifted", "mower_tilted": "Mower tilted", + "multiple_reference_stations_detected": "Multiple reference stations detected", "no_accurate_position_from_satellites": "No accurate position from satellites", + "no_charging_station_signal": "No charging station signal", "no_confirmed_position": "No confirmed position", + "no_correction_data_available": "No correction data available", "no_drive": "No drive", "no_error": "No error", "no_loop_signal": "No loop signal", @@ -317,10 +375,14 @@ "no_response_from_charger": "No response from charger", "off": "[%key:common::state::off%]", "outside_working_area": "Outside working area", + "pin_code_changed": "PIN code changed", "poor_signal_quality": "Poor signal quality", + "poor_vision_performance": "Poor vision performance", + "radar_problem": "Radar problem", "reference_station_communication_problem": "Reference station communication problem", "right_brush_motor_overloaded": "Right brush motor overloaded", "safety_function_faulty": "Safety function faulty", + "self_diagnostic_error": "Self diagnostic error", "settings_restored": "Settings restored", "sim_card_locked": "SIM card locked", "sim_card_not_found": "SIM card not found", @@ -345,9 +407,13 @@ "unexpected_cutting_height_adj": "Unexpected cutting height adjustment", "unexpected_error": "Unexpected error", "upside_down": "Upside down", + "vision_system_error": "Vision system error", + "vision_system_malfunction": "Vision system malfunction", "wait_power_up": "Wait power up", "wait_updating": "Wait updating", + "water_hose_found_in_working_area": "Water hose found in working area", "weak_gps_signal": "Weak GPS signal", + "wheel_brush_motor_problem": "Wheel brush motor problem", "wheel_drive_problem_left": "Left wheel drive problem", "wheel_drive_problem_rear_left": "Rear left wheel drive problem", "wheel_drive_problem_rear_right": "Rear right wheel drive problem", @@ -360,7 +426,9 @@ "wheel_motor_overloaded_rear_left": "Rear left wheel motor overloaded", "wheel_motor_overloaded_rear_right": "Rear right wheel motor overloaded", "wheel_motor_overloaded_right": "Right wheel motor overloaded", + "wi_fi_settings_changed": "Wi-Fi settings changed", "work_area_not_valid": "Work area not valid", + "work_area_tampered": "Work area tampered", "wrong_loop_signal": "Wrong loop signal", "wrong_pin_code": "Wrong PIN code", "zone_generator_problem": "Zone generator problem" diff --git a/tests/components/husqvarna_automower/snapshots/test_event.ambr b/tests/components/husqvarna_automower/snapshots/test_event.ambr index c25234a95534..3590edeb2bc3 100644 --- a/tests/components/husqvarna_automower/snapshots/test_event.ambr +++ b/tests/components/husqvarna_automower/snapshots/test_event.ambr @@ -7,6 +7,7 @@ 'area_id': None, 'capabilities': dict({ : list([ + 'accessory_power_problem', 'alarm_mower_in_motion', 'alarm_mower_lifted', 'alarm_mower_stopped', @@ -14,12 +15,21 @@ 'alarm_mower_tilted', 'alarm_outside_geofence', 'angular_sensor_problem', + 'auxiliary_cutting_means_blocked', + 'battery_near_end_of_life', + 'battery_needs_replacement', 'battery_problem', 'battery_restriction_due_to_ambient_temperature', + 'bluetooth_communication_with_charging_station_failed', + 'bluetooth_settings_changed', + 'boundary_wire_problem', 'can_error', + 'cellular_settings_changed', + 'charging_aborted', 'charging_current_too_high', 'charging_station_blocked', 'charging_system_problem', + 'chassis_collision', 'collision_sensor_defect', 'collision_sensor_error', 'collision_sensor_problem_front', @@ -31,6 +41,7 @@ 'connection_not_changed', 'connectivity_problem', 'connectivity_settings_restored', + 'cutting_disc_lost', 'cutting_drive_motor_1_defect', 'cutting_drive_motor_2_defect', 'cutting_drive_motor_3_defect', @@ -44,11 +55,14 @@ 'cutting_system_blocked', 'cutting_system_imbalance_warning', 'cutting_system_major_imbalance', + 'destination_blocked', 'destination_not_reachable', 'difficult_finding_home', 'docking_sensor_defect', 'electronic_problem', 'empty_battery', + 'epos_accessory_missing', + 'firmware_has_been_updated', 'folding_cutting_deck_sensor_defect', 'folding_sensor_activated', 'geofence_problem', @@ -61,13 +75,19 @@ 'high_charging_power_loss', 'high_internal_power_loss', 'high_internal_temperature', + 'high_temperature_in_cutting_motor_center', + 'high_temperature_in_cutting_motor_left', + 'high_temperature_in_cutting_motor_right', + 'imbalanced_auxiliary_cutting_disc_detected', 'internal_voltage_error', 'invalid_battery_combination_invalid_combination_of_different_battery_types', + 'invalid_software_configuration', 'invalid_sub_device_combination', 'invalid_system_configuration', 'left_brush_motor_overloaded', 'lift_sensor_defect', 'lifted', + 'lifted_in_link_arm', 'limited_cutting_height_range', 'loop_sensor_defect', 'loop_sensor_problem_front', @@ -76,19 +96,27 @@ 'loop_sensor_problem_right', 'low_battery', 'memory_circuit_problem', + 'mower_installation_position_changed', 'mower_lifted', 'mower_tilted', + 'multiple_reference_stations_detected', 'no_accurate_position_from_satellites', + 'no_charging_station_signal', 'no_confirmed_position', + 'no_correction_data_available', 'no_drive', 'no_loop_signal', 'no_power_in_charging_station', 'no_response_from_charger', 'outside_working_area', + 'pin_code_changed', 'poor_signal_quality', + 'poor_vision_performance', + 'radar_problem', 'reference_station_communication_problem', 'right_brush_motor_overloaded', 'safety_function_faulty', + 'self_diagnostic_error', 'settings_restored', 'sim_card_locked', 'sim_card_not_found', @@ -112,7 +140,11 @@ 'unexpected_cutting_height_adj', 'unexpected_error', 'upside_down', + 'vision_system_error', + 'vision_system_malfunction', + 'water_hose_found_in_working_area', 'weak_gps_signal', + 'wheel_brush_motor_problem', 'wheel_drive_problem_left', 'wheel_drive_problem_rear_left', 'wheel_drive_problem_rear_right', @@ -125,7 +157,9 @@ 'wheel_motor_overloaded_rear_left', 'wheel_motor_overloaded_rear_right', 'wheel_motor_overloaded_right', + 'wi_fi_settings_changed', 'work_area_not_valid', + 'work_area_tampered', 'wrong_loop_signal', 'wrong_pin_code', 'zone_generator_problem', @@ -167,6 +201,7 @@ 'date_time': HAFakeDatetime(2025, 7, 13, 15, 30, tzinfo=datetime.timezone.utc), : 'wheel_motor_overloaded_rear_left', : list([ + 'accessory_power_problem', 'alarm_mower_in_motion', 'alarm_mower_lifted', 'alarm_mower_stopped', @@ -174,12 +209,21 @@ 'alarm_mower_tilted', 'alarm_outside_geofence', 'angular_sensor_problem', + 'auxiliary_cutting_means_blocked', + 'battery_near_end_of_life', + 'battery_needs_replacement', 'battery_problem', 'battery_restriction_due_to_ambient_temperature', + 'bluetooth_communication_with_charging_station_failed', + 'bluetooth_settings_changed', + 'boundary_wire_problem', 'can_error', + 'cellular_settings_changed', + 'charging_aborted', 'charging_current_too_high', 'charging_station_blocked', 'charging_system_problem', + 'chassis_collision', 'collision_sensor_defect', 'collision_sensor_error', 'collision_sensor_problem_front', @@ -191,6 +235,7 @@ 'connection_not_changed', 'connectivity_problem', 'connectivity_settings_restored', + 'cutting_disc_lost', 'cutting_drive_motor_1_defect', 'cutting_drive_motor_2_defect', 'cutting_drive_motor_3_defect', @@ -204,11 +249,14 @@ 'cutting_system_blocked', 'cutting_system_imbalance_warning', 'cutting_system_major_imbalance', + 'destination_blocked', 'destination_not_reachable', 'difficult_finding_home', 'docking_sensor_defect', 'electronic_problem', 'empty_battery', + 'epos_accessory_missing', + 'firmware_has_been_updated', 'folding_cutting_deck_sensor_defect', 'folding_sensor_activated', 'geofence_problem', @@ -221,13 +269,19 @@ 'high_charging_power_loss', 'high_internal_power_loss', 'high_internal_temperature', + 'high_temperature_in_cutting_motor_center', + 'high_temperature_in_cutting_motor_left', + 'high_temperature_in_cutting_motor_right', + 'imbalanced_auxiliary_cutting_disc_detected', 'internal_voltage_error', 'invalid_battery_combination_invalid_combination_of_different_battery_types', + 'invalid_software_configuration', 'invalid_sub_device_combination', 'invalid_system_configuration', 'left_brush_motor_overloaded', 'lift_sensor_defect', 'lifted', + 'lifted_in_link_arm', 'limited_cutting_height_range', 'loop_sensor_defect', 'loop_sensor_problem_front', @@ -236,19 +290,27 @@ 'loop_sensor_problem_right', 'low_battery', 'memory_circuit_problem', + 'mower_installation_position_changed', 'mower_lifted', 'mower_tilted', + 'multiple_reference_stations_detected', 'no_accurate_position_from_satellites', + 'no_charging_station_signal', 'no_confirmed_position', + 'no_correction_data_available', 'no_drive', 'no_loop_signal', 'no_power_in_charging_station', 'no_response_from_charger', 'outside_working_area', + 'pin_code_changed', 'poor_signal_quality', + 'poor_vision_performance', + 'radar_problem', 'reference_station_communication_problem', 'right_brush_motor_overloaded', 'safety_function_faulty', + 'self_diagnostic_error', 'settings_restored', 'sim_card_locked', 'sim_card_not_found', @@ -272,7 +334,11 @@ 'unexpected_cutting_height_adj', 'unexpected_error', 'upside_down', + 'vision_system_error', + 'vision_system_malfunction', + 'water_hose_found_in_working_area', 'weak_gps_signal', + 'wheel_brush_motor_problem', 'wheel_drive_problem_left', 'wheel_drive_problem_rear_left', 'wheel_drive_problem_rear_right', @@ -285,7 +351,9 @@ 'wheel_motor_overloaded_rear_left', 'wheel_motor_overloaded_rear_right', 'wheel_motor_overloaded_right', + 'wi_fi_settings_changed', 'work_area_not_valid', + 'work_area_tampered', 'wrong_loop_signal', 'wrong_pin_code', 'zone_generator_problem', diff --git a/tests/components/husqvarna_automower/snapshots/test_sensor.ambr b/tests/components/husqvarna_automower/snapshots/test_sensor.ambr index 3284c189b495..0f82b9db2982 100644 --- a/tests/components/husqvarna_automower/snapshots/test_sensor.ambr +++ b/tests/components/husqvarna_automower/snapshots/test_sensor.ambr @@ -184,6 +184,7 @@ 'area_id': None, 'capabilities': dict({ : list([ + 'accessory_power_problem', 'alarm_mower_in_motion', 'alarm_mower_lifted', 'alarm_mower_stopped', @@ -191,12 +192,21 @@ 'alarm_mower_tilted', 'alarm_outside_geofence', 'angular_sensor_problem', + 'auxiliary_cutting_means_blocked', + 'battery_near_end_of_life', + 'battery_needs_replacement', 'battery_problem', 'battery_restriction_due_to_ambient_temperature', + 'bluetooth_communication_with_charging_station_failed', + 'bluetooth_settings_changed', + 'boundary_wire_problem', 'can_error', + 'cellular_settings_changed', + 'charging_aborted', 'charging_current_too_high', 'charging_station_blocked', 'charging_system_problem', + 'chassis_collision', 'collision_sensor_defect', 'collision_sensor_error', 'collision_sensor_problem_front', @@ -208,6 +218,7 @@ 'connection_not_changed', 'connectivity_problem', 'connectivity_settings_restored', + 'cutting_disc_lost', 'cutting_drive_motor_1_defect', 'cutting_drive_motor_2_defect', 'cutting_drive_motor_3_defect', @@ -221,14 +232,17 @@ 'cutting_system_blocked', 'cutting_system_imbalance_warning', 'cutting_system_major_imbalance', + 'destination_blocked', 'destination_not_reachable', 'difficult_finding_home', 'docking_sensor_defect', 'electronic_problem', 'empty_battery', + 'epos_accessory_missing', 'error', 'error_at_power_up', 'fatal_error', + 'firmware_has_been_updated', 'folding_cutting_deck_sensor_defect', 'folding_sensor_activated', 'geofence_problem', @@ -241,13 +255,19 @@ 'high_charging_power_loss', 'high_internal_power_loss', 'high_internal_temperature', + 'high_temperature_in_cutting_motor_center', + 'high_temperature_in_cutting_motor_left', + 'high_temperature_in_cutting_motor_right', + 'imbalanced_auxiliary_cutting_disc_detected', 'internal_voltage_error', 'invalid_battery_combination_invalid_combination_of_different_battery_types', + 'invalid_software_configuration', 'invalid_sub_device_combination', 'invalid_system_configuration', 'left_brush_motor_overloaded', 'lift_sensor_defect', 'lifted', + 'lifted_in_link_arm', 'limited_cutting_height_range', 'loop_sensor_defect', 'loop_sensor_problem_front', @@ -256,10 +276,14 @@ 'loop_sensor_problem_right', 'low_battery', 'memory_circuit_problem', + 'mower_installation_position_changed', 'mower_lifted', 'mower_tilted', + 'multiple_reference_stations_detected', 'no_accurate_position_from_satellites', + 'no_charging_station_signal', 'no_confirmed_position', + 'no_correction_data_available', 'no_drive', 'no_error', 'no_loop_signal', @@ -267,10 +291,14 @@ 'no_response_from_charger', 'off', 'outside_working_area', + 'pin_code_changed', 'poor_signal_quality', + 'poor_vision_performance', + 'radar_problem', 'reference_station_communication_problem', 'right_brush_motor_overloaded', 'safety_function_faulty', + 'self_diagnostic_error', 'settings_restored', 'sim_card_locked', 'sim_card_not_found', @@ -295,9 +323,13 @@ 'unexpected_cutting_height_adj', 'unexpected_error', 'upside_down', + 'vision_system_error', + 'vision_system_malfunction', 'wait_power_up', 'wait_updating', + 'water_hose_found_in_working_area', 'weak_gps_signal', + 'wheel_brush_motor_problem', 'wheel_drive_problem_left', 'wheel_drive_problem_rear_left', 'wheel_drive_problem_rear_right', @@ -310,7 +342,9 @@ 'wheel_motor_overloaded_rear_left', 'wheel_motor_overloaded_rear_right', 'wheel_motor_overloaded_right', + 'wi_fi_settings_changed', 'work_area_not_valid', + 'work_area_tampered', 'wrong_loop_signal', 'wrong_pin_code', 'zone_generator_problem', @@ -352,6 +386,7 @@ : 'enum', : 'Test Mower 1 Error', : list([ + 'accessory_power_problem', 'alarm_mower_in_motion', 'alarm_mower_lifted', 'alarm_mower_stopped', @@ -359,12 +394,21 @@ 'alarm_mower_tilted', 'alarm_outside_geofence', 'angular_sensor_problem', + 'auxiliary_cutting_means_blocked', + 'battery_near_end_of_life', + 'battery_needs_replacement', 'battery_problem', 'battery_restriction_due_to_ambient_temperature', + 'bluetooth_communication_with_charging_station_failed', + 'bluetooth_settings_changed', + 'boundary_wire_problem', 'can_error', + 'cellular_settings_changed', + 'charging_aborted', 'charging_current_too_high', 'charging_station_blocked', 'charging_system_problem', + 'chassis_collision', 'collision_sensor_defect', 'collision_sensor_error', 'collision_sensor_problem_front', @@ -376,6 +420,7 @@ 'connection_not_changed', 'connectivity_problem', 'connectivity_settings_restored', + 'cutting_disc_lost', 'cutting_drive_motor_1_defect', 'cutting_drive_motor_2_defect', 'cutting_drive_motor_3_defect', @@ -389,14 +434,17 @@ 'cutting_system_blocked', 'cutting_system_imbalance_warning', 'cutting_system_major_imbalance', + 'destination_blocked', 'destination_not_reachable', 'difficult_finding_home', 'docking_sensor_defect', 'electronic_problem', 'empty_battery', + 'epos_accessory_missing', 'error', 'error_at_power_up', 'fatal_error', + 'firmware_has_been_updated', 'folding_cutting_deck_sensor_defect', 'folding_sensor_activated', 'geofence_problem', @@ -409,13 +457,19 @@ 'high_charging_power_loss', 'high_internal_power_loss', 'high_internal_temperature', + 'high_temperature_in_cutting_motor_center', + 'high_temperature_in_cutting_motor_left', + 'high_temperature_in_cutting_motor_right', + 'imbalanced_auxiliary_cutting_disc_detected', 'internal_voltage_error', 'invalid_battery_combination_invalid_combination_of_different_battery_types', + 'invalid_software_configuration', 'invalid_sub_device_combination', 'invalid_system_configuration', 'left_brush_motor_overloaded', 'lift_sensor_defect', 'lifted', + 'lifted_in_link_arm', 'limited_cutting_height_range', 'loop_sensor_defect', 'loop_sensor_problem_front', @@ -424,10 +478,14 @@ 'loop_sensor_problem_right', 'low_battery', 'memory_circuit_problem', + 'mower_installation_position_changed', 'mower_lifted', 'mower_tilted', + 'multiple_reference_stations_detected', 'no_accurate_position_from_satellites', + 'no_charging_station_signal', 'no_confirmed_position', + 'no_correction_data_available', 'no_drive', 'no_error', 'no_loop_signal', @@ -435,10 +493,14 @@ 'no_response_from_charger', 'off', 'outside_working_area', + 'pin_code_changed', 'poor_signal_quality', + 'poor_vision_performance', + 'radar_problem', 'reference_station_communication_problem', 'right_brush_motor_overloaded', 'safety_function_faulty', + 'self_diagnostic_error', 'settings_restored', 'sim_card_locked', 'sim_card_not_found', @@ -463,9 +525,13 @@ 'unexpected_cutting_height_adj', 'unexpected_error', 'upside_down', + 'vision_system_error', + 'vision_system_malfunction', 'wait_power_up', 'wait_updating', + 'water_hose_found_in_working_area', 'weak_gps_signal', + 'wheel_brush_motor_problem', 'wheel_drive_problem_left', 'wheel_drive_problem_rear_left', 'wheel_drive_problem_rear_right', @@ -478,7 +544,9 @@ 'wheel_motor_overloaded_rear_left', 'wheel_motor_overloaded_rear_right', 'wheel_motor_overloaded_right', + 'wi_fi_settings_changed', 'work_area_not_valid', + 'work_area_tampered', 'wrong_loop_signal', 'wrong_pin_code', 'zone_generator_problem', @@ -1645,6 +1713,7 @@ 'area_id': None, 'capabilities': dict({ : list([ + 'accessory_power_problem', 'alarm_mower_in_motion', 'alarm_mower_lifted', 'alarm_mower_stopped', @@ -1652,12 +1721,21 @@ 'alarm_mower_tilted', 'alarm_outside_geofence', 'angular_sensor_problem', + 'auxiliary_cutting_means_blocked', + 'battery_near_end_of_life', + 'battery_needs_replacement', 'battery_problem', 'battery_restriction_due_to_ambient_temperature', + 'bluetooth_communication_with_charging_station_failed', + 'bluetooth_settings_changed', + 'boundary_wire_problem', 'can_error', + 'cellular_settings_changed', + 'charging_aborted', 'charging_current_too_high', 'charging_station_blocked', 'charging_system_problem', + 'chassis_collision', 'collision_sensor_defect', 'collision_sensor_error', 'collision_sensor_problem_front', @@ -1669,6 +1747,7 @@ 'connection_not_changed', 'connectivity_problem', 'connectivity_settings_restored', + 'cutting_disc_lost', 'cutting_drive_motor_1_defect', 'cutting_drive_motor_2_defect', 'cutting_drive_motor_3_defect', @@ -1682,14 +1761,17 @@ 'cutting_system_blocked', 'cutting_system_imbalance_warning', 'cutting_system_major_imbalance', + 'destination_blocked', 'destination_not_reachable', 'difficult_finding_home', 'docking_sensor_defect', 'electronic_problem', 'empty_battery', + 'epos_accessory_missing', 'error', 'error_at_power_up', 'fatal_error', + 'firmware_has_been_updated', 'folding_cutting_deck_sensor_defect', 'folding_sensor_activated', 'geofence_problem', @@ -1702,13 +1784,19 @@ 'high_charging_power_loss', 'high_internal_power_loss', 'high_internal_temperature', + 'high_temperature_in_cutting_motor_center', + 'high_temperature_in_cutting_motor_left', + 'high_temperature_in_cutting_motor_right', + 'imbalanced_auxiliary_cutting_disc_detected', 'internal_voltage_error', 'invalid_battery_combination_invalid_combination_of_different_battery_types', + 'invalid_software_configuration', 'invalid_sub_device_combination', 'invalid_system_configuration', 'left_brush_motor_overloaded', 'lift_sensor_defect', 'lifted', + 'lifted_in_link_arm', 'limited_cutting_height_range', 'loop_sensor_defect', 'loop_sensor_problem_front', @@ -1717,10 +1805,14 @@ 'loop_sensor_problem_right', 'low_battery', 'memory_circuit_problem', + 'mower_installation_position_changed', 'mower_lifted', 'mower_tilted', + 'multiple_reference_stations_detected', 'no_accurate_position_from_satellites', + 'no_charging_station_signal', 'no_confirmed_position', + 'no_correction_data_available', 'no_drive', 'no_error', 'no_loop_signal', @@ -1728,10 +1820,14 @@ 'no_response_from_charger', 'off', 'outside_working_area', + 'pin_code_changed', 'poor_signal_quality', + 'poor_vision_performance', + 'radar_problem', 'reference_station_communication_problem', 'right_brush_motor_overloaded', 'safety_function_faulty', + 'self_diagnostic_error', 'settings_restored', 'sim_card_locked', 'sim_card_not_found', @@ -1756,9 +1852,13 @@ 'unexpected_cutting_height_adj', 'unexpected_error', 'upside_down', + 'vision_system_error', + 'vision_system_malfunction', 'wait_power_up', 'wait_updating', + 'water_hose_found_in_working_area', 'weak_gps_signal', + 'wheel_brush_motor_problem', 'wheel_drive_problem_left', 'wheel_drive_problem_rear_left', 'wheel_drive_problem_rear_right', @@ -1771,7 +1871,9 @@ 'wheel_motor_overloaded_rear_left', 'wheel_motor_overloaded_rear_right', 'wheel_motor_overloaded_right', + 'wi_fi_settings_changed', 'work_area_not_valid', + 'work_area_tampered', 'wrong_loop_signal', 'wrong_pin_code', 'zone_generator_problem', @@ -1813,6 +1915,7 @@ : 'enum', : 'Test Mower 2 Error', : list([ + 'accessory_power_problem', 'alarm_mower_in_motion', 'alarm_mower_lifted', 'alarm_mower_stopped', @@ -1820,12 +1923,21 @@ 'alarm_mower_tilted', 'alarm_outside_geofence', 'angular_sensor_problem', + 'auxiliary_cutting_means_blocked', + 'battery_near_end_of_life', + 'battery_needs_replacement', 'battery_problem', 'battery_restriction_due_to_ambient_temperature', + 'bluetooth_communication_with_charging_station_failed', + 'bluetooth_settings_changed', + 'boundary_wire_problem', 'can_error', + 'cellular_settings_changed', + 'charging_aborted', 'charging_current_too_high', 'charging_station_blocked', 'charging_system_problem', + 'chassis_collision', 'collision_sensor_defect', 'collision_sensor_error', 'collision_sensor_problem_front', @@ -1837,6 +1949,7 @@ 'connection_not_changed', 'connectivity_problem', 'connectivity_settings_restored', + 'cutting_disc_lost', 'cutting_drive_motor_1_defect', 'cutting_drive_motor_2_defect', 'cutting_drive_motor_3_defect', @@ -1850,14 +1963,17 @@ 'cutting_system_blocked', 'cutting_system_imbalance_warning', 'cutting_system_major_imbalance', + 'destination_blocked', 'destination_not_reachable', 'difficult_finding_home', 'docking_sensor_defect', 'electronic_problem', 'empty_battery', + 'epos_accessory_missing', 'error', 'error_at_power_up', 'fatal_error', + 'firmware_has_been_updated', 'folding_cutting_deck_sensor_defect', 'folding_sensor_activated', 'geofence_problem', @@ -1870,13 +1986,19 @@ 'high_charging_power_loss', 'high_internal_power_loss', 'high_internal_temperature', + 'high_temperature_in_cutting_motor_center', + 'high_temperature_in_cutting_motor_left', + 'high_temperature_in_cutting_motor_right', + 'imbalanced_auxiliary_cutting_disc_detected', 'internal_voltage_error', 'invalid_battery_combination_invalid_combination_of_different_battery_types', + 'invalid_software_configuration', 'invalid_sub_device_combination', 'invalid_system_configuration', 'left_brush_motor_overloaded', 'lift_sensor_defect', 'lifted', + 'lifted_in_link_arm', 'limited_cutting_height_range', 'loop_sensor_defect', 'loop_sensor_problem_front', @@ -1885,10 +2007,14 @@ 'loop_sensor_problem_right', 'low_battery', 'memory_circuit_problem', + 'mower_installation_position_changed', 'mower_lifted', 'mower_tilted', + 'multiple_reference_stations_detected', 'no_accurate_position_from_satellites', + 'no_charging_station_signal', 'no_confirmed_position', + 'no_correction_data_available', 'no_drive', 'no_error', 'no_loop_signal', @@ -1896,10 +2022,14 @@ 'no_response_from_charger', 'off', 'outside_working_area', + 'pin_code_changed', 'poor_signal_quality', + 'poor_vision_performance', + 'radar_problem', 'reference_station_communication_problem', 'right_brush_motor_overloaded', 'safety_function_faulty', + 'self_diagnostic_error', 'settings_restored', 'sim_card_locked', 'sim_card_not_found', @@ -1924,9 +2054,13 @@ 'unexpected_cutting_height_adj', 'unexpected_error', 'upside_down', + 'vision_system_error', + 'vision_system_malfunction', 'wait_power_up', 'wait_updating', + 'water_hose_found_in_working_area', 'weak_gps_signal', + 'wheel_brush_motor_problem', 'wheel_drive_problem_left', 'wheel_drive_problem_rear_left', 'wheel_drive_problem_rear_right', @@ -1939,7 +2073,9 @@ 'wheel_motor_overloaded_rear_left', 'wheel_motor_overloaded_rear_right', 'wheel_motor_overloaded_right', + 'wi_fi_settings_changed', 'work_area_not_valid', + 'work_area_tampered', 'wrong_loop_signal', 'wrong_pin_code', 'zone_generator_problem', diff --git a/tests/components/husqvarna_automower/test_event.py b/tests/components/husqvarna_automower/test_event.py index e29b108ac870..6fa36b1d0c6e 100644 --- a/tests/components/husqvarna_automower/test_event.py +++ b/tests/components/husqvarna_automower/test_event.py @@ -164,6 +164,56 @@ async def test_event( assert entry is None +@pytest.mark.freeze_time(datetime(2023, 6, 5, 12)) +async def test_event_destination_blocked( + hass: HomeAssistant, + mock_automower_client: AsyncMock, + mock_config_entry: MockConfigEntry, + automower_ws_ready: list[Callable[[], None]], +) -> None: + """Newer error codes such as destination_blocked must trigger the message event.""" + callbacks: list[Callable[[SingleMessageData], None]] = [] + + @callback + def fake_register_websocket_response( + cb: Callable[[SingleMessageData], None], + ) -> None: + callbacks.append(cb) + + mock_automower_client.register_single_message_callback.side_effect = ( + fake_register_websocket_response + ) + + await setup_integration(hass, mock_config_entry) + await hass.async_block_till_done() + + for cb in automower_ws_ready: + cb() + await hass.async_block_till_done() + + message = SingleMessageData( + type="messages", + id=TEST_MOWER_ID, + attributes=SingleMessageAttributes( + message=Message( + time=datetime(2025, 7, 13, 15, 30, tzinfo=UTC), + code="destination_blocked", + severity=Severity.ERROR, + latitude=49.0, + longitude=10.0, + ) + ), + ) + + for cb in callbacks: + cb(message) + await hass.async_block_till_done() + + state = hass.states.get("event.garden_test_mower_1_message") + assert state is not None + assert state.attributes[ATTR_EVENT_TYPE] == "destination_blocked" + + @pytest.mark.freeze_time(datetime(2023, 6, 5, 12)) async def test_event_snapshot( hass: HomeAssistant, diff --git a/tests/components/husqvarna_automower/test_sensor.py b/tests/components/husqvarna_automower/test_sensor.py index 2a75597ee4e2..80c5f75b298c 100644 --- a/tests/components/husqvarna_automower/test_sensor.py +++ b/tests/components/husqvarna_automower/test_sensor.py @@ -286,6 +286,7 @@ async def test_error_sensor( for state, error_key, expected_state in ( (MowerStates.IN_OPERATION, None, "no_error"), (MowerStates.ERROR, "can_error", "can_error"), + (MowerStates.ERROR, "destination_blocked", "destination_blocked"), (MowerStates.ERROR, None, MowerStates.ERROR.lower()), (MowerStates.ERROR_AT_POWER_UP, None, MowerStates.ERROR_AT_POWER_UP.lower()), (MowerStates.FATAL_ERROR, None, MowerStates.FATAL_ERROR.lower()),