Models related to service events from the MQTT broker.

Service Event example: { "version": 1, "traceId": "4a13b906-e13d-4ea5-a377-6cb70f790337", "producer": "SKODA_MHUB", "name": "change-soc", "timestamp": "2025-05-11T07:35:18Z", "data": { "mode": "manual", "state": "charging", "soc": "79", "chargedRange": "355", "timeToFinish": "130", "userId": "b8bc126c-ee36-402b-8723-2c1c3dff8dec", "vin": "TMOCKAA0AA000000", }, }

ServiceEvent dataclass

Bases: BaseEvent

Base model for all Service Events.

Service Events are unsolicited events emitted by the MQTT bus towards the client. Service Events have a 'name' field which can be used as a discriminator.

ServiceEventAccess dataclass

Bases: ServiceEvent

Group events under topic 'service-event/vehicle-status/access'.

ServiceEventAirConditioning dataclass

Bases: ServiceEvent

Group events under topic 'service-event/air-conditioning'.

ServiceEventChangeSocData dataclass

Bases: ServiceEventData

Charging data inside charging service event change-soc.

TODO: Remove the None defaults where they aren't really needed...

ServiceEventCharging dataclass

Bases: ServiceEvent

Group events under topic 'service-event/charging'.

ServiceEventData dataclass

Bases: BaseEventData

Base model for data in all Service Events.

ServiceEventDeparture dataclass

Bases: ServiceEvent

Group events under topic 'service-event/departure'.

ServiceEventErrorData dataclass

Bases: ServiceEventData

Model for service event data with an error.

ServiceEventLights dataclass

Bases: ServiceEvent

Group events under topic 'service-event/vehicle-status/lights'.

ServiceEventName

Bases: StrEnum

List of known Service Event Names.

ServiceEventOdometer dataclass

Bases: ServiceEvent

Group events under topic 'service-event/vehicle-status/odometer'.