diff --git a/homeassistant/components/fritzbox/sensor.py b/homeassistant/components/fritzbox/sensor.py index 4d045c2c98d..a048a7bba54 100644 --- a/homeassistant/components/fritzbox/sensor.py +++ b/homeassistant/components/fritzbox/sensor.py @@ -74,17 +74,6 @@ def suitable_temperature(device: FritzhomeDevice) -> bool: return device.has_temperature_sensor and not device.has_thermostat -def value_electric_current(device: FritzhomeDevice) -> float: - """Return native value for electric current sensor.""" - if ( - isinstance(device.power, int) - and isinstance(device.voltage, int) - and device.voltage > 0 - ): - return round(device.power / device.voltage, 3) - return 0.0 - - def value_nextchange_preset(device: FritzhomeDevice) -> str: """Return native value for next scheduled preset sensor.""" if device.nextchange_temperature == device.eco_temperature: @@ -153,7 +142,7 @@ SENSOR_TYPES: Final[tuple[FritzSensorEntityDescription, ...]] = ( device_class=SensorDeviceClass.CURRENT, state_class=SensorStateClass.MEASUREMENT, suitable=lambda device: device.has_powermeter, # type: ignore[no-any-return] - native_value=value_electric_current, + native_value=lambda device: round((device.current or 0.0) / 1000, 3), ), FritzSensorEntityDescription( key="total_energy", diff --git a/tests/components/fritzbox/__init__.py b/tests/components/fritzbox/__init__.py index 6cf60a90656..15ff04f3720 100644 --- a/tests/components/fritzbox/__init__.py +++ b/tests/components/fritzbox/__init__.py @@ -129,6 +129,7 @@ class FritzDeviceSwitchMock(FritzEntityBaseMock): device_lock = "fake_locked_device" energy = 1234 voltage = 230000 + current = 25 fw_version = "1.2.3" has_alarm = False has_powermeter = True diff --git a/tests/components/fritzbox/test_switch.py b/tests/components/fritzbox/test_switch.py index 8555cdb9895..fdc3cbff2a5 100644 --- a/tests/components/fritzbox/test_switch.py +++ b/tests/components/fritzbox/test_switch.py @@ -174,21 +174,3 @@ async def test_assume_device_unavailable(hass: HomeAssistant, fritz: Mock) -> No state = hass.states.get(ENTITY_ID) assert state assert state.state == STATE_UNAVAILABLE - - -async def test_device_current_unavailable(hass: HomeAssistant, fritz: Mock) -> None: - """Test current in case voltage and power are not available.""" - device = FritzDeviceSwitchMock() - device.voltage = None - device.power = None - assert await setup_config_entry( - hass, MOCK_CONFIG[FB_DOMAIN][CONF_DEVICES][0], ENTITY_ID, device, fritz - ) - - state = hass.states.get(ENTITY_ID) - assert state - assert state.state == STATE_ON - - state = hass.states.get(f"{SENSOR_DOMAIN}.{CONF_FAKE_NAME}_electric_current") - assert state - assert state.state == "0.0"