<div dir="ltr">Hi,<div><br></div><div>Is there an "official" way to Init my private metrics without setting a value and having them marked modified?</div><div><br></div><div>The problem I am trying to solve is that if I do this, for instance:</div><div><br></div><div><font face="monospace">  > mt_i3_range_ecoproplus = MyMetrics.InitInt  ("xi3.v.b.range.ecoproplus",   SM_STALE_HIGH, 0, Kilometers);</font><br></div><div><font face="monospace"><br></font></div><div>Then "0" is officially published as the range.  This is unlikely and messes up my charts.  I'd rather not publish a value until I get one from the car.</div><div><br></div><div>I see that the standard metrics are just created with:</div><div><br></div><div>  > ms_v_bat_range_full = new OvmsMetricFloat(MS_V_BAT_RANGE_FULL, SM_STALE_HIGH, Kilometers);<br></div><div><br></div><div>where V_BAT_RANGE_FULL is "v.b.range.full"</div><div><br></div><div>They have no value until they are explicitly set.</div><div><br></div><div>So would it be acceptable to rather create my private metrics like that?</div><div><br></div><div>I guess then it falls on me to check if the metric already exists - which is done as part of InitFloat.</div><div><br></div><div>So I guess I'd write:</div><div><font face="monospace"><br></font></div><div><font face="monospace">  > mt_i3_range_ecoproplus = (OvmsMetricInt*)MyMetrics.Find("xi3.v.b.range.ecoproplus");</font></div><div><font face="monospace">  > if (mt_i3_range_ecoproplus==NULL) mt_i3_range_ecoproplus = new OvmsMetricInt("xi3.v.b.range.ecoproplus",  SM_STALE_HIGH, Kilometers, 0);</font></div><div><br></div><div>Is this a reasonable approach or am I going about this the wrong way?</div><div><br></div><div><br></div><div><br></div></div>