diff --git a/deebot_client/messages/json/stats.py b/deebot_client/messages/json/stats.py index e3566f683..6ae7be39d 100644 --- a/deebot_client/messages/json/stats.py +++ b/deebot_client/messages/json/stats.py @@ -56,6 +56,6 @@ def _handle_body_data_dict( :return: A message response """ event_bus.notify( - StatsEvent(area=data["area"], time=data["time"], type=data["type"]) + StatsEvent(area=data["area"], time=data["time"], type=data.get("type")) ) return HandlingResult.success() diff --git a/tests/messages/json/test_stats.py b/tests/messages/json/test_stats.py index 95609fdae..9ac5a3477 100644 --- a/tests/messages/json/test_stats.py +++ b/tests/messages/json/test_stats.py @@ -109,6 +109,14 @@ def test_ReportStats(data: dict[str, Any], expected: ReportStatsEvent) -> None: type="auto", ), ), + ( + {"mowid": "0", "time": 11269, "area": 2889500, "mowedArea": 1005475}, + StatsEvent( + area=2889500, + time=11269, + type=None, + ), + ), ], ) def test_onStats(data: dict[str, Any], expected: StatsEvent) -> None: