From 728399c09a7b9928180ab6893e09290d12e05728 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 22 Feb 2024 12:05:24 +0100 Subject: [PATCH] Revert "Fix Shelly RPC RSSI sensor removal (#111035)" This reverts commit 4eb1bac859757c9dcc180e60957a56e2a92b1eb9. --- homeassistant/components/shelly/sensor.py | 10 ++++----- homeassistant/components/shelly/utils.py | 10 --------- tests/components/shelly/conftest.py | 2 +- tests/components/shelly/test_sensor.py | 27 ----------------------- 4 files changed, 5 insertions(+), 44 deletions(-) diff --git a/homeassistant/components/shelly/sensor.py b/homeassistant/components/shelly/sensor.py index d88d019cbf6..e46800963a3 100644 --- a/homeassistant/components/shelly/sensor.py +++ b/homeassistant/components/shelly/sensor.py @@ -51,11 +51,7 @@ from .entity import ( async_setup_entry_rest, async_setup_entry_rpc, ) -from .utils import ( - get_device_entry_gen, - get_device_uptime, - is_rpc_wifi_stations_disabled, -) +from .utils import get_device_entry_gen, get_device_uptime @dataclass(frozen=True) @@ -911,7 +907,9 @@ RPC_SENSORS: Final = { device_class=SensorDeviceClass.SIGNAL_STRENGTH, state_class=SensorStateClass.MEASUREMENT, entity_registry_enabled_default=False, - removal_condition=is_rpc_wifi_stations_disabled, + removal_condition=lambda config, _status, key: ( + config[key]["sta"]["enable"] is False + ), entity_category=EntityCategory.DIAGNOSTIC, use_polling_coordinator=True, ), diff --git a/homeassistant/components/shelly/utils.py b/homeassistant/components/shelly/utils.py index 8d8bb265d89..f5196504fe6 100644 --- a/homeassistant/components/shelly/utils.py +++ b/homeassistant/components/shelly/utils.py @@ -447,13 +447,3 @@ def async_create_issue_unsupported_firmware( "ip_address": entry.data["host"], }, ) - - -def is_rpc_wifi_stations_disabled( - config: dict[str, Any], _status: dict[str, Any], key: str -) -> bool: - """Return true if rpc all WiFi stations are disabled.""" - if config[key]["sta"]["enable"] is True or config[key]["sta1"]["enable"] is True: - return False - - return True diff --git a/tests/components/shelly/conftest.py b/tests/components/shelly/conftest.py index 5e144f71a86..9d7bb9404f8 100644 --- a/tests/components/shelly/conftest.py +++ b/tests/components/shelly/conftest.py @@ -159,7 +159,7 @@ MOCK_CONFIG = { "ui_data": {}, "device": {"name": "Test name"}, }, - "wifi": {"sta": {"enable": True}, "sta1": {"enable": False}}, + "wifi": {"sta": {"enable": True}}, } MOCK_SHELLY_COAP = { diff --git a/tests/components/shelly/test_sensor.py b/tests/components/shelly/test_sensor.py index 5f372e435b7..86c6356191b 100644 --- a/tests/components/shelly/test_sensor.py +++ b/tests/components/shelly/test_sensor.py @@ -27,7 +27,6 @@ from homeassistant.helpers.entity_registry import async_get from homeassistant.setup import async_setup_component from . import ( - get_entity_state, init_integration, mock_polling_rpc_update, mock_rest_update, @@ -300,32 +299,6 @@ async def test_rpc_sensor(hass: HomeAssistant, mock_rpc_device, monkeypatch) -> assert hass.states.get(entity_id).state == STATE_UNKNOWN -async def test_rpc_rssi_sensor_removal( - hass: HomeAssistant, - mock_rpc_device: Mock, - monkeypatch: pytest.MonkeyPatch, - entity_registry_enabled_by_default: None, -) -> None: - """Test RPC RSSI sensor removal if no WiFi stations enabled.""" - entity_id = f"{SENSOR_DOMAIN}.test_name_rssi" - entry = await init_integration(hass, 2) - - # WiFi1 enabled, do not remove sensor - assert get_entity_state(hass, entity_id) == "-63" - - # WiFi1 & WiFi2 disabled - remove sensor - monkeypatch.setitem(mock_rpc_device.config["wifi"]["sta"], "enable", False) - await hass.config_entries.async_reload(entry.entry_id) - await hass.async_block_till_done() - assert hass.states.get(entity_id) is None - - # WiFi2 enabled, do not remove sensor - monkeypatch.setitem(mock_rpc_device.config["wifi"]["sta1"], "enable", True) - await hass.config_entries.async_reload(entry.entry_id) - await hass.async_block_till_done() - assert get_entity_state(hass, entity_id) == "-63" - - async def test_rpc_illuminance_sensor( hass: HomeAssistant, mock_rpc_device, monkeypatch ) -> None: