<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">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.<div class=""><br class=""></div><div class="">My suggestion is:</div><div class=""><br class=""></div><div class=""><ol class="MailOutline"><li class="">A config parameter ‘notifications’, with individual instances to turn on/off the notifications. Default is all enabled.<br class=""><br class=""></li><li class="">OvmsVehicle::MetricModified picks up metric changes and issues the standard notifications (checking ‘notifications’ parameter appropriately).</li><ul class=""><li class="">charge_mode=>charging: Notify charge started</li><li class="">charge_mode=>topoff: Notify charge started</li><li class="">charge_mode=>heating: Notify battery heating started</li><li class="">charge_mode=>done: Notify charge completed</li><li class="">charge_mode=>stopped: Notify charge interrupted</li><li class="">valet_mode=>on: Notify valet mode enabled</li><li class="">valet_mode=>off: Notify valet mode disabled</li><li class="">alarm=>on: Notify alarm is sounding</li><li class="">alarm=>off: Notify alarm is off<br class=""><br class=""></li></ul><li class="">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).</li></ol></div><div class=""><br class=""></div><div class="">Does that make sense? Any objections/suggestions?</div><div class=""><br class=""></div><div class="">Regards, Mark</div><div class=""><br class=""></div></body></html>