Skip to content

Commit

Permalink
Ignore severity LOW check control messages (#466)
Browse files Browse the repository at this point in the history
  • Loading branch information
rikroe authored Jul 10, 2022
1 parent bbba2a2 commit 117bb06
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion bimmer_connected/vehicle/reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,6 @@ def _parse_vehicle_data(cls, vehicle_data: Dict) -> Optional[Dict]:
if ATTR_STATE in vehicle_data and "checkControlMessages" in vehicle_data[ATTR_STATE]:
messages = vehicle_data[ATTR_STATE]["checkControlMessages"]
retval["messages"] = [CheckControlMessage.from_api_entry(**m) for m in messages if m["severity"] != "OK"]
retval["has_check_control_messages"] = len(retval["messages"]) > 0
retval["has_check_control_messages"] = len([m for m in retval["messages"] if m.state != "LOW"]) > 0

return retval
2 changes: 1 addition & 1 deletion test/responses/G01/state_WBA00000000DEMO04_0.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
},
"checkControlMessages": [
{
"severity": "LOW",
"severity": "MEDIUM",
"type": "ENGINE_OIL"
}
],
Expand Down
2 changes: 1 addition & 1 deletion test/test_deprecated_vehicle_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ async def test_check_control_messages(caplog):
ccms = vehicle.status.check_control_messages
assert 1 == len(ccms)

assert CheckControlStatus.LOW == ccms[0].state
assert CheckControlStatus.MEDIUM == ccms[0].state
assert "ENGINE_OIL" == ccms[0].description_short
assert None is ccms[0].description_long

Expand Down
1 change: 1 addition & 0 deletions test/test_vehicle.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ def test_vehiclebasedata():
{"state": {"checkControlMessages": [{"severity": "LOW", "type": "ENGINE_OIL"}]}}
)
assert len(ccmr.messages) == 1
assert ccmr.has_check_control_messages is False


def test_gpsposition():
Expand Down
10 changes: 10 additions & 0 deletions test/test_vehicle_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,16 @@ async def test_check_control_messages(caplog):
ccms = vehicle.check_control_messages.messages
assert 1 == len(ccms)

assert CheckControlStatus.MEDIUM == ccms[0].state
assert "ENGINE_OIL" == ccms[0].description_short
assert None is ccms[0].description_long

vehicle = (await get_mocked_account()).get_vehicle(VIN_G20)
assert vehicle.check_control_messages.has_check_control_messages is False

ccms = vehicle.check_control_messages.messages
assert 1 == len(ccms)

assert CheckControlStatus.LOW == ccms[0].state
assert "ENGINE_OIL" == ccms[0].description_short
assert None is ccms[0].description_long
Expand Down

0 comments on commit 117bb06

Please sign in to comment.