mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 15:17:35 +00:00
Plugwise test-code improvements (#134193)
This commit is contained in:
parent
7b413b5faf
commit
a2afc1b670
@ -30,6 +30,24 @@ def _read_json(environment: str, call: str) -> dict[str, Any]:
|
|||||||
return json.loads(fixture)
|
return json.loads(fixture)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def chosen_env(request: pytest.FixtureRequest) -> str:
|
||||||
|
"""Pass the chosen_env string.
|
||||||
|
|
||||||
|
Used with fixtures that require parametrization of the user-data fixture.
|
||||||
|
"""
|
||||||
|
return request.param
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def gateway_id(request: pytest.FixtureRequest) -> str:
|
||||||
|
"""Pass the gateway_id string.
|
||||||
|
|
||||||
|
Used with fixtures that require parametrization of the gateway_id.
|
||||||
|
"""
|
||||||
|
return request.param
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_config_entry() -> MockConfigEntry:
|
def mock_config_entry() -> MockConfigEntry:
|
||||||
"""Return the default mocked config entry."""
|
"""Return the default mocked config entry."""
|
||||||
@ -76,7 +94,7 @@ def mock_smile_config_flow() -> Generator[MagicMock]:
|
|||||||
def mock_smile_adam() -> Generator[MagicMock]:
|
def mock_smile_adam() -> Generator[MagicMock]:
|
||||||
"""Create a Mock Adam environment for testing exceptions."""
|
"""Create a Mock Adam environment for testing exceptions."""
|
||||||
chosen_env = "m_adam_multiple_devices_per_zone"
|
chosen_env = "m_adam_multiple_devices_per_zone"
|
||||||
|
all_data = _read_json(chosen_env, "all_data")
|
||||||
with (
|
with (
|
||||||
patch(
|
patch(
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
||||||
@ -97,7 +115,6 @@ def mock_smile_adam() -> Generator[MagicMock]:
|
|||||||
smile.smile_model_id = "smile_open_therm"
|
smile.smile_model_id = "smile_open_therm"
|
||||||
smile.smile_name = "Adam"
|
smile.smile_name = "Adam"
|
||||||
smile.connect.return_value = Version("3.0.15")
|
smile.connect.return_value = Version("3.0.15")
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
smile.async_update.return_value = PlugwiseData(
|
||||||
all_data["devices"], all_data["gateway"]
|
all_data["devices"], all_data["gateway"]
|
||||||
)
|
)
|
||||||
@ -106,15 +123,18 @@ def mock_smile_adam() -> Generator[MagicMock]:
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_smile_adam_2() -> Generator[MagicMock]:
|
def mock_smile_adam_heat_cool(chosen_env: str) -> Generator[MagicMock]:
|
||||||
"""Create a 2nd Mock Adam environment for testing exceptions."""
|
"""Create a special base Mock Adam type for testing with different datasets."""
|
||||||
chosen_env = "m_adam_heating"
|
all_data = _read_json(chosen_env, "all_data")
|
||||||
|
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
||||||
) as smile_mock:
|
) as smile_mock:
|
||||||
smile = smile_mock.return_value
|
smile = smile_mock.return_value
|
||||||
|
|
||||||
|
smile.async_update.return_value = PlugwiseData(
|
||||||
|
all_data["devices"], all_data["gateway"]
|
||||||
|
)
|
||||||
|
smile.connect.return_value = Version("3.6.4")
|
||||||
smile.gateway_id = "da224107914542988a88561b4452b0f6"
|
smile.gateway_id = "da224107914542988a88561b4452b0f6"
|
||||||
smile.heater_id = "056ee145a816487eaa69243c3280f8bf"
|
smile.heater_id = "056ee145a816487eaa69243c3280f8bf"
|
||||||
smile.smile_version = "3.6.4"
|
smile.smile_version = "3.6.4"
|
||||||
@ -123,47 +143,15 @@ def mock_smile_adam_2() -> Generator[MagicMock]:
|
|||||||
smile.smile_model = "Gateway"
|
smile.smile_model = "Gateway"
|
||||||
smile.smile_model_id = "smile_open_therm"
|
smile.smile_model_id = "smile_open_therm"
|
||||||
smile.smile_name = "Adam"
|
smile.smile_name = "Adam"
|
||||||
smile.connect.return_value = Version("3.6.4")
|
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
|
||||||
all_data["devices"], all_data["gateway"]
|
|
||||||
)
|
|
||||||
|
|
||||||
yield smile
|
yield smile
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_smile_adam_3() -> Generator[MagicMock]:
|
def mock_smile_adam_jip() -> Generator[MagicMock]:
|
||||||
"""Create a 3rd Mock Adam environment for testing exceptions."""
|
"""Create a Mock adam-jip type for testing exceptions."""
|
||||||
chosen_env = "m_adam_cooling"
|
|
||||||
|
|
||||||
with patch(
|
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
|
||||||
) as smile_mock:
|
|
||||||
smile = smile_mock.return_value
|
|
||||||
|
|
||||||
smile.gateway_id = "da224107914542988a88561b4452b0f6"
|
|
||||||
smile.heater_id = "056ee145a816487eaa69243c3280f8bf"
|
|
||||||
smile.smile_version = "3.6.4"
|
|
||||||
smile.smile_type = "thermostat"
|
|
||||||
smile.smile_hostname = "smile98765"
|
|
||||||
smile.smile_model = "Gateway"
|
|
||||||
smile.smile_model_id = "smile_open_therm"
|
|
||||||
smile.smile_name = "Adam"
|
|
||||||
smile.connect.return_value = Version("3.6.4")
|
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
|
||||||
all_data["devices"], all_data["gateway"]
|
|
||||||
)
|
|
||||||
|
|
||||||
yield smile
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def mock_smile_adam_4() -> Generator[MagicMock]:
|
|
||||||
"""Create a 4th Mock Adam environment for testing exceptions."""
|
|
||||||
chosen_env = "m_adam_jip"
|
chosen_env = "m_adam_jip"
|
||||||
|
all_data = _read_json(chosen_env, "all_data")
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
||||||
) as smile_mock:
|
) as smile_mock:
|
||||||
@ -178,7 +166,6 @@ def mock_smile_adam_4() -> Generator[MagicMock]:
|
|||||||
smile.smile_model_id = "smile_open_therm"
|
smile.smile_model_id = "smile_open_therm"
|
||||||
smile.smile_name = "Adam"
|
smile.smile_name = "Adam"
|
||||||
smile.connect.return_value = Version("3.2.8")
|
smile.connect.return_value = Version("3.2.8")
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
smile.async_update.return_value = PlugwiseData(
|
||||||
all_data["devices"], all_data["gateway"]
|
all_data["devices"], all_data["gateway"]
|
||||||
)
|
)
|
||||||
@ -187,14 +174,18 @@ def mock_smile_adam_4() -> Generator[MagicMock]:
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_smile_anna() -> Generator[MagicMock]:
|
def mock_smile_anna(chosen_env: str) -> Generator[MagicMock]:
|
||||||
"""Create a Mock Anna environment for testing exceptions."""
|
"""Create a Mock Anna type for testing."""
|
||||||
chosen_env = "anna_heatpump_heating"
|
all_data = _read_json(chosen_env, "all_data")
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
||||||
) as smile_mock:
|
) as smile_mock:
|
||||||
smile = smile_mock.return_value
|
smile = smile_mock.return_value
|
||||||
|
|
||||||
|
smile.async_update.return_value = PlugwiseData(
|
||||||
|
all_data["devices"], all_data["gateway"]
|
||||||
|
)
|
||||||
|
smile.connect.return_value = Version("4.0.15")
|
||||||
smile.gateway_id = "015ae9ea3f964e668e490fa39da3870b"
|
smile.gateway_id = "015ae9ea3f964e668e490fa39da3870b"
|
||||||
smile.heater_id = "1cbf783bb11e4a7c8a6843dee3a86927"
|
smile.heater_id = "1cbf783bb11e4a7c8a6843dee3a86927"
|
||||||
smile.smile_version = "4.0.15"
|
smile.smile_version = "4.0.15"
|
||||||
@ -203,115 +194,31 @@ def mock_smile_anna() -> Generator[MagicMock]:
|
|||||||
smile.smile_model = "Gateway"
|
smile.smile_model = "Gateway"
|
||||||
smile.smile_model_id = "smile_thermo"
|
smile.smile_model_id = "smile_thermo"
|
||||||
smile.smile_name = "Smile Anna"
|
smile.smile_name = "Smile Anna"
|
||||||
smile.connect.return_value = Version("4.0.15")
|
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
|
||||||
all_data["devices"], all_data["gateway"]
|
|
||||||
)
|
|
||||||
|
|
||||||
yield smile
|
yield smile
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def mock_smile_anna_2() -> Generator[MagicMock]:
|
def mock_smile_p1(chosen_env: str, gateway_id: str) -> Generator[MagicMock]:
|
||||||
"""Create a 2nd Mock Anna environment for testing exceptions."""
|
"""Create a base Mock P1 type for testing with different datasets and gateway-ids."""
|
||||||
chosen_env = "m_anna_heatpump_cooling"
|
all_data = _read_json(chosen_env, "all_data")
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
||||||
) as smile_mock:
|
) as smile_mock:
|
||||||
smile = smile_mock.return_value
|
smile = smile_mock.return_value
|
||||||
|
|
||||||
smile.gateway_id = "015ae9ea3f964e668e490fa39da3870b"
|
|
||||||
smile.heater_id = "1cbf783bb11e4a7c8a6843dee3a86927"
|
|
||||||
smile.smile_version = "4.0.15"
|
|
||||||
smile.smile_type = "thermostat"
|
|
||||||
smile.smile_hostname = "smile98765"
|
|
||||||
smile.smile_model = "Gateway"
|
|
||||||
smile.smile_model_id = "smile_thermo"
|
|
||||||
smile.smile_name = "Smile Anna"
|
|
||||||
smile.connect.return_value = Version("4.0.15")
|
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
smile.async_update.return_value = PlugwiseData(
|
||||||
all_data["devices"], all_data["gateway"]
|
all_data["devices"], all_data["gateway"]
|
||||||
)
|
)
|
||||||
|
smile.connect.return_value = Version("4.4.2")
|
||||||
yield smile
|
smile.gateway_id = gateway_id
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def mock_smile_anna_3() -> Generator[MagicMock]:
|
|
||||||
"""Create a 3rd Mock Anna environment for testing exceptions."""
|
|
||||||
chosen_env = "m_anna_heatpump_idle"
|
|
||||||
with patch(
|
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
|
||||||
) as smile_mock:
|
|
||||||
smile = smile_mock.return_value
|
|
||||||
|
|
||||||
smile.gateway_id = "015ae9ea3f964e668e490fa39da3870b"
|
|
||||||
smile.heater_id = "1cbf783bb11e4a7c8a6843dee3a86927"
|
|
||||||
smile.smile_version = "4.0.15"
|
|
||||||
smile.smile_type = "thermostat"
|
|
||||||
smile.smile_hostname = "smile98765"
|
|
||||||
smile.smile_model = "Gateway"
|
|
||||||
smile.smile_model_id = "smile_thermo"
|
|
||||||
smile.smile_name = "Smile Anna"
|
|
||||||
smile.connect.return_value = Version("4.0.15")
|
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
|
||||||
all_data["devices"], all_data["gateway"]
|
|
||||||
)
|
|
||||||
|
|
||||||
yield smile
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def mock_smile_p1() -> Generator[MagicMock]:
|
|
||||||
"""Create a Mock P1 DSMR environment for testing exceptions."""
|
|
||||||
chosen_env = "p1v4_442_single"
|
|
||||||
with patch(
|
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
|
||||||
) as smile_mock:
|
|
||||||
smile = smile_mock.return_value
|
|
||||||
|
|
||||||
smile.gateway_id = "a455b61e52394b2db5081ce025a430f3"
|
|
||||||
smile.heater_id = None
|
smile.heater_id = None
|
||||||
smile.smile_version = "4.4.2"
|
|
||||||
smile.smile_type = "power"
|
|
||||||
smile.smile_hostname = "smile98765"
|
smile.smile_hostname = "smile98765"
|
||||||
smile.smile_model = "Gateway"
|
smile.smile_model = "Gateway"
|
||||||
smile.smile_model_id = "smile"
|
smile.smile_model_id = "smile"
|
||||||
smile.smile_name = "Smile P1"
|
smile.smile_name = "Smile P1"
|
||||||
smile.connect.return_value = Version("4.4.2")
|
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
|
||||||
all_data["devices"], all_data["gateway"]
|
|
||||||
)
|
|
||||||
|
|
||||||
yield smile
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def mock_smile_p1_2() -> Generator[MagicMock]:
|
|
||||||
"""Create a Mock P1 3-phase DSMR environment for testing exceptions."""
|
|
||||||
chosen_env = "p1v4_442_triple"
|
|
||||||
with patch(
|
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
|
||||||
) as smile_mock:
|
|
||||||
smile = smile_mock.return_value
|
|
||||||
|
|
||||||
smile.gateway_id = "03e65b16e4b247a29ae0d75a78cb492e"
|
|
||||||
smile.heater_id = None
|
|
||||||
smile.smile_version = "4.4.2"
|
|
||||||
smile.smile_type = "power"
|
smile.smile_type = "power"
|
||||||
smile.smile_hostname = "smile98765"
|
smile.smile_version = "4.4.2"
|
||||||
smile.smile_model = "Gateway"
|
|
||||||
smile.smile_model_id = "smile"
|
|
||||||
smile.smile_name = "Smile P1"
|
|
||||||
smile.connect.return_value = Version("4.4.2")
|
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
|
||||||
all_data["devices"], all_data["gateway"]
|
|
||||||
)
|
|
||||||
|
|
||||||
yield smile
|
yield smile
|
||||||
|
|
||||||
@ -320,6 +227,7 @@ def mock_smile_p1_2() -> Generator[MagicMock]:
|
|||||||
def mock_smile_legacy_anna() -> Generator[MagicMock]:
|
def mock_smile_legacy_anna() -> Generator[MagicMock]:
|
||||||
"""Create a Mock legacy Anna environment for testing exceptions."""
|
"""Create a Mock legacy Anna environment for testing exceptions."""
|
||||||
chosen_env = "legacy_anna"
|
chosen_env = "legacy_anna"
|
||||||
|
all_data = _read_json(chosen_env, "all_data")
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
||||||
) as smile_mock:
|
) as smile_mock:
|
||||||
@ -334,7 +242,6 @@ def mock_smile_legacy_anna() -> Generator[MagicMock]:
|
|||||||
smile.smile_model_id = None
|
smile.smile_model_id = None
|
||||||
smile.smile_name = "Smile Anna"
|
smile.smile_name = "Smile Anna"
|
||||||
smile.connect.return_value = Version("1.8.22")
|
smile.connect.return_value = Version("1.8.22")
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
smile.async_update.return_value = PlugwiseData(
|
||||||
all_data["devices"], all_data["gateway"]
|
all_data["devices"], all_data["gateway"]
|
||||||
)
|
)
|
||||||
@ -346,6 +253,7 @@ def mock_smile_legacy_anna() -> Generator[MagicMock]:
|
|||||||
def mock_stretch() -> Generator[MagicMock]:
|
def mock_stretch() -> Generator[MagicMock]:
|
||||||
"""Create a Mock Stretch environment for testing exceptions."""
|
"""Create a Mock Stretch environment for testing exceptions."""
|
||||||
chosen_env = "stretch_v31"
|
chosen_env = "stretch_v31"
|
||||||
|
all_data = _read_json(chosen_env, "all_data")
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
"homeassistant.components.plugwise.coordinator.Smile", autospec=True
|
||||||
) as smile_mock:
|
) as smile_mock:
|
||||||
@ -360,7 +268,6 @@ def mock_stretch() -> Generator[MagicMock]:
|
|||||||
smile.smile_model_id = None
|
smile.smile_model_id = None
|
||||||
smile.smile_name = "Stretch"
|
smile.smile_name = "Stretch"
|
||||||
smile.connect.return_value = Version("3.1.11")
|
smile.connect.return_value = Version("3.1.11")
|
||||||
all_data = _read_json(chosen_env, "all_data")
|
|
||||||
smile.async_update.return_value = PlugwiseData(
|
smile.async_update.return_value = PlugwiseData(
|
||||||
all_data["devices"], all_data["gateway"]
|
all_data["devices"], all_data["gateway"]
|
||||||
)
|
)
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from homeassistant.const import STATE_OFF, STATE_ON
|
from homeassistant.const import STATE_OFF, STATE_ON
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_component import async_update_entity
|
from homeassistant.helpers.entity_component import async_update_entity
|
||||||
@ -9,32 +11,30 @@ from homeassistant.helpers.entity_component import async_update_entity
|
|||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
("entity_id", "expected_state"),
|
||||||
|
[
|
||||||
|
("binary_sensor.opentherm_secondary_boiler_state", STATE_OFF),
|
||||||
|
("binary_sensor.opentherm_dhw_state", STATE_OFF),
|
||||||
|
("binary_sensor.opentherm_heating", STATE_ON),
|
||||||
|
("binary_sensor.opentherm_cooling_enabled", STATE_OFF),
|
||||||
|
("binary_sensor.opentherm_compressor_state", STATE_ON),
|
||||||
|
],
|
||||||
|
)
|
||||||
async def test_anna_climate_binary_sensor_entities(
|
async def test_anna_climate_binary_sensor_entities(
|
||||||
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant,
|
||||||
|
mock_smile_anna: MagicMock,
|
||||||
|
init_integration: MockConfigEntry,
|
||||||
|
entity_id: str,
|
||||||
|
expected_state: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test creation of climate related binary_sensor entities."""
|
"""Test creation of climate related binary_sensor entities."""
|
||||||
|
state = hass.states.get(entity_id)
|
||||||
state = hass.states.get("binary_sensor.opentherm_secondary_boiler_state")
|
assert state.state == expected_state
|
||||||
assert state
|
|
||||||
assert state.state == STATE_OFF
|
|
||||||
|
|
||||||
state = hass.states.get("binary_sensor.opentherm_dhw_state")
|
|
||||||
assert state
|
|
||||||
assert state.state == STATE_OFF
|
|
||||||
|
|
||||||
state = hass.states.get("binary_sensor.opentherm_heating")
|
|
||||||
assert state
|
|
||||||
assert state.state == STATE_ON
|
|
||||||
|
|
||||||
state = hass.states.get("binary_sensor.opentherm_cooling_enabled")
|
|
||||||
assert state
|
|
||||||
assert state.state == STATE_OFF
|
|
||||||
|
|
||||||
state = hass.states.get("binary_sensor.opentherm_compressor_state")
|
|
||||||
assert state
|
|
||||||
assert state.state == STATE_ON
|
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_anna_climate_binary_sensor_change(
|
async def test_anna_climate_binary_sensor_change(
|
||||||
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -66,8 +66,12 @@ async def test_adam_climate_binary_sensor_change(
|
|||||||
assert not state.attributes.get("other_msg")
|
assert not state.attributes.get("other_msg")
|
||||||
|
|
||||||
|
|
||||||
async def test_p1_v4_binary_sensor_entity(
|
@pytest.mark.parametrize("chosen_env", ["p1v4_442_triple"], indirect=True)
|
||||||
hass: HomeAssistant, mock_smile_p1_2: MagicMock, init_integration: MockConfigEntry
|
@pytest.mark.parametrize(
|
||||||
|
"gateway_id", ["03e65b16e4b247a29ae0d75a78cb492e"], indirect=True
|
||||||
|
)
|
||||||
|
async def test_p1_binary_sensor_entity(
|
||||||
|
hass: HomeAssistant, mock_smile_p1: MagicMock, init_integration: MockConfigEntry
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test of a Smile P1 related plugwise-notification binary_sensor."""
|
"""Test of a Smile P1 related plugwise-notification binary_sensor."""
|
||||||
state = hass.states.get("binary_sensor.smile_p1_plugwise_notification")
|
state = hass.states.get("binary_sensor.smile_p1_plugwise_notification")
|
||||||
|
@ -79,8 +79,11 @@ async def test_adam_climate_entity_attributes(
|
|||||||
assert state.attributes[ATTR_TARGET_TEMP_STEP] == 0.1
|
assert state.attributes[ATTR_TARGET_TEMP_STEP] == 0.1
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["m_adam_heating"], indirect=True)
|
||||||
async def test_adam_2_climate_entity_attributes(
|
async def test_adam_2_climate_entity_attributes(
|
||||||
hass: HomeAssistant, mock_smile_adam_2: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant,
|
||||||
|
mock_smile_adam_heat_cool: MagicMock,
|
||||||
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test creation of adam climate device environment."""
|
"""Test creation of adam climate device environment."""
|
||||||
state = hass.states.get("climate.living_room")
|
state = hass.states.get("climate.living_room")
|
||||||
@ -104,9 +107,10 @@ async def test_adam_2_climate_entity_attributes(
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["m_adam_cooling"], indirect=True)
|
||||||
async def test_adam_3_climate_entity_attributes(
|
async def test_adam_3_climate_entity_attributes(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_smile_adam_3: MagicMock,
|
mock_smile_adam_heat_cool: MagicMock,
|
||||||
init_integration: MockConfigEntry,
|
init_integration: MockConfigEntry,
|
||||||
freezer: FrozenDateTimeFactory,
|
freezer: FrozenDateTimeFactory,
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -120,7 +124,7 @@ async def test_adam_3_climate_entity_attributes(
|
|||||||
HVACMode.AUTO,
|
HVACMode.AUTO,
|
||||||
HVACMode.COOL,
|
HVACMode.COOL,
|
||||||
]
|
]
|
||||||
data = mock_smile_adam_3.async_update.return_value
|
data = mock_smile_adam_heat_cool.async_update.return_value
|
||||||
data.devices["da224107914542988a88561b4452b0f6"]["select_regulation_mode"] = (
|
data.devices["da224107914542988a88561b4452b0f6"]["select_regulation_mode"] = (
|
||||||
"heating"
|
"heating"
|
||||||
)
|
)
|
||||||
@ -148,7 +152,7 @@ async def test_adam_3_climate_entity_attributes(
|
|||||||
HVACMode.HEAT,
|
HVACMode.HEAT,
|
||||||
]
|
]
|
||||||
|
|
||||||
data = mock_smile_adam_3.async_update.return_value
|
data = mock_smile_adam_heat_cool.async_update.return_value
|
||||||
data.devices["da224107914542988a88561b4452b0f6"]["select_regulation_mode"] = (
|
data.devices["da224107914542988a88561b4452b0f6"]["select_regulation_mode"] = (
|
||||||
"cooling"
|
"cooling"
|
||||||
)
|
)
|
||||||
@ -266,7 +270,7 @@ async def test_adam_climate_entity_climate_changes(
|
|||||||
|
|
||||||
async def test_adam_climate_off_mode_change(
|
async def test_adam_climate_off_mode_change(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_smile_adam_4: MagicMock,
|
mock_smile_adam_jip: MagicMock,
|
||||||
init_integration: MockConfigEntry,
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test handling of user requests in adam climate device environment."""
|
"""Test handling of user requests in adam climate device environment."""
|
||||||
@ -282,9 +286,9 @@ async def test_adam_climate_off_mode_change(
|
|||||||
},
|
},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert mock_smile_adam_4.set_schedule_state.call_count == 1
|
assert mock_smile_adam_jip.set_schedule_state.call_count == 1
|
||||||
assert mock_smile_adam_4.set_regulation_mode.call_count == 1
|
assert mock_smile_adam_jip.set_regulation_mode.call_count == 1
|
||||||
mock_smile_adam_4.set_regulation_mode.assert_called_with("heating")
|
mock_smile_adam_jip.set_regulation_mode.assert_called_with("heating")
|
||||||
|
|
||||||
state = hass.states.get("climate.kinderkamer")
|
state = hass.states.get("climate.kinderkamer")
|
||||||
assert state
|
assert state
|
||||||
@ -298,9 +302,9 @@ async def test_adam_climate_off_mode_change(
|
|||||||
},
|
},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert mock_smile_adam_4.set_schedule_state.call_count == 1
|
assert mock_smile_adam_jip.set_schedule_state.call_count == 1
|
||||||
assert mock_smile_adam_4.set_regulation_mode.call_count == 2
|
assert mock_smile_adam_jip.set_regulation_mode.call_count == 2
|
||||||
mock_smile_adam_4.set_regulation_mode.assert_called_with("off")
|
mock_smile_adam_jip.set_regulation_mode.assert_called_with("off")
|
||||||
|
|
||||||
state = hass.states.get("climate.logeerkamer")
|
state = hass.states.get("climate.logeerkamer")
|
||||||
assert state
|
assert state
|
||||||
@ -314,10 +318,11 @@ async def test_adam_climate_off_mode_change(
|
|||||||
},
|
},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert mock_smile_adam_4.set_schedule_state.call_count == 1
|
assert mock_smile_adam_jip.set_schedule_state.call_count == 1
|
||||||
assert mock_smile_adam_4.set_regulation_mode.call_count == 2
|
assert mock_smile_adam_jip.set_regulation_mode.call_count == 2
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_anna_climate_entity_attributes(
|
async def test_anna_climate_entity_attributes(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_smile_anna: MagicMock,
|
mock_smile_anna: MagicMock,
|
||||||
@ -343,9 +348,10 @@ async def test_anna_climate_entity_attributes(
|
|||||||
assert state.attributes[ATTR_TARGET_TEMP_STEP] == 0.1
|
assert state.attributes[ATTR_TARGET_TEMP_STEP] == 0.1
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["m_anna_heatpump_cooling"], indirect=True)
|
||||||
async def test_anna_2_climate_entity_attributes(
|
async def test_anna_2_climate_entity_attributes(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_smile_anna_2: MagicMock,
|
mock_smile_anna: MagicMock,
|
||||||
init_integration: MockConfigEntry,
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test creation of anna climate device environment."""
|
"""Test creation of anna climate device environment."""
|
||||||
@ -362,9 +368,10 @@ async def test_anna_2_climate_entity_attributes(
|
|||||||
assert state.attributes[ATTR_TARGET_TEMP_LOW] == 20.5
|
assert state.attributes[ATTR_TARGET_TEMP_LOW] == 20.5
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["m_anna_heatpump_idle"], indirect=True)
|
||||||
async def test_anna_3_climate_entity_attributes(
|
async def test_anna_3_climate_entity_attributes(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_smile_anna_3: MagicMock,
|
mock_smile_anna: MagicMock,
|
||||||
init_integration: MockConfigEntry,
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test creation of anna climate device environment."""
|
"""Test creation of anna climate device environment."""
|
||||||
@ -378,6 +385,7 @@ async def test_anna_3_climate_entity_attributes(
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_anna_climate_entity_climate_changes(
|
async def test_anna_climate_entity_climate_changes(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_smile_anna: MagicMock,
|
mock_smile_anna: MagicMock,
|
||||||
|
@ -61,6 +61,7 @@ TOM = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_load_unload_config_entry(
|
async def test_load_unload_config_entry(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
@ -80,6 +81,7 @@ async def test_load_unload_config_entry(
|
|||||||
assert mock_config_entry.state is ConfigEntryState.NOT_LOADED
|
assert mock_config_entry.state is ConfigEntryState.NOT_LOADED
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("side_effect", "entry_state"),
|
("side_effect", "entry_state"),
|
||||||
[
|
[
|
||||||
@ -109,6 +111,10 @@ async def test_gateway_config_entry_not_ready(
|
|||||||
assert mock_config_entry.state is entry_state
|
assert mock_config_entry.state is entry_state
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["p1v4_442_single"], indirect=True)
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"gateway_id", ["a455b61e52394b2db5081ce025a430f3"], indirect=True
|
||||||
|
)
|
||||||
async def test_device_in_dr(
|
async def test_device_in_dr(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
@ -131,6 +137,7 @@ async def test_device_in_dr(
|
|||||||
assert device_entry.sw_version == "4.4.2"
|
assert device_entry.sw_version == "4.4.2"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("entitydata", "old_unique_id", "new_unique_id"),
|
("entitydata", "old_unique_id", "new_unique_id"),
|
||||||
[
|
[
|
||||||
@ -224,16 +231,17 @@ async def test_migrate_unique_id_relay(
|
|||||||
assert entity_migrated.unique_id == new_unique_id
|
assert entity_migrated.unique_id == new_unique_id
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["m_adam_heating"], indirect=True)
|
||||||
async def test_update_device(
|
async def test_update_device(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
mock_smile_adam_2: MagicMock,
|
mock_smile_adam_heat_cool: MagicMock,
|
||||||
device_registry: dr.DeviceRegistry,
|
device_registry: dr.DeviceRegistry,
|
||||||
entity_registry: er.EntityRegistry,
|
entity_registry: er.EntityRegistry,
|
||||||
freezer: FrozenDateTimeFactory,
|
freezer: FrozenDateTimeFactory,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test a clean-up of the device_registry."""
|
"""Test a clean-up of the device_registry."""
|
||||||
data = mock_smile_adam_2.async_update.return_value
|
data = mock_smile_adam_heat_cool.async_update.return_value
|
||||||
|
|
||||||
mock_config_entry.add_to_hass(hass)
|
mock_config_entry.add_to_hass(hass)
|
||||||
await hass.config_entries.async_setup(mock_config_entry.entry_id)
|
await hass.config_entries.async_setup(mock_config_entry.entry_id)
|
||||||
|
@ -16,6 +16,7 @@ from homeassistant.exceptions import ServiceValidationError
|
|||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_anna_number_entities(
|
async def test_anna_number_entities(
|
||||||
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -25,6 +26,7 @@ async def test_anna_number_entities(
|
|||||||
assert float(state.state) == 60.0
|
assert float(state.state) == 60.0
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_anna_max_boiler_temp_change(
|
async def test_anna_max_boiler_temp_change(
|
||||||
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -45,19 +47,17 @@ async def test_anna_max_boiler_temp_change(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_adam_number_entities(
|
@pytest.mark.parametrize("chosen_env", ["m_adam_heating"], indirect=True)
|
||||||
hass: HomeAssistant, mock_smile_adam_2: MagicMock, init_integration: MockConfigEntry
|
async def test_adam_dhw_setpoint_change(
|
||||||
|
hass: HomeAssistant,
|
||||||
|
mock_smile_adam_heat_cool: MagicMock,
|
||||||
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test creation of a number."""
|
"""Test changing of number entities."""
|
||||||
state = hass.states.get("number.opentherm_domestic_hot_water_setpoint")
|
state = hass.states.get("number.opentherm_domestic_hot_water_setpoint")
|
||||||
assert state
|
assert state
|
||||||
assert float(state.state) == 60.0
|
assert float(state.state) == 60.0
|
||||||
|
|
||||||
|
|
||||||
async def test_adam_dhw_setpoint_change(
|
|
||||||
hass: HomeAssistant, mock_smile_adam_2: MagicMock, init_integration: MockConfigEntry
|
|
||||||
) -> None:
|
|
||||||
"""Test changing of number entities."""
|
|
||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
NUMBER_DOMAIN,
|
NUMBER_DOMAIN,
|
||||||
SERVICE_SET_VALUE,
|
SERVICE_SET_VALUE,
|
||||||
@ -68,8 +68,8 @@ async def test_adam_dhw_setpoint_change(
|
|||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert mock_smile_adam_2.set_number.call_count == 1
|
assert mock_smile_adam_heat_cool.set_number.call_count == 1
|
||||||
mock_smile_adam_2.set_number.assert_called_with(
|
mock_smile_adam_heat_cool.set_number.assert_called_with(
|
||||||
"056ee145a816487eaa69243c3280f8bf", "max_dhw_temperature", 55.0
|
"056ee145a816487eaa69243c3280f8bf", "max_dhw_temperature", 55.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -50,8 +50,11 @@ async def test_adam_change_select_entity(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["m_adam_cooling"], indirect=True)
|
||||||
async def test_adam_select_regulation_mode(
|
async def test_adam_select_regulation_mode(
|
||||||
hass: HomeAssistant, mock_smile_adam_3: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant,
|
||||||
|
mock_smile_adam_heat_cool: MagicMock,
|
||||||
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test a regulation_mode select.
|
"""Test a regulation_mode select.
|
||||||
|
|
||||||
@ -73,8 +76,8 @@ async def test_adam_select_regulation_mode(
|
|||||||
},
|
},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert mock_smile_adam_3.set_select.call_count == 1
|
assert mock_smile_adam_heat_cool.set_select.call_count == 1
|
||||||
mock_smile_adam_3.set_select.assert_called_with(
|
mock_smile_adam_heat_cool.set_select.assert_called_with(
|
||||||
"select_regulation_mode",
|
"select_regulation_mode",
|
||||||
"bc93488efab249e5bc54fd7e175a6f91",
|
"bc93488efab249e5bc54fd7e175a6f91",
|
||||||
"heating",
|
"heating",
|
||||||
@ -91,6 +94,7 @@ async def test_legacy_anna_select_entities(
|
|||||||
assert not hass.states.get("select.anna_thermostat_schedule")
|
assert not hass.states.get("select.anna_thermostat_schedule")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_adam_select_unavailable_regulation_mode(
|
async def test_adam_select_unavailable_regulation_mode(
|
||||||
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
||||||
) -> None:
|
) -> None:
|
||||||
|
@ -41,7 +41,9 @@ async def test_adam_climate_sensor_entities(
|
|||||||
|
|
||||||
|
|
||||||
async def test_adam_climate_sensor_entity_2(
|
async def test_adam_climate_sensor_entity_2(
|
||||||
hass: HomeAssistant, mock_smile_adam_4: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant,
|
||||||
|
mock_smile_adam_jip: MagicMock,
|
||||||
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test creation of climate related sensor entities."""
|
"""Test creation of climate related sensor entities."""
|
||||||
state = hass.states.get("sensor.woonkamer_humidity")
|
state = hass.states.get("sensor.woonkamer_humidity")
|
||||||
@ -52,7 +54,7 @@ async def test_adam_climate_sensor_entity_2(
|
|||||||
async def test_unique_id_migration_humidity(
|
async def test_unique_id_migration_humidity(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
entity_registry: er.EntityRegistry,
|
entity_registry: er.EntityRegistry,
|
||||||
mock_smile_adam_4: MagicMock,
|
mock_smile_adam_jip: MagicMock,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test unique ID migration of -relative_humidity to -humidity."""
|
"""Test unique ID migration of -relative_humidity to -humidity."""
|
||||||
@ -92,6 +94,7 @@ async def test_unique_id_migration_humidity(
|
|||||||
assert entity_entry.unique_id == "f61f1a2535f54f52ad006a3d18e459ca-battery"
|
assert entity_entry.unique_id == "f61f1a2535f54f52ad006a3d18e459ca-battery"
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["anna_heatpump_heating"], indirect=True)
|
||||||
async def test_anna_as_smt_climate_sensor_entities(
|
async def test_anna_as_smt_climate_sensor_entities(
|
||||||
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant, mock_smile_anna: MagicMock, init_integration: MockConfigEntry
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -113,6 +116,10 @@ async def test_anna_as_smt_climate_sensor_entities(
|
|||||||
assert float(state.state) == 86.0
|
assert float(state.state) == 86.0
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["p1v4_442_single"], indirect=True)
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"gateway_id", ["a455b61e52394b2db5081ce025a430f3"], indirect=True
|
||||||
|
)
|
||||||
async def test_p1_dsmr_sensor_entities(
|
async def test_p1_dsmr_sensor_entities(
|
||||||
hass: HomeAssistant, mock_smile_p1: MagicMock, init_integration: MockConfigEntry
|
hass: HomeAssistant, mock_smile_p1: MagicMock, init_integration: MockConfigEntry
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -137,11 +144,15 @@ async def test_p1_dsmr_sensor_entities(
|
|||||||
assert not state
|
assert not state
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["p1v4_442_triple"], indirect=True)
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"gateway_id", ["03e65b16e4b247a29ae0d75a78cb492e"], indirect=True
|
||||||
|
)
|
||||||
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
||||||
async def test_p1_3ph_dsmr_sensor_entities(
|
async def test_p1_3ph_dsmr_sensor_entities(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
entity_registry: er.EntityRegistry,
|
entity_registry: er.EntityRegistry,
|
||||||
mock_smile_p1_2: MagicMock,
|
mock_smile_p1: MagicMock,
|
||||||
init_integration: MockConfigEntry,
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test creation of power related sensor entities."""
|
"""Test creation of power related sensor entities."""
|
||||||
@ -163,10 +174,14 @@ async def test_p1_3ph_dsmr_sensor_entities(
|
|||||||
assert float(state.state) == 233.2
|
assert float(state.state) == 233.2
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("chosen_env", ["p1v4_442_triple"], indirect=True)
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"gateway_id", ["03e65b16e4b247a29ae0d75a78cb492e"], indirect=True
|
||||||
|
)
|
||||||
async def test_p1_3ph_dsmr_sensor_disabled_entities(
|
async def test_p1_3ph_dsmr_sensor_disabled_entities(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
entity_registry: er.EntityRegistry,
|
entity_registry: er.EntityRegistry,
|
||||||
mock_smile_p1_2: MagicMock,
|
mock_smile_p1: MagicMock,
|
||||||
init_integration: MockConfigEntry,
|
init_integration: MockConfigEntry,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test disabled power related sensor entities intent."""
|
"""Test disabled power related sensor entities intent."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user