1
0
mirror of https://github.com/home-assistant/core.git synced 2026-05-18 22:40:15 +01:00

Fix detection of CPU temperature sensor support on olde FRITZ!Box models (#169620)

This commit is contained in:
Michael
2026-05-04 15:38:39 +02:00
committed by GitHub
parent 05c006038f
commit c80e421492
3 changed files with 866 additions and 2 deletions
+2 -1
View File
@@ -5,6 +5,7 @@ from dataclasses import dataclass
from datetime import datetime, timedelta
import logging
from fritzconnection.core.exceptions import FritzConnectionException
from fritzconnection.lib.fritzstatus import FritzStatus
from requests.exceptions import RequestException
@@ -143,7 +144,7 @@ def _is_suitable_cpu_temperature(status: FritzStatus) -> bool:
"""Return whether the CPU temperature sensor is suitable."""
try:
cpu_temp = status.get_cpu_temperatures()[0]
except RequestException, IndexError:
except RequestException, IndexError, FritzConnectionException:
_LOGGER.debug("CPU temperature not supported by the device")
return False
if cpu_temp == 0:
@@ -2573,6 +2573,864 @@
'state': '2024-08-03T16:30:21+00:00',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_connection_uptime-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_connection_uptime',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Connection uptime',
'options': dict({
}),
'original_device_class': <SensorDeviceClass.UPTIME: 'uptime'>,
'original_icon': None,
'original_name': 'Connection uptime',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'connection_uptime',
'unique_id': '1CED6F123411-connection_uptime',
'unit_of_measurement': None,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_connection_uptime-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'uptime',
'friendly_name': 'Mock Title Connection uptime',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_connection_uptime',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '2024-09-01T10:11:33+00:00',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_download_throughput-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_download_throughput',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Download throughput',
'options': dict({
'sensor': dict({
'suggested_display_precision': 0,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_RATE: 'data_rate'>,
'original_icon': None,
'original_name': 'Download throughput',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'kb_s_received',
'unique_id': '1CED6F123411-kb_s_received',
'unit_of_measurement': <UnitOfDataRate.KILOBYTES_PER_SECOND: 'kB/s'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_download_throughput-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_rate',
'friendly_name': 'Mock Title Download throughput',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': <UnitOfDataRate.KILOBYTES_PER_SECOND: 'kB/s'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_download_throughput',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '67.6',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_external_ip-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_external_ip',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'External IP',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'External IP',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'external_ip',
'unique_id': '1CED6F123411-external_ip',
'unit_of_measurement': None,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_external_ip-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Mock Title External IP',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_external_ip',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '1.2.3.4',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_external_ipv6-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_external_ipv6',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'External IPv6',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'External IPv6',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'external_ipv6',
'unique_id': '1CED6F123411-external_ipv6',
'unit_of_measurement': None,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_external_ipv6-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Mock Title External IPv6',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_external_ipv6',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'fec0::1',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_gb_received-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_gb_received',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'GB received',
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_SIZE: 'data_size'>,
'original_icon': None,
'original_name': 'GB received',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'gb_received',
'unique_id': '1CED6F123411-gb_received',
'unit_of_measurement': <UnitOfInformation.GIGABYTES: 'GB'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_gb_received-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_size',
'friendly_name': 'Mock Title GB received',
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
'unit_of_measurement': <UnitOfInformation.GIGABYTES: 'GB'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_gb_received',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '5.2',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_gb_sent-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_gb_sent',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'GB sent',
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_SIZE: 'data_size'>,
'original_icon': None,
'original_name': 'GB sent',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'gb_sent',
'unique_id': '1CED6F123411-gb_sent',
'unit_of_measurement': <UnitOfInformation.GIGABYTES: 'GB'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_gb_sent-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_size',
'friendly_name': 'Mock Title GB sent',
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
'unit_of_measurement': <UnitOfInformation.GIGABYTES: 'GB'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_gb_sent',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '1.7',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_download_noise_margin-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_link_download_noise_margin',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Link download noise margin',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Link download noise margin',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'link_noise_margin_received',
'unique_id': '1CED6F123411-link_noise_margin_received',
'unit_of_measurement': 'dB',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_download_noise_margin-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Mock Title Link download noise margin',
'unit_of_measurement': 'dB',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_link_download_noise_margin',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '8.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_download_power_attenuation-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_link_download_power_attenuation',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Link download power attenuation',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Link download power attenuation',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'link_attenuation_received',
'unique_id': '1CED6F123411-link_attenuation_received',
'unit_of_measurement': 'dB',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_download_power_attenuation-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Mock Title Link download power attenuation',
'unit_of_measurement': 'dB',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_link_download_power_attenuation',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '12.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_download_throughput-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_link_download_throughput',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Link download throughput',
'options': dict({
'sensor': dict({
'suggested_display_precision': 0,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_RATE: 'data_rate'>,
'original_icon': None,
'original_name': 'Link download throughput',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'link_kb_s_received',
'unique_id': '1CED6F123411-link_kb_s_received',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_download_throughput-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_rate',
'friendly_name': 'Mock Title Link download throughput',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_link_download_throughput',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '318557.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_upload_noise_margin-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_link_upload_noise_margin',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Link upload noise margin',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Link upload noise margin',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'link_noise_margin_sent',
'unique_id': '1CED6F123411-link_noise_margin_sent',
'unit_of_measurement': 'dB',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_upload_noise_margin-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Mock Title Link upload noise margin',
'unit_of_measurement': 'dB',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_link_upload_noise_margin',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '9.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_upload_power_attenuation-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_link_upload_power_attenuation',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Link upload power attenuation',
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Link upload power attenuation',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'link_attenuation_sent',
'unique_id': '1CED6F123411-link_attenuation_sent',
'unit_of_measurement': 'dB',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_upload_power_attenuation-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Mock Title Link upload power attenuation',
'unit_of_measurement': 'dB',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_link_upload_power_attenuation',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '7.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_upload_throughput-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_link_upload_throughput',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Link upload throughput',
'options': dict({
'sensor': dict({
'suggested_display_precision': 0,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_RATE: 'data_rate'>,
'original_icon': None,
'original_name': 'Link upload throughput',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'link_kb_s_sent',
'unique_id': '1CED6F123411-link_kb_s_sent',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_link_upload_throughput-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_rate',
'friendly_name': 'Mock Title Link upload throughput',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_link_upload_throughput',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '51805.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_max_connection_download_throughput-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_max_connection_download_throughput',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Max connection download throughput',
'options': dict({
'sensor': dict({
'suggested_display_precision': 0,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_RATE: 'data_rate'>,
'original_icon': None,
'original_name': 'Max connection download throughput',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'max_kb_s_received',
'unique_id': '1CED6F123411-max_kb_s_received',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_max_connection_download_throughput-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_rate',
'friendly_name': 'Mock Title Max connection download throughput',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_max_connection_download_throughput',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '10087.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_max_connection_upload_throughput-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_max_connection_upload_throughput',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Max connection upload throughput',
'options': dict({
'sensor': dict({
'suggested_display_precision': 0,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_RATE: 'data_rate'>,
'original_icon': None,
'original_name': 'Max connection upload throughput',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'max_kb_s_sent',
'unique_id': '1CED6F123411-max_kb_s_sent',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_max_connection_upload_throughput-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_rate',
'friendly_name': 'Mock Title Max connection upload throughput',
'unit_of_measurement': <UnitOfDataRate.KILOBITS_PER_SECOND: 'kbit/s'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_max_connection_upload_throughput',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '2105.0',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_upload_throughput-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.mock_title_upload_throughput',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Upload throughput',
'options': dict({
'sensor': dict({
'suggested_display_precision': 0,
}),
}),
'original_device_class': <SensorDeviceClass.DATA_RATE: 'data_rate'>,
'original_icon': None,
'original_name': 'Upload throughput',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'kb_s_sent',
'unique_id': '1CED6F123411-kb_s_sent',
'unit_of_measurement': <UnitOfDataRate.KILOBYTES_PER_SECOND: 'kB/s'>,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_upload_throughput-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'data_rate',
'friendly_name': 'Mock Title Upload throughput',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': <UnitOfDataRate.KILOBYTES_PER_SECOND: 'kB/s'>,
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_upload_throughput',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '3.4',
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_uptime-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
None,
]),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
'entity_id': 'sensor.mock_title_uptime',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Uptime',
'options': dict({
}),
'original_device_class': <SensorDeviceClass.UPTIME: 'uptime'>,
'original_icon': None,
'original_name': 'Uptime',
'platform': 'fritz',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '1CED6F123411-device_uptime',
'unit_of_measurement': None,
})
# ---
# name: test_sensor_cpu_temp_not_supported[side_effect3-None][sensor.mock_title_uptime-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'uptime',
'friendly_name': 'Mock Title Uptime',
}),
'context': <ANY>,
'entity_id': 'sensor.mock_title_uptime',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '2024-08-03T16:30:21+00:00',
})
# ---
# name: test_sensor_setup[sensor.mock_title_connection_uptime-entry]
EntityRegistryEntrySnapshot({
'aliases': list([
+6 -1
View File
@@ -117,7 +117,12 @@ async def test_sensor_uptime_spike(
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
@pytest.mark.parametrize(
("side_effect", "return_values"),
[(RequestException("boom"), None), (None, [0, 0, 0]), (None, [])],
[
(RequestException("boom"), None),
(None, [0, 0, 0]),
(None, []),
(FritzConnectionException("boom"), None),
],
)
async def test_sensor_cpu_temp_not_supported(
hass: HomeAssistant,