Skip to content

Commit

Permalink
Migrate Velbus to have Entity name (home-assistant#135520)
Browse files Browse the repository at this point in the history
  • Loading branch information
cereal2nd authored Jan 14, 2025
1 parent e3f03c9 commit 959cea4
Show file tree
Hide file tree
Showing 19 changed files with 145 additions and 137 deletions.
1 change: 1 addition & 0 deletions homeassistant/components/velbus/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
class VelbusEntity(Entity):
"""Representation of a Velbus entity."""

_attr_has_entity_name = True
_attr_should_poll: bool = False

def __init__(self, channel: VelbusChannel) -> None:
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/velbus/quality_scale.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ rules:
docs-removal-instructions: done
entity-event-setup: done
entity-unique-id: done
has-entity-name: todo
has-entity-name: done
runtime-data: done
test-before-configure: done
test-before-setup: done
Expand Down
18 changes: 9 additions & 9 deletions tests/components/velbus/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def mock_button() -> AsyncMock:
channel.get_channel_number.return_value = 1
channel.get_module_type_name.return_value = "VMB4RYLD"
channel.get_module_type.return_value = 99
channel.get_full_name.return_value = "Channel full name"
channel.get_full_name.return_value = "Bedroom kid 1"
channel.get_module_sw_version.return_value = "1.0.0"
channel.get_module_serial.return_value = "a1b2c3d4e5f6"
channel.is_sub_device.return_value = False
Expand All @@ -132,7 +132,7 @@ def mock_temperature() -> AsyncMock:
channel.get_module_address.return_value = 88
channel.get_channel_number.return_value = 3
channel.get_module_type_name.return_value = "VMB4GPO"
channel.get_full_name.return_value = "Channel full name"
channel.get_full_name.return_value = "Living room"
channel.get_module_sw_version.return_value = "3.0.0"
channel.get_module_serial.return_value = "asdfghjk"
channel.get_module_type.return_value = 1
Expand Down Expand Up @@ -160,7 +160,7 @@ def mock_relay() -> AsyncMock:
channel.get_module_address.return_value = 88
channel.get_channel_number.return_value = 55
channel.get_module_type_name.return_value = "VMB4RYNO"
channel.get_full_name.return_value = "Full relay name"
channel.get_full_name.return_value = "Living room"
channel.get_module_sw_version.return_value = "1.0.1"
channel.get_module_serial.return_value = "qwerty123"
channel.get_module_type.return_value = 2
Expand All @@ -179,7 +179,7 @@ def mock_select() -> AsyncMock:
channel.get_channel_number.return_value = 33
channel.get_module_type_name.return_value = "VMB4RYNO"
channel.get_module_type.return_value = 3
channel.get_full_name.return_value = "Full module name"
channel.get_full_name.return_value = "Kitchen"
channel.get_module_sw_version.return_value = "1.1.1"
channel.get_module_serial.return_value = "qwerty1234567"
channel.is_sub_device.return_value = False
Expand All @@ -198,7 +198,7 @@ def mock_buttoncounter() -> AsyncMock:
channel.get_channel_number.return_value = 2
channel.get_module_type_name.return_value = "VMB7IN"
channel.get_module_type.return_value = 4
channel.get_full_name.return_value = "Channel full name"
channel.get_full_name.return_value = "Input"
channel.get_module_sw_version.return_value = "1.0.0"
channel.get_module_serial.return_value = "a1b2c3d4e5f6"
channel.is_sub_device.return_value = True
Expand All @@ -221,7 +221,7 @@ def mock_sensornumber() -> AsyncMock:
channel.get_channel_number.return_value = 3
channel.get_module_type_name.return_value = "VMB7IN"
channel.get_module_type.return_value = 8
channel.get_full_name.return_value = "Channel full name"
channel.get_full_name.return_value = "Input"
channel.get_module_sw_version.return_value = "1.0.0"
channel.get_module_serial.return_value = "a1b2c3d4e5f6"
channel.is_sub_device.return_value = False
Expand All @@ -242,7 +242,7 @@ def mock_lightsensor() -> AsyncMock:
channel.get_channel_number.return_value = 4
channel.get_module_type_name.return_value = "VMB7IN"
channel.get_module_type.return_value = 8
channel.get_full_name.return_value = "Channel full name"
channel.get_full_name.return_value = "Input"
channel.get_module_sw_version.return_value = "1.0.0"
channel.get_module_serial.return_value = "a1b2c3d4e5f6"
channel.is_sub_device.return_value = False
Expand Down Expand Up @@ -282,7 +282,7 @@ def mock_cover() -> AsyncMock:
channel.get_channel_number.return_value = 9
channel.get_module_type_name.return_value = "VMB2BLE"
channel.get_module_type.return_value = 10
channel.get_full_name.return_value = "Full cover name"
channel.get_full_name.return_value = "Basement"
channel.get_module_sw_version.return_value = "1.0.1"
channel.get_module_serial.return_value = "1234"
channel.is_sub_device.return_value = True
Expand All @@ -305,7 +305,7 @@ def mock_cover_no_position() -> AsyncMock:
channel.get_channel_number.return_value = 11
channel.get_module_type_name.return_value = "VMB2BLE"
channel.get_module_type.return_value = 10
channel.get_full_name.return_value = "Full cover name no position"
channel.get_full_name.return_value = "Basement"
channel.get_module_sw_version.return_value = "1.0.1"
channel.get_module_serial.return_value = "12345"
channel.is_sub_device.return_value = True
Expand Down
12 changes: 6 additions & 6 deletions tests/components/velbus/snapshots/test_binary_sensor.ambr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# serializer version: 1
# name: test_entities[binary_sensor.buttonon-entry]
# name: test_entities[binary_sensor.bedroom_kid_1_buttonon-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
Expand All @@ -11,8 +11,8 @@
'disabled_by': None,
'domain': 'binary_sensor',
'entity_category': None,
'entity_id': 'binary_sensor.buttonon',
'has_entity_name': False,
'entity_id': 'binary_sensor.bedroom_kid_1_buttonon',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
Expand All @@ -32,13 +32,13 @@
'unit_of_measurement': None,
})
# ---
# name: test_entities[binary_sensor.buttonon-state]
# name: test_entities[binary_sensor.bedroom_kid_1_buttonon-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'ButtonOn',
'friendly_name': 'Bedroom kid 1 ButtonOn',
}),
'context': <ANY>,
'entity_id': 'binary_sensor.buttonon',
'entity_id': 'binary_sensor.bedroom_kid_1_buttonon',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
Expand Down
12 changes: 6 additions & 6 deletions tests/components/velbus/snapshots/test_button.ambr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# serializer version: 1
# name: test_entities[button.buttonon-entry]
# name: test_entities[button.bedroom_kid_1_buttonon-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
Expand All @@ -11,8 +11,8 @@
'disabled_by': None,
'domain': 'button',
'entity_category': <EntityCategory.CONFIG: 'config'>,
'entity_id': 'button.buttonon',
'has_entity_name': False,
'entity_id': 'button.bedroom_kid_1_buttonon',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
Expand All @@ -32,13 +32,13 @@
'unit_of_measurement': None,
})
# ---
# name: test_entities[button.buttonon-state]
# name: test_entities[button.bedroom_kid_1_buttonon-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'ButtonOn',
'friendly_name': 'Bedroom kid 1 ButtonOn',
}),
'context': <ANY>,
'entity_id': 'button.buttonon',
'entity_id': 'button.bedroom_kid_1_buttonon',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
Expand Down
12 changes: 6 additions & 6 deletions tests/components/velbus/snapshots/test_climate.ambr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# serializer version: 1
# name: test_entities[climate.temperature-entry]
# name: test_entities[climate.living_room_temperature-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
Expand All @@ -24,8 +24,8 @@
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.temperature',
'has_entity_name': False,
'entity_id': 'climate.living_room_temperature',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
Expand All @@ -45,11 +45,11 @@
'unit_of_measurement': None,
})
# ---
# name: test_entities[climate.temperature-state]
# name: test_entities[climate.living_room_temperature-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 20.0,
'friendly_name': 'Temperature',
'friendly_name': 'Living room Temperature',
'hvac_modes': list([
<HVACMode.HEAT: 'heat'>,
<HVACMode.COOL: 'cool'>,
Expand All @@ -67,7 +67,7 @@
'temperature': 21.0,
}),
'context': <ANY>,
'entity_id': 'climate.temperature',
'entity_id': 'climate.living_room_temperature',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
Expand Down
24 changes: 12 additions & 12 deletions tests/components/velbus/snapshots/test_cover.ambr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# serializer version: 1
# name: test_entities[cover.covername-entry]
# name: test_entities[cover.basement_covername-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
Expand All @@ -11,8 +11,8 @@
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.covername',
'has_entity_name': False,
'entity_id': 'cover.basement_covername',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
Expand All @@ -32,22 +32,22 @@
'unit_of_measurement': None,
})
# ---
# name: test_entities[cover.covername-state]
# name: test_entities[cover.basement_covername-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_position': 50,
'friendly_name': 'CoverName',
'friendly_name': 'Basement CoverName',
'supported_features': <CoverEntityFeature: 15>,
}),
'context': <ANY>,
'entity_id': 'cover.covername',
'entity_id': 'cover.basement_covername',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'open',
})
# ---
# name: test_entities[cover.covernamenopos-entry]
# name: test_entities[cover.basement_covernamenopos-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
Expand All @@ -59,8 +59,8 @@
'disabled_by': None,
'domain': 'cover',
'entity_category': None,
'entity_id': 'cover.covernamenopos',
'has_entity_name': False,
'entity_id': 'cover.basement_covernamenopos',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
Expand All @@ -80,15 +80,15 @@
'unit_of_measurement': None,
})
# ---
# name: test_entities[cover.covernamenopos-state]
# name: test_entities[cover.basement_covernamenopos-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assumed_state': True,
'friendly_name': 'CoverNameNoPos',
'friendly_name': 'Basement CoverNameNoPos',
'supported_features': <CoverEntityFeature: 11>,
}),
'context': <ANY>,
'entity_id': 'cover.covernamenopos',
'entity_id': 'cover.basement_covernamenopos',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
Expand Down
14 changes: 7 additions & 7 deletions tests/components/velbus/snapshots/test_init.ambr
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
'manufacturer': 'Velleman',
'model': 'VMB4RYLD',
'model_id': '99',
'name': 'Channel full name',
'name': 'Bedroom kid 1',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': 'a1b2c3d4e5f6',
Expand Down Expand Up @@ -53,7 +53,7 @@
'manufacturer': 'Velleman',
'model': 'VMB2BLE',
'model_id': '10',
'name': 'Full cover name',
'name': 'Basement',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': '1234',
Expand Down Expand Up @@ -83,7 +83,7 @@
'manufacturer': 'Velleman',
'model': 'VMB2BLE',
'model_id': '10',
'name': 'Full cover name no position',
'name': 'Basement',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': '12345',
Expand Down Expand Up @@ -143,7 +143,7 @@
'manufacturer': 'Velleman',
'model': 'VMB7IN',
'model_id': '4',
'name': 'Channel full name',
'name': 'Input',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': 'a1b2c3d4e5f6',
Expand Down Expand Up @@ -173,7 +173,7 @@
'manufacturer': 'Velleman',
'model': 'VMB4GPO',
'model_id': '1',
'name': 'Channel full name',
'name': 'Living room',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': 'asdfghjk',
Expand Down Expand Up @@ -203,7 +203,7 @@
'manufacturer': 'Velleman',
'model': 'VMB7IN',
'model_id': '8',
'name': 'Channel full name',
'name': 'Input',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': 'a1b2c3d4e5f6',
Expand Down Expand Up @@ -233,7 +233,7 @@
'manufacturer': 'Velleman',
'model': 'VMB4RYNO',
'model_id': '2',
'name': 'Full relay name',
'name': 'Living room',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': 'qwerty123',
Expand Down
Loading

0 comments on commit 959cea4

Please sign in to comment.