It is time to implement vehicle notifications (charge started, charge completed, charge interrupted, etc) in the vehicle modules I am supporting. It seems that this can be done in the vehicle.{h,cpp} framework in a standard manner, and work across all vehicle types. However, I guess that will break any notifications already being produced by other vehicle types.
My suggestion is:
- A config parameter ‘notifications’, with individual instances to turn on/off the notifications. Default is all enabled.
- OvmsVehicle::MetricModified picks up metric changes and issues the standard notifications (checking ‘notifications’ parameter appropriately).
- charge_mode=>charging: Notify charge started
- charge_mode=>topoff: Notify charge started
- charge_mode=>heating: Notify battery heating started
- charge_mode=>done: Notify charge completed
- charge_mode=>stopped: Notify charge interrupted
- valet_mode=>on: Notify valet mode enabled
- valet_mode=>off: Notify valet mode disabled
- alarm=>on: Notify alarm is sounding
- alarm=>off: Notify alarm is off
- All the above should be suppressed for the initial setting of each parameter. I will have to look into metrics to see how best that should be done; one neat way is to keep a modification count (rather than the current m_defined boolean).
Does that make sense? Any objections/suggestions?
Regards, Mark