I’m afraid there is no documented or discussed solution for this at the moment, because we don’t have a concept for electric/hybrid vehicles in OSM yet, so neither suitable access tags nor another e.g. emission concept (see e.g. this discussion on the OSM wiki access talk page).
Assuming that there will be an agreement to map such vehicle types via access tags (e.g. electric_vehicle), we can use transportation mode extensions:
fee:conditional=no @ (Mo-Sa 00:00-08:30,13:00-14:00,19:30-24:00; Su 00:00-24:00)
If, on the other hand, we will introduce an emissions concept someday, the solution would probably look more like this:
fee:conditional=no @ (low_emission; Mo-Sa 00:00-08:30,13:00-14:00,19:30-24:00; Su 00:00-24:00)
Your choice which concept you want to support by “any tag you like”
I like this the most, it can easily batch-edited with something else if someday a consensus about the access value is achieved and it doesn’t broke the actual opening hours parsing. I think I will start use this from now on, thanks!
I do like this as well, but since I don’t think there’s a clear order in which to process :conditional vs :electric_vehicle, it might cause problems in other cases than this specific one. Just wanted to point it out. Or is there a preferred order for data consumers to process these?