Improve geniushub test coverage (#124157)

* Add tests for local connection

* Test cloud setup

* Improve tests.

* Simplied coverage test to cloud setup.

* Mock out library and add snapshots

* Mock out library and add snapshots

* Update tests/components/geniushub/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Attempt to make it nice

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
This commit is contained in:
GeoffAtHome 2024-09-06 14:17:50 +01:00 committed by GitHub
parent b68c90d59a
commit 543f986955
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 3130 additions and 2 deletions

View file

@ -1 +1,13 @@
"""Tests for the geniushub integration.""" """Tests for the geniushub integration."""
from homeassistant.core import HomeAssistant
from tests.common import MockConfigEntry
async def setup_integration(hass: HomeAssistant, config_entry: MockConfigEntry) -> None:
"""Fixture for setting up the component."""
config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(config_entry.entry_id)
await hass.async_block_till_done()

View file

@ -1,14 +1,16 @@
"""GeniusHub tests configuration.""" """GeniusHub tests configuration."""
from collections.abc import Generator from collections.abc import Generator
from unittest.mock import patch from typing import Any
from unittest.mock import MagicMock, patch
from geniushubclient import GeniusDevice, GeniusZone
import pytest import pytest
from homeassistant.components.geniushub.const import DOMAIN from homeassistant.components.geniushub.const import DOMAIN
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_TOKEN, CONF_USERNAME from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_TOKEN, CONF_USERNAME
from tests.common import MockConfigEntry from tests.common import MockConfigEntry, load_json_array_fixture
from tests.components.smhi.common import AsyncMock from tests.components.smhi.common import AsyncMock
@ -38,6 +40,38 @@ def mock_geniushub_client() -> Generator[AsyncMock]:
yield client yield client
@pytest.fixture(scope="session")
def zones() -> list[dict[str, Any]]:
"""Return a list of zones."""
return load_json_array_fixture("zones_cloud_test_data.json", DOMAIN)
@pytest.fixture(scope="session")
def devices() -> list[dict[str, Any]]:
"""Return a list of devices."""
return load_json_array_fixture("devices_cloud_test_data.json", DOMAIN)
@pytest.fixture
def mock_geniushub_cloud(
zones: list[dict[str, Any]], devices: list[dict[str, Any]]
) -> Generator[MagicMock]:
"""Mock a GeniusHub."""
with patch(
"homeassistant.components.geniushub.GeniusHub",
autospec=True,
) as mock_client:
client = mock_client.return_value
genius_zones = [GeniusZone(z["id"], z, client) for z in zones]
client.zone_objs = genius_zones
client._zones = genius_zones
genius_devices = [GeniusDevice(d["id"], d, client) for d in devices]
client.device_objs = genius_devices
client._devices = genius_devices
client.api_version = 1
yield client
@pytest.fixture @pytest.fixture
def mock_local_config_entry() -> MockConfigEntry: def mock_local_config_entry() -> MockConfigEntry:
"""Mock a local config entry.""" """Mock a local config entry."""
@ -62,4 +96,5 @@ def mock_cloud_config_entry() -> MockConfigEntry:
data={ data={
CONF_TOKEN: "abcdef", CONF_TOKEN: "abcdef",
}, },
entry_id="01J71MQF0EC62D620DGYNG2R8H",
) )

View file

