Clean up Z-wave error log when raising in service handlers (#125138)

This commit is contained in:
Martin Hjelmare 2024-09-03 15:49:11 +02:00 committed by GitHub
parent 8e3ad2d1f3
commit 7c15075231
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 17 additions and 8 deletions

View file

@ -335,5 +335,6 @@ class ZWaveBaseEntity(Entity):
value, new_value, options=options, wait_for_result=wait_for_result
)
except BaseZwaveJSServerError as err:
LOGGER.error("Unable to set value %s: %s", value.value_id, err)
raise HomeAssistantError from err
raise HomeAssistantError(
f"Unable to set value {value.value_id}: {err}"
) from err

View file

@ -750,10 +750,9 @@ class ZWaveMeterSensor(ZWaveNumericSensor):
CommandClass.METER, "reset", *args, wait_for_result=False
)
except BaseZwaveJSServerError as err:
LOGGER.error(
"Failed to reset meters on node %s endpoint %s: %s", node, endpoint, err
)
raise HomeAssistantError from err
raise HomeAssistantError(
f"Failed to reset meters on node {node} endpoint {endpoint}: {err}"
) from err
LOGGER.debug(
"Meters on node %s endpoint %s reset with the following options: %s",
node,

View file

@ -522,7 +522,7 @@ async def test_reset_meter(
"test", 1, "test"
)
with pytest.raises(HomeAssistantError):
with pytest.raises(HomeAssistantError) as err:
await hass.services.async_call(
DOMAIN,
SERVICE_RESET_METER,
@ -530,6 +530,11 @@ async def test_reset_meter(
blocking=True,
)
assert str(err.value) == (
"Failed to reset meters on node Node(node_id=102) endpoint 0: "
"zwave_error: Z-Wave error 1 - test"
)
async def test_meter_attributes(
hass: HomeAssistant, client, aeon_smart_switch_6, integration

View file

@ -286,7 +286,11 @@ async def test_config_parameter_switch(
client.async_send_command.side_effect = FailedZWaveCommand("test", 1, "test")
# Test turning off error raises proper exception
with pytest.raises(HomeAssistantError):
with pytest.raises(HomeAssistantError) as err:
await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {"entity_id": switch_entity_id}, blocking=True
)
assert str(err.value) == (
"Unable to set value 32-112-0-20: zwave_error: Z-Wave error 1 - test"
)