[Ovmsdev] Generator / V2G metrics proposal
Michael Balzer
dexter at expeedo.de
Mon Jan 18 02:00:10 HKT 2021
Everyone,
the generator / V2G metrics are now added as proposed.
https://docs.openvehicles.com/en/latest/userguide/metrics.html#standard-metrics
Regards,
Michael
Am 12.01.21 um 19:22 schrieb Michael Balzer:
> Everyone,
>
> I'm planning to add a general (optional) charge / grid integration log
> and a general (optional) trip log. I'll describe my log record
> proposal in a separate mail.
>
> For the grid log, I'm going to add V2G / generator mode metrics now,
> so we can support this and define an already fully featured log
> format. As this is more or less a reverse charge, and can be combined
> with charging, my proposal is to a) basically duplicate the set of
> charge metrics with only slight changes for the "generating" view, and
> b) add grid side energy counters.
>
> We currently have these charge metrics:
>
> OvmsMetricFloat* ms_v_charge_voltage; // Momentary
> charger supply voltage [V]
> OvmsMetricFloat* ms_v_charge_power; // Momentary
> charger input power [kW]
> OvmsMetricFloat* ms_v_charge_efficiency; // Momentary
> charger efficiency [%]
> OvmsMetricFloat* ms_v_charge_current; // Momentary
> charger output current (→battery) [A]
> OvmsMetricFloat* ms_v_charge_climit; // Maximum charger
> output current [A]
> OvmsMetricInt* ms_v_charge_time; // Duration of
> running charge [sec]
> OvmsMetricFloat* ms_v_charge_kwh; // Energy charged
> into the battery in the running session [kWh]
> OvmsMetricString* ms_v_charge_mode; // standard,
> range, performance, storage
> OvmsMetricBool* ms_v_charge_timermode; // True if timer
> enabled
> OvmsMetricInt* ms_v_charge_timerstart; // Time timer is
> due to start
> OvmsMetricString* ms_v_charge_state; // charging,
> topoff, done, prepare, timerwait, heating, stopped
> OvmsMetricString* ms_v_charge_substate; // scheduledstop,
> scheduledstart, onrequest, timerwait, powerwait, stopped, interrupted
> OvmsMetricString* ms_v_charge_type; // Connection
> type: undefined, type1, type2, chademo, roadster, teslaus,
> supercharger, ccs
> OvmsMetricBool* ms_v_charge_pilot; // Pilot signal
> present
> OvmsMetricBool* ms_v_charge_inprogress; // True =
> currently charging
> OvmsMetricFloat* ms_v_charge_limit_range; // Sufficient
> range limit for current charge [km]
> OvmsMetricFloat* ms_v_charge_limit_soc; // Sufficient SOC
> limit for current charge [%]
> OvmsMetricInt* ms_v_charge_duration_full; // Estimated time
> remaining for full charge [min]
> OvmsMetricInt* ms_v_charge_duration_range; // … for
> sufficient range [min]
> OvmsMetricInt* ms_v_charge_duration_soc; // … for
> sufficient SOC [min]
> OvmsMetricFloat* ms_v_charge_temp; // Charger
> temperature [°C]
>
> …metrics (not in same order):
> v.c.charging
> v.c.climit
> v.c.current
> v.c.duration.full
> v.c.duration.range
> v.c.duration.soc
> v.c.efficiency
> v.c.kwh
> v.c.limit.range
> v.c.limit.soc
> v.c.mode
> v.c.pilot
> v.c.power
> v.c.state
> v.c.substate
> v.c.temp
> v.c.time
> v.c.timermode
> v.c.timerstart
> v.c.type
> v.c.voltage
>
>
> I would add now the following metrics for the generator mode:
>
> OvmsMetricFloat* ms_v_gen_voltage; // Momentary
> generator output voltage [V]
> OvmsMetricFloat* ms_v_gen_power; // Momentary
> generator output power [kW]
> OvmsMetricFloat* ms_v_gen_efficiency; // Momentary
> generator efficiency [%]
> OvmsMetricFloat* ms_v_gen_current; // Momentary
> generator input current (←battery) [A]
> OvmsMetricFloat* ms_v_gen_climit; // Maximum
> generator input current [A]
> OvmsMetricInt* ms_v_gen_time; // Duration of
> generator running [sec]
> OvmsMetricFloat* ms_v_gen_kwh; // Energy sum
> generated in the running session [kWh]
> OvmsMetricString* ms_v_gen_mode; // TBD
> OvmsMetricBool* ms_v_gen_timermode; // True if
> generator timer enabled
> OvmsMetricInt* ms_v_gen_timerstart; // Time generator
> is due to start
> OvmsMetricString* ms_v_gen_state; // TBD
> OvmsMetricString* ms_v_gen_substate; // TBD
> OvmsMetricString* ms_v_gen_type; // Connection type
> (chademo, ccs, …)
> OvmsMetricBool* ms_v_gen_pilot; // Pilot signal
> present
> OvmsMetricBool* ms_v_gen_inprogress; // True =
> currently delivering power
> OvmsMetricFloat* ms_v_gen_limit_range; // Minimum range
> limit for generator mode [km]
> OvmsMetricFloat* ms_v_gen_limit_soc; // Minimum SOC
> limit for generator mode [%]
> OvmsMetricInt* ms_v_gen_duration_empty; // Estimated time
> remaining for full discharge [min]
> OvmsMetricInt* ms_v_gen_duration_range; // … for range
> limit [min]
> OvmsMetricInt* ms_v_gen_duration_soc; // … for SOC limit
> [min]
> OvmsMetricFloat* ms_v_gen_temp; // Generator
> temperature [°C]
>
> …metrics (not in same order):
> v.g.generating
> v.g.climit
> v.g.current
> v.g.duration.empty
> v.g.duration.range
> v.g.duration.soc
> v.g.efficiency
> v.g.kwh
> v.g.limit.range
> v.g.limit.soc
> v.g.mode
> v.g.pilot
> v.g.power
> v.g.state
> v.g.substate
> v.g.temp
> v.g.time
> v.g.timermode
> v.g.timerstart
> v.g.type
> v.g.voltage
>
>
> In addition to these, I would add energy counters to cover the actual
> grid energy side (i.e. before/after conversion losses):
>
> OvmsMetricFloat* ms_v_charge_kwh_grid; // Energy drawn
> from grid during running session [kWh]
> OvmsMetricFloat* ms_v_charge_kwh_grid_total; // Energy drawn
> from grid total (life time) [kWh]
> OvmsMetricFloat* ms_v_gen_kwh_grid; // Energy sent
> to grid during running session [kWh]
> OvmsMetricFloat* ms_v_gen_kwh_grid_total; // Energy sent
> to grid total (life time) [kWh]
>
> v.c.kwh.grid
> v.c.kwh.grid.total
> v.g.kwh.grid
> v.g.kwh.grid.total
>
>
> And yes, "kwh" as a metric name isn't perfect, but we started this
> with "v.c.kwh", so we should now stick to it for consistency.
>
> Do I miss something? Any objections / suggestions?
>
> Regards,
> Michael
>
--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20210117/116e4ba4/attachment-0001.sig>
More information about the OvmsDev
mailing list