@ -0,0 +1,151 @@
[
{
"id": "4",
"type": "Smart Plug",
"assignedZones": [{ "name": "Bedroom Socket" }],
"state": { "outputOnOff": "True" }
},
{
"id": "6",
"type": "Smart Plug",
"assignedZones": [{ "name": "Kitchen Socket" }],
"state": { "outputOnOff": "True" }
},
{
"id": "11",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Lounge" }],
"state": { "batteryLevel": 43, "setTemperature": 4 }
},
{
"id": "16",
"type": "Room Sensor",
"assignedZones": [{ "name": "Guest room" }],
"state": {
"batteryLevel": 100,
"measuredTemperature": 21,
"luminance": 29,
"occupancyTrigger": 255
}
},
{
"id": "17",
"type": "Room Sensor",
"assignedZones": [{ "name": "Ensuite" }],
"state": {
"batteryLevel": 100,
"measuredTemperature": 21,
"luminance": 32,
"occupancyTrigger": 0
}
},
{
"id": "18",
"type": "Room Sensor",
"assignedZones": [{ "name": "Bedroom" }],
"state": {
"batteryLevel": 36,
"measuredTemperature": 21.5,
"luminance": 1,
"occupancyTrigger": 0
}
},
{
"id": "20",
"type": "Room Sensor",
"assignedZones": [{ "name": "Kitchen" }],
"state": {
"batteryLevel": 100,
"measuredTemperature": 21.5,
"luminance": 1,
"occupancyTrigger": 0
}
},
{
"id": "21",
"type": "Room Sensor",
"assignedZones": [{ "name": "Hall" }],
"state": {
"batteryLevel": 100,
"measuredTemperature": 21,
"luminance": 33,
"occupancyTrigger": 0
}
},
{
"id": "22",
"type": "Single Channel Receiver",
"assignedZones": [{ "name": "East Berlin" }],
"state": { "outputOnOff": "False" }
},
{
"id": "50",
"type": "Room Sensor",
"assignedZones": [{ "name": "Study" }],
"state": {
"batteryLevel": 100,
"measuredTemperature": 22,
"luminance": 34,
"occupancyTrigger": 0
}
},
{
"id": "53",
"type": "Room Sensor",
"assignedZones": [{ "name": "Lounge" }],
"state": {
"batteryLevel": 28,
"measuredTemperature": 0,
"luminance": 0,
"occupancyTrigger": 0
}
},
{
"id": "56",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Kitchen" }],
"state": { "batteryLevel": 55, "setTemperature": 4 }
},
{
"id": "68",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Hall" }],
"state": { "batteryLevel": 92, "setTemperature": 4 }
},
{
"id": "78",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Bedroom" }],
"state": { "batteryLevel": 42, "setTemperature": 4 }
},
{
"id": "85",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Study" }],
"state": { "batteryLevel": 61, "setTemperature": 4 }
},
{
"id": "86",
"type": "Smart Plug",
"assignedZones": [{ "name": "Study Socket" }],
"state": { "outputOnOff": "False" }
},
{
"id": "88",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Ensuite" }],
"state": { "batteryLevel": 49, "setTemperature": 4 }
},
{
"id": "89",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Kitchen" }],
"state": { "batteryLevel": 48, "setTemperature": 4 }
},
{
"id": "90",
"type": "Radiator Valve",
"assignedZones": [{ "name": "Guest room" }],
"state": { "batteryLevel": 92, "setTemperature": 4 }
}
]

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,50 @@
# serializer version: 1
# name: test_cloud_all_sensors[binary_sensor.single_channel_receiver_22-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.single_channel_receiver_22',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'Single Channel Receiver 22',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_22',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[binary_sensor.single_channel_receiver_22-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'East Berlin',
'friendly_name': 'Single Channel Receiver 22',
'state': dict({
}),
}),
'context': <ANY>,
'entity_id': 'binary_sensor.single_channel_receiver_22',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---

View file

@ -0,0 +1,569 @@
# serializer version: 1
# name: test_cloud_all_sensors[climate.bedroom-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'max_temp': 28.0,
'min_temp': 4.0,
'preset_modes': list([
'boost',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.bedroom',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:radiator',
'original_name': 'Bedroom',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': <ClimateEntityFeature: 401>,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_29',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[climate.bedroom-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 21.5,
'friendly_name': 'Bedroom',
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'icon': 'mdi:radiator',
'max_temp': 28.0,
'min_temp': 4.0,
'preset_mode': None,
'preset_modes': list([
'boost',
]),
'status': dict({
'mode': 'off',
'override': dict({
'duration': 0,
'setpoint': 23.5,
}),
'temperature': 21.5,
'type': 'radiator',
}),
'supported_features': <ClimateEntityFeature: 401>,
'temperature': 4,
}),
'context': <ANY>,
'entity_id': 'climate.bedroom',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_cloud_all_sensors[climate.ensuite-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'max_temp': 28.0,
'min_temp': 4.0,
'preset_modes': list([
'activity',
'boost',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.ensuite',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:radiator',
'original_name': 'Ensuite',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': <ClimateEntityFeature: 401>,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_5',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[climate.ensuite-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 21,
'friendly_name': 'Ensuite',
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'icon': 'mdi:radiator',
'max_temp': 28.0,
'min_temp': 4.0,
'preset_mode': None,
'preset_modes': list([
'activity',
'boost',
]),
'status': dict({
'mode': 'off',
'occupied': 'False',
'override': dict({
'duration': 0,
'setpoint': 28,
}),
'temperature': 21,
'type': 'radiator',
}),
'supported_features': <ClimateEntityFeature: 401>,
'temperature': 4,
}),
'context': <ANY>,
'entity_id': 'climate.ensuite',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_cloud_all_sensors[climate.guest_room-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'max_temp': 28.0,
'min_temp': 4.0,
'preset_modes': list([
'activity',
'boost',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.guest_room',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:radiator',
'original_name': 'Guest room',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': <ClimateEntityFeature: 401>,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_7',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[climate.guest_room-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 21,
'friendly_name': 'Guest room',
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'icon': 'mdi:radiator',
'max_temp': 28.0,
'min_temp': 4.0,
'preset_mode': None,
'preset_modes': list([
'activity',
'boost',
]),
'status': dict({
'mode': 'off',
'occupied': 'True',
'override': dict({
'duration': 0,
'setpoint': 20,
}),
'temperature': 21,
'type': 'radiator',
}),
'supported_features': <ClimateEntityFeature: 401>,
'temperature': 4,
}),
'context': <ANY>,
'entity_id': 'climate.guest_room',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_cloud_all_sensors[climate.hall-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'max_temp': 28.0,
'min_temp': 4.0,
'preset_modes': list([
'activity',
'boost',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.hall',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:radiator',
'original_name': 'Hall',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': <ClimateEntityFeature: 401>,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_2',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[climate.hall-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 21,
'friendly_name': 'Hall',
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'icon': 'mdi:radiator',
'max_temp': 28.0,
'min_temp': 4.0,
'preset_mode': None,
'preset_modes': list([
'activity',
'boost',
]),
'status': dict({
'mode': 'off',
'occupied': 'False',
'override': dict({
'duration': 0,
'setpoint': 20,
}),
'temperature': 21,
'type': 'radiator',
}),
'supported_features': <ClimateEntityFeature: 401>,
'temperature': 4,
}),
'context': <ANY>,
'entity_id': 'climate.hall',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_cloud_all_sensors[climate.kitchen-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'max_temp': 28.0,
'min_temp': 4.0,
'preset_modes': list([
'activity',
'boost',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.kitchen',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:radiator',
'original_name': 'Kitchen',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': <ClimateEntityFeature: 401>,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_3',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[climate.kitchen-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 21.5,
'friendly_name': 'Kitchen',
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'icon': 'mdi:radiator',
'max_temp': 28.0,
'min_temp': 4.0,
'preset_mode': None,
'preset_modes': list([
'activity',
'boost',
]),
'status': dict({
'mode': 'off',
'occupied': 'False',
'override': dict({
'duration': 0,
'setpoint': 20,
}),
'temperature': 21.5,
'type': 'radiator',
}),
'supported_features': <ClimateEntityFeature: 401>,
'temperature': 4,
}),
'context': <ANY>,
'entity_id': 'climate.kitchen',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_cloud_all_sensors[climate.lounge-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'max_temp': 28.0,
'min_temp': 4.0,
'preset_modes': list([
'boost',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.lounge',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:radiator',
'original_name': 'Lounge',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': <ClimateEntityFeature: 401>,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_1',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[climate.lounge-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 20,
'friendly_name': 'Lounge',
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'icon': 'mdi:radiator',
'max_temp': 28.0,
'min_temp': 4.0,
'preset_mode': None,
'preset_modes': list([
'boost',
]),
'status': dict({
'mode': 'off',
'override': dict({
'duration': 0,
'setpoint': 20,
}),
'temperature': 20,
'type': 'radiator',
}),
'supported_features': <ClimateEntityFeature: 401>,
'temperature': 4,
}),
'context': <ANY>,
'entity_id': 'climate.lounge',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_cloud_all_sensors[climate.study-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'max_temp': 28.0,
'min_temp': 4.0,
'preset_modes': list([
'activity',
'boost',
]),
}),
'config_entry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'climate',
'entity_category': None,
'entity_id': 'climate.study',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': 'mdi:radiator',
'original_name': 'Study',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': <ClimateEntityFeature: 401>,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_30',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[climate.study-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'current_temperature': 22,
'friendly_name': 'Study',
'hvac_modes': list([
<HVACMode.OFF: 'off'>,
<HVACMode.HEAT: 'heat'>,
]),
'icon': 'mdi:radiator',
'max_temp': 28.0,
'min_temp': 4.0,
'preset_mode': None,
'preset_modes': list([
'activity',
'boost',
]),
'status': dict({
'mode': 'off',
'occupied': 'False',
'override': dict({
'duration': 0,
'setpoint': 28,
}),
'temperature': 22,
'type': 'radiator',
}),
'supported_features': <ClimateEntityFeature: 401>,
'temperature': 4,
}),
'context': <ANY>,
'entity_id': 'climate.study',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---

View file

@ -0,0 +1,954 @@
# serializer version: 1
# name: test_cloud_all_sensors[sensor.geniushub_errors-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.geniushub_errors',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'GeniusHub Errors',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_Errors',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[sensor.geniushub_errors-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'error_list': list([
]),
'friendly_name': 'GeniusHub Errors',
}),
'context': <ANY>,
'entity_id': 'sensor.geniushub_errors',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0',
})
# ---
# name: test_cloud_all_sensors[sensor.geniushub_information-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.geniushub_information',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'GeniusHub Information',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_Information',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[sensor.geniushub_information-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'GeniusHub Information',
'information_list': list([
]),
}),
'context': <ANY>,
'entity_id': 'sensor.geniushub_information',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0',
})
# ---
# name: test_cloud_all_sensors[sensor.geniushub_warnings-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.geniushub_warnings',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': 'GeniusHub Warnings',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_Warnings',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[sensor.geniushub_warnings-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'GeniusHub Warnings',
'warning_list': list([
]),
}),
'context': <ANY>,
'entity_id': 'sensor.geniushub_warnings',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_11-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.radiator_valve_11',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-40',
'original_name': 'Radiator Valve 11',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_11',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_11-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Lounge',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 11',
'icon': 'mdi:battery-40',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_11',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '43',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_56-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.radiator_valve_56',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-50',
'original_name': 'Radiator Valve 56',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_56',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_56-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Kitchen',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 56',
'icon': 'mdi:battery-50',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_56',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '55',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_68-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.radiator_valve_68',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-90',
'original_name': 'Radiator Valve 68',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_68',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_68-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Hall',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 68',
'icon': 'mdi:battery-90',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_68',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '92',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_78-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.radiator_valve_78',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-40',
'original_name': 'Radiator Valve 78',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_78',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_78-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Bedroom',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 78',
'icon': 'mdi:battery-40',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_78',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '42',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_85-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.radiator_valve_85',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-60',
'original_name': 'Radiator Valve 85',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_85',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_85-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Study',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 85',
'icon': 'mdi:battery-60',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_85',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '61',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_88-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.radiator_valve_88',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-50',
'original_name': 'Radiator Valve 88',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_88',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_88-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Ensuite',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 88',
'icon': 'mdi:battery-50',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_88',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '49',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_89-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.radiator_valve_89',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-50',
'original_name': 'Radiator Valve 89',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_89',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_89-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Kitchen',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 89',
'icon': 'mdi:battery-50',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_89',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '48',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_90-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.radiator_valve_90',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-90',
'original_name': 'Radiator Valve 90',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_90',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.radiator_valve_90-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Guest room',
'device_class': 'battery',
'friendly_name': 'Radiator Valve 90',
'icon': 'mdi:battery-90',
'state': dict({
'set_temperature': 4,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.radiator_valve_90',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '92',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_16-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.room_sensor_16',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery',
'original_name': 'Room Sensor 16',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_16',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_16-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Guest room',
'device_class': 'battery',
'friendly_name': 'Room Sensor 16',
'icon': 'mdi:battery',
'state': dict({
'luminance': 29,
'measured_temperature': 21,
'occupancy_trigger': 255,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.room_sensor_16',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '100',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_17-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.room_sensor_17',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery',
'original_name': 'Room Sensor 17',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_17',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_17-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Ensuite',
'device_class': 'battery',
'friendly_name': 'Room Sensor 17',
'icon': 'mdi:battery',
'state': dict({
'luminance': 32,
'measured_temperature': 21,
'occupancy_trigger': 0,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.room_sensor_17',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '100',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_18-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.room_sensor_18',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-alert',
'original_name': 'Room Sensor 18',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_18',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_18-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Bedroom',
'device_class': 'battery',
'friendly_name': 'Room Sensor 18',
'icon': 'mdi:battery-alert',
'state': dict({
'luminance': 1,
'measured_temperature': 21.5,
'occupancy_trigger': 0,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.room_sensor_18',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '36',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_20-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.room_sensor_20',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery',
'original_name': 'Room Sensor 20',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_20',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_20-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Kitchen',
'device_class': 'battery',
'friendly_name': 'Room Sensor 20',
'icon': 'mdi:battery',
'state': dict({
'luminance': 1,
'measured_temperature': 21.5,
'occupancy_trigger': 0,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.room_sensor_20',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '100',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_21-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.room_sensor_21',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery',
'original_name': 'Room Sensor 21',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_21',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_21-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Hall',
'device_class': 'battery',
'friendly_name': 'Room Sensor 21',
'icon': 'mdi:battery',
'state': dict({
'luminance': 33,
'measured_temperature': 21,
'occupancy_trigger': 0,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.room_sensor_21',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '100',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_50-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.room_sensor_50',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery',
'original_name': 'Room Sensor 50',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_50',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_50-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Study',
'device_class': 'battery',
'friendly_name': 'Room Sensor 50',
'icon': 'mdi:battery',
'state': dict({
'luminance': 34,
'measured_temperature': 22,
'occupancy_trigger': 0,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.room_sensor_50',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '100',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_53-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.room_sensor_53',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.BATTERY: 'battery'>,
'original_icon': 'mdi:battery-alert',
'original_name': 'Room Sensor 53',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_device_53',
'unit_of_measurement': '%',
})
# ---
# name: test_cloud_all_sensors[sensor.room_sensor_53-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'assigned_zone': 'Lounge',
'device_class': 'battery',
'friendly_name': 'Room Sensor 53',
'icon': 'mdi:battery-alert',
'state': dict({
'luminance': 0,
'measured_temperature': 0,
'occupancy_trigger': 0,
}),
'unit_of_measurement': '%',
}),
'context': <ANY>,
'entity_id': 'sensor.room_sensor_53',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '28',
})
# ---

View file

@ -0,0 +1,166 @@
# serializer version: 1
# name: test_cloud_all_sensors[switch.bedroom_socket-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.bedroom_socket',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SwitchDeviceClass.OUTLET: 'outlet'>,
'original_icon': None,
'original_name': 'Bedroom Socket',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_27',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[switch.bedroom_socket-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'outlet',
'friendly_name': 'Bedroom Socket',
'status': dict({
'mode': 'timer',
'override': dict({
'duration': 0,
'setpoint': 'True',
}),
'type': 'on / off',
}),
}),
'context': <ANY>,
'entity_id': 'switch.bedroom_socket',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---
# name: test_cloud_all_sensors[switch.kitchen_socket-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.kitchen_socket',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SwitchDeviceClass.OUTLET: 'outlet'>,
'original_icon': None,
'original_name': 'Kitchen Socket',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_28',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[switch.kitchen_socket-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'outlet',
'friendly_name': 'Kitchen Socket',
'status': dict({
'mode': 'timer',
'override': dict({
'duration': 0,
'setpoint': 'True',
}),
'type': 'on / off',
}),
}),
'context': <ANY>,
'entity_id': 'switch.kitchen_socket',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'on',
})
# ---
# name: test_cloud_all_sensors[switch.study_socket-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.study_socket',
'has_entity_name': False,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SwitchDeviceClass.OUTLET: 'outlet'>,
'original_icon': None,
'original_name': 'Study Socket',
'platform': 'geniushub',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '01J71MQF0EC62D620DGYNG2R8H_zone_32',
'unit_of_measurement': None,
})
# ---
# name: test_cloud_all_sensors[switch.study_socket-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'outlet',
'friendly_name': 'Study Socket',
'status': dict({
'mode': 'off',
'override': dict({
'duration': 0,
'setpoint': 'True',
}),
'type': 'on / off',
}),
}),
'context': <ANY>,
'entity_id': 'switch.study_socket',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---

