SAIC-iSmart-API / saic-python-mqtt-gateway

A service that queries the data from an MG iSMART account and publishes the data over MQTT and to other sources
MIT License
71 stars 21 forks source link

exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 5019 days, 13:19:37.357974 #229

Closed Ivesvdf closed 5 months ago

Ivesvdf commented 5 months ago

Got this fault a few days after updating to 0.6.0 when I trigger a forced update:

saic-mqtt-gateway | 2024-04-22 13:54:19,266 [ INFO ] Updating vehicle status - main saic-mqtt-gateway | 2024-04-22 13:54:19,377 [ INFO ] Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2024-04-22 13:55:19 UTC)" (scheduled at 2024-04-22 13:54:19.376138+00:00) - apscheduler.executors.default saic-mqtt-gateway | 2024-04-22 13:54:19,563 [ INFO ] MessageResp(alarmNumber=0, commandNumber=0, messages=[], newsNumber=0, recordsNumber=None, totalNumber=0) unread messages - main saic-mqtt-gateway | 2024-04-22 13:54:19,564 [ INFO ] Job "Check for new messages (trigger: interval[0:01:00], next run at: 2024-04-22 13:55:19 UTC)" executed successfully - apscheduler.executors.default saic-mqtt-gateway | 2024-04-22 13:54:29,643 [ ERROR ] handle_vehicle loop failed with an unexpected exception - main saic-mqtt-gateway | Traceback (most recent call last): saic-mqtt-gateway | File "/usr/src/app/./mqtt_gateway.py", line 95, in handle_vehicle saic-mqtt-gateway | vehicle_status = await self.update_vehicle_status() saic-mqtt-gateway | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ saic-mqtt-gateway | File "/usr/src/app/./mqtt_gateway.py", line 145, in update_vehicle_status saic-mqtt-gateway | self.vehicle_state.handle_vehicle_status(vehicle_status_response) saic-mqtt-gateway | File "/usr/src/app/vehicle.py", line 199, in handle_vehicle_status saic-mqtt-gateway | raise MqttGatewayException( saic-mqtt-gateway | exceptions.MqttGatewayException: Vehicle status time drifted too much from current time: 5019 days, 13:19:37.357974 saic-mqtt-gateway | 2024-04-22 13:55:19,378 [ INFO ] Running job "Check for new messages (trigger: interval[0:01:00], next run at: 2024-04-22 13:56:19 UTC)" (scheduled at 2024-04-22 13:55:19.376138+00:00) - apscheduler.executors.default

Is this an issue on the vehicle or SAIC side or something wrong inside of this project? The same seems to occur in 0.6.1-rc5. This is on an MG4 64kWh.

nanomad commented 5 months ago

This is expected. Sometimes SAIC provides an update timestamp far into the future that signifies that the values polled are to be discarded. It usually happens while the car is entering sleep mode.