Add additional mower to Husqvarna Autmower tests (#126313)
This commit is contained in:
parent
42f8d9d10f
commit
7a9da6dde1
9 changed files with 876 additions and 42 deletions
|
@ -6,7 +6,7 @@
|
|||
"attributes": {
|
||||
"system": {
|
||||
"name": "Test Mower 1",
|
||||
"model": "450XH-TEST",
|
||||
"model": "HUSQVARNA AUTOMOWER® 450XH",
|
||||
"serialNumber": 123
|
||||
},
|
||||
"battery": {
|
||||
|
@ -78,17 +78,6 @@
|
|||
"saturday": true,
|
||||
"sunday": false,
|
||||
"workAreaId": 654321
|
||||
},
|
||||
{
|
||||
"start": 120,
|
||||
"duration": 480,
|
||||
"monday": true,
|
||||
"tuesday": false,
|
||||
"wednesday": false,
|
||||
"thursday": true,
|
||||
"friday": false,
|
||||
"saturday": true,
|
||||
"sunday": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -219,6 +208,69 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "mower",
|
||||
"id": "1234",
|
||||
"attributes": {
|
||||
"system": {
|
||||
"name": "Test Mower 2",
|
||||
"model": "HUSQVARNA AUTOMOWER® Aspire R4",
|
||||
"serialNumber": 123
|
||||
},
|
||||
"battery": {
|
||||
"batteryPercent": 50
|
||||
},
|
||||
"capabilities": {
|
||||
"canConfirmError": false,
|
||||
"headlights": false,
|
||||
"position": false,
|
||||
"stayOutZones": false,
|
||||
"workAreas": false
|
||||
},
|
||||
"mower": {
|
||||
"mode": "MAIN_AREA",
|
||||
"activity": "PARKED_IN_CS",
|
||||
"inactiveReason": "NONE",
|
||||
"state": "RESTRICTED",
|
||||
"errorCode": 0,
|
||||
"errorCodeTimestamp": 0
|
||||
},
|
||||
"calendar": {
|
||||
"tasks": [
|
||||
{
|
||||
"start": 120,
|
||||
"duration": 49,
|
||||
"monday": true,
|
||||
"tuesday": false,
|
||||
"wednesday": false,
|
||||
"thursday": false,
|
||||
"friday": false,
|
||||
"saturday": false,
|
||||
"sunday": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"planner": {
|
||||
"nextStartTimestamp": 1685991600000,
|
||||
"override": {
|
||||
"action": "NOT_ACTIVE"
|
||||
},
|
||||
"restrictedReason": "WEEK_SCHEDULE"
|
||||
},
|
||||
"metadata": {
|
||||
"connected": true,
|
||||
"statusTimestamp": 1697669932683
|
||||
},
|
||||
"positions": [],
|
||||
"settings": {
|
||||
"cuttingHeight": null,
|
||||
"headlight": {
|
||||
"mode": null
|
||||
}
|
||||
},
|
||||
"statistics": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -138,3 +138,142 @@
|
|||
'state': 'off',
|
||||
})
|
||||
# ---
|
||||
# name: test_binary_sensor_snapshot[binary_sensor.test_mower_2_charging-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': None,
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'binary_sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'binary_sensor.test_mower_2_charging',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <BinarySensorDeviceClass.BATTERY_CHARGING: 'battery_charging'>,
|
||||
'original_icon': None,
|
||||
'original_name': 'Charging',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': None,
|
||||
'unique_id': '1234_battery_charging',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_binary_sensor_snapshot[binary_sensor.test_mower_2_charging-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'device_class': 'battery_charging',
|
||||
'friendly_name': 'Test Mower 2 Charging',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'binary_sensor.test_mower_2_charging',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'off',
|
||||
})
|
||||
# ---
|
||||
# name: test_binary_sensor_snapshot[binary_sensor.test_mower_2_leaving_dock-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': None,
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'binary_sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'binary_sensor.test_mower_2_leaving_dock',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
'original_icon': None,
|
||||
'original_name': 'Leaving dock',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'leaving_dock',
|
||||
'unique_id': '1234_leaving_dock',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_binary_sensor_snapshot[binary_sensor.test_mower_2_leaving_dock-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Test Mower 2 Leaving dock',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'binary_sensor.test_mower_2_leaving_dock',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'off',
|
||||
})
|
||||
# ---
|
||||
# name: test_binary_sensor_snapshot[binary_sensor.test_mower_2_returning_to_dock-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': None,
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'binary_sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'binary_sensor.test_mower_2_returning_to_dock',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
'original_icon': None,
|
||||
'original_name': 'Returning to dock',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'returning_to_dock',
|
||||
'unique_id': '1234_returning_to_dock',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_binary_sensor_snapshot[binary_sensor.test_mower_2_returning_to_dock-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Test Mower 2 Returning to dock',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'binary_sensor.test_mower_2_returning_to_dock',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'off',
|
||||
})
|
||||
# ---
|
||||
|
|
|
@ -91,3 +91,49 @@
|
|||
'state': 'unknown',
|
||||
})
|
||||
# ---
|
||||
# name: test_button_snapshot[button.test_mower_2_sync_clock-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': None,
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'button',
|
||||
'entity_category': None,
|
||||
'entity_id': 'button.test_mower_2_sync_clock',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
'original_icon': None,
|
||||
'original_name': 'Sync clock',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'sync_clock',
|
||||
'unique_id': '1234_sync_clock',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_button_snapshot[button.test_mower_2_sync_clock-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Test Mower 2 Sync clock',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'button.test_mower_2_sync_clock',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'unknown',
|
||||
})
|
||||
# ---
|
||||
|
|
|
@ -8,11 +8,6 @@
|
|||
'start': '2023-06-05T01:00:00+02:00',
|
||||
'summary': 'Back lawn schedule 2',
|
||||
}),
|
||||
dict({
|
||||
'end': '2023-06-05T10:00:00+02:00',
|
||||
'start': '2023-06-05T02:00:00+02:00',
|
||||
'summary': 'Schedule 1',
|
||||
}),
|
||||
dict({
|
||||
'end': '2023-06-06T00:00:00+02:00',
|
||||
'start': '2023-06-05T19:00:00+02:00',
|
||||
|
@ -53,11 +48,6 @@
|
|||
'start': '2023-06-08T01:00:00+02:00',
|
||||
'summary': 'Back lawn schedule 2',
|
||||
}),
|
||||
dict({
|
||||
'end': '2023-06-08T10:00:00+02:00',
|
||||
'start': '2023-06-08T02:00:00+02:00',
|
||||
'summary': 'Schedule 1',
|
||||
}),
|
||||
dict({
|
||||
'end': '2023-06-10T00:00:00+02:00',
|
||||
'start': '2023-06-09T19:00:00+02:00',
|
||||
|
@ -66,21 +56,25 @@
|
|||
dict({
|
||||
'end': '2023-06-10T08:00:00+02:00',
|
||||
'start': '2023-06-10T00:00:00+02:00',
|
||||
'summary': 'Front lawn schedule 2',
|
||||
'summary': 'Back lawn schedule 1',
|
||||
}),
|
||||
dict({
|
||||
'end': '2023-06-10T08:00:00+02:00',
|
||||
'start': '2023-06-10T00:00:00+02:00',
|
||||
'summary': 'Back lawn schedule 1',
|
||||
'summary': 'Front lawn schedule 2',
|
||||
}),
|
||||
dict({
|
||||
'end': '2023-06-10T09:00:00+02:00',
|
||||
'start': '2023-06-10T01:00:00+02:00',
|
||||
'summary': 'Back lawn schedule 2',
|
||||
}),
|
||||
]),
|
||||
}),
|
||||
'calendar.test_mower_2': dict({
|
||||
'events': list([
|
||||
dict({
|
||||
'end': '2023-06-10T10:00:00+02:00',
|
||||
'start': '2023-06-10T02:00:00+02:00',
|
||||
'end': '2023-06-05T02:49:00+02:00',
|
||||
'start': '2023-06-05T02:00:00+02:00',
|
||||
'summary': 'Schedule 1',
|
||||
}),
|
||||
]),
|
||||
|
|
|
@ -58,19 +58,6 @@
|
|||
'work_area_id': 654321,
|
||||
'work_area_name': 'Back lawn',
|
||||
}),
|
||||
dict({
|
||||
'duration': 480,
|
||||
'friday': False,
|
||||
'monday': True,
|
||||
'saturday': True,
|
||||
'start': 120,
|
||||
'sunday': False,
|
||||
'thursday': True,
|
||||
'tuesday': False,
|
||||
'wednesday': False,
|
||||
'work_area_id': None,
|
||||
'work_area_name': None,
|
||||
}),
|
||||
]),
|
||||
}),
|
||||
'capabilities': dict({
|
||||
|
@ -136,7 +123,7 @@
|
|||
}),
|
||||
}),
|
||||
'system': dict({
|
||||
'model': '450XH-TEST',
|
||||
'model': 'HUSQVARNA AUTOMOWER® 450XH',
|
||||
'name': 'Test Mower 1',
|
||||
'serial_number': 123,
|
||||
}),
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
'labels': set({
|
||||
}),
|
||||
'manufacturer': 'Husqvarna',
|
||||
'model': '450XH-TEST',
|
||||
'model': 'HUSQVARNA AUTOMOWER® 450XH',
|
||||
'model_id': None,
|
||||
'name': 'Test Mower 1',
|
||||
'name_by_user': None,
|
||||
|
|
|
@ -1056,3 +1056,573 @@
|
|||
'state': 'Front lawn',
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_battery-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': dict({
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
}),
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'sensor.test_mower_2_battery',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
|
||||
'original_icon': None,
|
||||
'original_name': 'Battery',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': None,
|
||||
'unique_id': '1234_battery_percent',
|
||||
'unit_of_measurement': '%',
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_battery-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'device_class': 'battery',
|
||||
'friendly_name': 'Test Mower 2 Battery',
|
||||
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
|
||||
'unit_of_measurement': '%',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.test_mower_2_battery',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': '50',
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_error-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': dict({
|
||||
'options': list([
|
||||
'no_error',
|
||||
'alarm_mower_in_motion',
|
||||
'alarm_mower_lifted',
|
||||
'alarm_mower_stopped',
|
||||
'alarm_mower_switched_off',
|
||||
'alarm_mower_tilted',
|
||||
'alarm_outside_geofence',
|
||||
'angular_sensor_problem',
|
||||
'battery_problem',
|
||||
'battery_problem',
|
||||
'battery_restriction_due_to_ambient_temperature',
|
||||
'can_error',
|
||||
'charging_current_too_high',
|
||||
'charging_station_blocked',
|
||||
'charging_system_problem',
|
||||
'charging_system_problem',
|
||||
'collision_sensor_defect',
|
||||
'collision_sensor_error',
|
||||
'collision_sensor_problem_front',
|
||||
'collision_sensor_problem_rear',
|
||||
'com_board_not_available',
|
||||
'communication_circuit_board_sw_must_be_updated',
|
||||
'complex_working_area',
|
||||
'connection_changed',
|
||||
'connection_not_changed',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_settings_restored',
|
||||
'cutting_drive_motor_1_defect',
|
||||
'cutting_drive_motor_2_defect',
|
||||
'cutting_drive_motor_3_defect',
|
||||
'cutting_height_blocked',
|
||||
'cutting_height_problem',
|
||||
'cutting_height_problem_curr',
|
||||
'cutting_height_problem_dir',
|
||||
'cutting_height_problem_drive',
|
||||
'cutting_motor_problem',
|
||||
'cutting_stopped_slope_too_steep',
|
||||
'cutting_system_blocked',
|
||||
'cutting_system_blocked',
|
||||
'cutting_system_imbalance_warning',
|
||||
'cutting_system_major_imbalance',
|
||||
'destination_not_reachable',
|
||||
'difficult_finding_home',
|
||||
'docking_sensor_defect',
|
||||
'electronic_problem',
|
||||
'empty_battery',
|
||||
'folding_cutting_deck_sensor_defect',
|
||||
'folding_sensor_activated',
|
||||
'geofence_problem',
|
||||
'geofence_problem',
|
||||
'gps_navigation_problem',
|
||||
'guide_1_not_found',
|
||||
'guide_2_not_found',
|
||||
'guide_3_not_found',
|
||||
'guide_calibration_accomplished',
|
||||
'guide_calibration_failed',
|
||||
'high_charging_power_loss',
|
||||
'high_internal_power_loss',
|
||||
'high_internal_temperature',
|
||||
'internal_voltage_error',
|
||||
'invalid_battery_combination_invalid_combination_of_different_battery_types',
|
||||
'invalid_sub_device_combination',
|
||||
'invalid_system_configuration',
|
||||
'left_brush_motor_overloaded',
|
||||
'lift_sensor_defect',
|
||||
'lifted',
|
||||
'limited_cutting_height_range',
|
||||
'limited_cutting_height_range',
|
||||
'loop_sensor_defect',
|
||||
'loop_sensor_problem_front',
|
||||
'loop_sensor_problem_left',
|
||||
'loop_sensor_problem_rear',
|
||||
'loop_sensor_problem_right',
|
||||
'low_battery',
|
||||
'memory_circuit_problem',
|
||||
'mower_lifted',
|
||||
'mower_tilted',
|
||||
'no_accurate_position_from_satellites',
|
||||
'no_confirmed_position',
|
||||
'no_drive',
|
||||
'no_loop_signal',
|
||||
'no_power_in_charging_station',
|
||||
'no_response_from_charger',
|
||||
'outside_working_area',
|
||||
'poor_signal_quality',
|
||||
'reference_station_communication_problem',
|
||||
'right_brush_motor_overloaded',
|
||||
'safety_function_faulty',
|
||||
'settings_restored',
|
||||
'sim_card_locked',
|
||||
'sim_card_locked',
|
||||
'sim_card_locked',
|
||||
'sim_card_locked',
|
||||
'sim_card_not_found',
|
||||
'sim_card_requires_pin',
|
||||
'slipped_mower_has_slipped_situation_not_solved_with_moving_pattern',
|
||||
'slope_too_steep',
|
||||
'sms_could_not_be_sent',
|
||||
'stop_button_problem',
|
||||
'stuck_in_charging_station',
|
||||
'switch_cord_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'tilt_sensor_problem',
|
||||
'too_high_discharge_current',
|
||||
'too_high_internal_current',
|
||||
'trapped',
|
||||
'ultrasonic_problem',
|
||||
'ultrasonic_sensor_1_defect',
|
||||
'ultrasonic_sensor_2_defect',
|
||||
'ultrasonic_sensor_3_defect',
|
||||
'ultrasonic_sensor_4_defect',
|
||||
'unexpected_cutting_height_adj',
|
||||
'unexpected_error',
|
||||
'upside_down',
|
||||
'weak_gps_signal',
|
||||
'wheel_drive_problem_left',
|
||||
'wheel_drive_problem_rear_left',
|
||||
'wheel_drive_problem_rear_right',
|
||||
'wheel_drive_problem_right',
|
||||
'wheel_motor_blocked_left',
|
||||
'wheel_motor_blocked_rear_left',
|
||||
'wheel_motor_blocked_rear_right',
|
||||
'wheel_motor_blocked_right',
|
||||
'wheel_motor_overloaded_left',
|
||||
'wheel_motor_overloaded_rear_left',
|
||||
'wheel_motor_overloaded_rear_right',
|
||||
'wheel_motor_overloaded_right',
|
||||
'work_area_not_valid',
|
||||
'wrong_loop_signal',
|
||||
'wrong_pin_code',
|
||||
'zone_generator_problem',
|
||||
]),
|
||||
}),
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'sensor.test_mower_2_error',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
'original_icon': None,
|
||||
'original_name': 'Error',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'error',
|
||||
'unique_id': '1234_error',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_error-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'device_class': 'enum',
|
||||
'friendly_name': 'Test Mower 2 Error',
|
||||
'options': list([
|
||||
'no_error',
|
||||
'alarm_mower_in_motion',
|
||||
'alarm_mower_lifted',
|
||||
'alarm_mower_stopped',
|
||||
'alarm_mower_switched_off',
|
||||
'alarm_mower_tilted',
|
||||
'alarm_outside_geofence',
|
||||
'angular_sensor_problem',
|
||||
'battery_problem',
|
||||
'battery_problem',
|
||||
'battery_restriction_due_to_ambient_temperature',
|
||||
'can_error',
|
||||
'charging_current_too_high',
|
||||
'charging_station_blocked',
|
||||
'charging_system_problem',
|
||||
'charging_system_problem',
|
||||
'collision_sensor_defect',
|
||||
'collision_sensor_error',
|
||||
'collision_sensor_problem_front',
|
||||
'collision_sensor_problem_rear',
|
||||
'com_board_not_available',
|
||||
'communication_circuit_board_sw_must_be_updated',
|
||||
'complex_working_area',
|
||||
'connection_changed',
|
||||
'connection_not_changed',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_problem',
|
||||
'connectivity_settings_restored',
|
||||
'cutting_drive_motor_1_defect',
|
||||
'cutting_drive_motor_2_defect',
|
||||
'cutting_drive_motor_3_defect',
|
||||
'cutting_height_blocked',
|
||||
'cutting_height_problem',
|
||||
'cutting_height_problem_curr',
|
||||
'cutting_height_problem_dir',
|
||||
'cutting_height_problem_drive',
|
||||
'cutting_motor_problem',
|
||||
'cutting_stopped_slope_too_steep',
|
||||
'cutting_system_blocked',
|
||||
'cutting_system_blocked',
|
||||
'cutting_system_imbalance_warning',
|
||||
'cutting_system_major_imbalance',
|
||||
'destination_not_reachable',
|
||||
'difficult_finding_home',
|
||||
'docking_sensor_defect',
|
||||
'electronic_problem',
|
||||
'empty_battery',
|
||||
'folding_cutting_deck_sensor_defect',
|
||||
'folding_sensor_activated',
|
||||
'geofence_problem',
|
||||
'geofence_problem',
|
||||
'gps_navigation_problem',
|
||||
'guide_1_not_found',
|
||||
'guide_2_not_found',
|
||||
'guide_3_not_found',
|
||||
'guide_calibration_accomplished',
|
||||
'guide_calibration_failed',
|
||||
'high_charging_power_loss',
|
||||
'high_internal_power_loss',
|
||||
'high_internal_temperature',
|
||||
'internal_voltage_error',
|
||||
'invalid_battery_combination_invalid_combination_of_different_battery_types',
|
||||
'invalid_sub_device_combination',
|
||||
'invalid_system_configuration',
|
||||
'left_brush_motor_overloaded',
|
||||
'lift_sensor_defect',
|
||||
'lifted',
|
||||
'limited_cutting_height_range',
|
||||
'limited_cutting_height_range',
|
||||
'loop_sensor_defect',
|
||||
'loop_sensor_problem_front',
|
||||
'loop_sensor_problem_left',
|
||||
'loop_sensor_problem_rear',
|
||||
'loop_sensor_problem_right',
|
||||
'low_battery',
|
||||
'memory_circuit_problem',
|
||||
'mower_lifted',
|
||||
'mower_tilted',
|
||||
'no_accurate_position_from_satellites',
|
||||
'no_confirmed_position',
|
||||
'no_drive',
|
||||
'no_loop_signal',
|
||||
'no_power_in_charging_station',
|
||||
'no_response_from_charger',
|
||||
'outside_working_area',
|
||||
'poor_signal_quality',
|
||||
'reference_station_communication_problem',
|
||||
'right_brush_motor_overloaded',
|
||||
'safety_function_faulty',
|
||||
'settings_restored',
|
||||
'sim_card_locked',
|
||||
'sim_card_locked',
|
||||
'sim_card_locked',
|
||||
'sim_card_locked',
|
||||
'sim_card_not_found',
|
||||
'sim_card_requires_pin',
|
||||
'slipped_mower_has_slipped_situation_not_solved_with_moving_pattern',
|
||||
'slope_too_steep',
|
||||
'sms_could_not_be_sent',
|
||||
'stop_button_problem',
|
||||
'stuck_in_charging_station',
|
||||
'switch_cord_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'temporary_battery_problem',
|
||||
'tilt_sensor_problem',
|
||||
'too_high_discharge_current',
|
||||
'too_high_internal_current',
|
||||
'trapped',
|
||||
'ultrasonic_problem',
|
||||
'ultrasonic_sensor_1_defect',
|
||||
'ultrasonic_sensor_2_defect',
|
||||
'ultrasonic_sensor_3_defect',
|
||||
'ultrasonic_sensor_4_defect',
|
||||
'unexpected_cutting_height_adj',
|
||||
'unexpected_error',
|
||||
'upside_down',
|
||||
'weak_gps_signal',
|
||||
'wheel_drive_problem_left',
|
||||
'wheel_drive_problem_rear_left',
|
||||
'wheel_drive_problem_rear_right',
|
||||
'wheel_drive_problem_right',
|
||||
'wheel_motor_blocked_left',
|
||||
'wheel_motor_blocked_rear_left',
|
||||
'wheel_motor_blocked_rear_right',
|
||||
'wheel_motor_blocked_right',
|
||||
'wheel_motor_overloaded_left',
|
||||
'wheel_motor_overloaded_rear_left',
|
||||
'wheel_motor_overloaded_rear_right',
|
||||
'wheel_motor_overloaded_right',
|
||||
'work_area_not_valid',
|
||||
'wrong_loop_signal',
|
||||
'wrong_pin_code',
|
||||
'zone_generator_problem',
|
||||
]),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.test_mower_2_error',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'no_error',
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_mode-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': dict({
|
||||
'options': list([
|
||||
'main_area',
|
||||
'demo',
|
||||
'secondary_area',
|
||||
'home',
|
||||
'unknown',
|
||||
]),
|
||||
}),
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'sensor.test_mower_2_mode',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
'original_icon': None,
|
||||
'original_name': 'Mode',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'mode',
|
||||
'unique_id': '1234_mode',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_mode-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'device_class': 'enum',
|
||||
'friendly_name': 'Test Mower 2 Mode',
|
||||
'options': list([
|
||||
'main_area',
|
||||
'demo',
|
||||
'secondary_area',
|
||||
'home',
|
||||
'unknown',
|
||||
]),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.test_mower_2_mode',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'main_area',
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_next_start-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': None,
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'sensor.test_mower_2_next_start',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
|
||||
'original_icon': None,
|
||||
'original_name': 'Next start',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'next_start_timestamp',
|
||||
'unique_id': '1234_next_start_timestamp',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_next_start-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'device_class': 'timestamp',
|
||||
'friendly_name': 'Test Mower 2 Next start',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.test_mower_2_next_start',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': '2023-06-05T17:00:00+00:00',
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_restricted_reason-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': dict({
|
||||
'options': list([
|
||||
'all_work_areas_completed',
|
||||
'daily_limit',
|
||||
'external',
|
||||
'fota',
|
||||
'frost',
|
||||
'none',
|
||||
'not_applicable',
|
||||
'park_override',
|
||||
'sensor',
|
||||
'week_schedule',
|
||||
]),
|
||||
}),
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'sensor',
|
||||
'entity_category': None,
|
||||
'entity_id': 'sensor.test_mower_2_restricted_reason',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
|
||||
'original_icon': None,
|
||||
'original_name': 'Restricted reason',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'restricted_reason',
|
||||
'unique_id': '1234_restricted_reason',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_sensor_snapshot[sensor.test_mower_2_restricted_reason-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'device_class': 'enum',
|
||||
'friendly_name': 'Test Mower 2 Restricted reason',
|
||||
'options': list([
|
||||
'all_work_areas_completed',
|
||||
'daily_limit',
|
||||
'external',
|
||||
'fota',
|
||||
'frost',
|
||||
'none',
|
||||
'not_applicable',
|
||||
'park_override',
|
||||
'sensor',
|
||||
'week_schedule',
|
||||
]),
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.test_mower_2_restricted_reason',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'week_schedule',
|
||||
})
|
||||
# ---
|
||||
|
|
|
@ -137,3 +137,49 @@
|
|||
'state': 'on',
|
||||
})
|
||||
# ---
|
||||
# name: test_switch_snapshot[switch.test_mower_2_enable_schedule-entry]
|
||||
EntityRegistryEntrySnapshot({
|
||||
'aliases': set({
|
||||
}),
|
||||
'area_id': None,
|
||||
'capabilities': None,
|
||||
'config_entry_id': <ANY>,
|
||||
'device_class': None,
|
||||
'device_id': <ANY>,
|
||||
'disabled_by': None,
|
||||
'domain': 'switch',
|
||||
'entity_category': None,
|
||||
'entity_id': 'switch.test_mower_2_enable_schedule',
|
||||
'has_entity_name': True,
|
||||
'hidden_by': None,
|
||||
'icon': None,
|
||||
'id': <ANY>,
|
||||
'labels': set({
|
||||
}),
|
||||
'name': None,
|
||||
'options': dict({
|
||||
}),
|
||||
'original_device_class': None,
|
||||
'original_icon': None,
|
||||
'original_name': 'Enable schedule',
|
||||
'platform': 'husqvarna_automower',
|
||||
'previous_unique_id': None,
|
||||
'supported_features': 0,
|
||||
'translation_key': 'enable_schedule',
|
||||
'unique_id': '1234_enable_schedule',
|
||||
'unit_of_measurement': None,
|
||||
})
|
||||
# ---
|
||||
# name: test_switch_snapshot[switch.test_mower_2_enable_schedule-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'friendly_name': 'Test Mower 2 Enable schedule',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'switch.test_mower_2_enable_schedule',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'on',
|
||||
})
|
||||
# ---
|
||||
|
|
|
@ -138,7 +138,7 @@ async def test_calendar_snapshot(
|
|||
CALENDAR_DOMAIN,
|
||||
SERVICE_GET_EVENTS,
|
||||
{
|
||||
ATTR_ENTITY_ID: "calendar.test_mower_1",
|
||||
ATTR_ENTITY_ID: ["calendar.test_mower_1", "calendar.test_mower_2"],
|
||||
EVENT_START_DATETIME: start_date,
|
||||
EVENT_END_DATETIME: end_date,
|
||||
},
|
||||
|
|
Loading…
Add table
Reference in a new issue