View file

@ -0,0 +1,32 @@
"""Tests for the Geniushub binary sensor platform."""
from unittest.mock import patch
import pytest
from syrupy import SnapshotAssertion
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import setup_integration
from tests.common import MockConfigEntry, snapshot_platform
@pytest.mark.usefixtures("mock_geniushub_cloud")
async def test_cloud_all_sensors(
hass: HomeAssistant,
mock_cloud_config_entry: MockConfigEntry,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
) -> None:
"""Test the creation of the Genius Hub binary sensors."""
with patch(
"homeassistant.components.geniushub.PLATFORMS", [Platform.BINARY_SENSOR]
):
await setup_integration(hass, mock_cloud_config_entry)
await snapshot_platform(
hass, entity_registry, snapshot, mock_cloud_config_entry.entry_id
)

View file

@ -0,0 +1,30 @@
"""Tests for the Geniushub climate platform."""
from unittest.mock import patch
import pytest
from syrupy import SnapshotAssertion
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import setup_integration
from tests.common import MockConfigEntry, snapshot_platform
@pytest.mark.usefixtures("mock_geniushub_cloud")
async def test_cloud_all_sensors(
hass: HomeAssistant,
mock_cloud_config_entry: MockConfigEntry,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
) -> None:
"""Test the creation of the Genius Hub climate entities."""
with patch("homeassistant.components.geniushub.PLATFORMS", [Platform.CLIMATE]):
await setup_integration(hass, mock_cloud_config_entry)
await snapshot_platform(
hass, entity_registry, snapshot, mock_cloud_config_entry.entry_id
)

View file

@ -0,0 +1,30 @@
"""Tests for the Geniushub sensor platform."""
from unittest.mock import patch
import pytest
from syrupy import SnapshotAssertion
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import setup_integration
from tests.common import MockConfigEntry, snapshot_platform
@pytest.mark.usefixtures("mock_geniushub_cloud")
async def test_cloud_all_sensors(
hass: HomeAssistant,
mock_cloud_config_entry: MockConfigEntry,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
) -> None:
"""Test the creation of the Genius Hub sensors."""
with patch("homeassistant.components.geniushub.PLATFORMS", [Platform.SENSOR]):
await setup_integration(hass, mock_cloud_config_entry)
await snapshot_platform(
hass, entity_registry, snapshot, mock_cloud_config_entry.entry_id
)

View file

@ -0,0 +1,30 @@
"""Tests for the Geniushub switch platform."""
from unittest.mock import patch
import pytest
from syrupy import SnapshotAssertion
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import setup_integration
from tests.common import MockConfigEntry, snapshot_platform
@pytest.mark.usefixtures("mock_geniushub_cloud")
async def test_cloud_all_sensors(
hass: HomeAssistant,
mock_cloud_config_entry: MockConfigEntry,
entity_registry: er.EntityRegistry,
snapshot: SnapshotAssertion,
) -> None:
"""Test the creation of the Genius Hub switch entities."""
with patch("homeassistant.components.geniushub.PLATFORMS", [Platform.SWITCH]):
await setup_integration(hass, mock_cloud_config_entry)
await snapshot_platform(
hass, entity_registry, snapshot, mock_cloud_config_entry.entry_id
)