Hi all, I noticed some behavior on the *tpms* command I'd copied from the Kia/Kona code, which sent me down a small rabbit hole. What I was seeing was that the temperature was repeated instead of seeing the pressure and temperature. Even in vehicle.cpp, we can see code like this: const char* range_est = StdMetrics.ms_v_bat_range_est->AsUnitString("-", rangeUnit, 0).c_str(); if (*range_est != '-') writer->printf("Est. range: %s\n", range_est); My C++ is a bit rusty, however I believe that the 'const char*' won't hold the temporary std::string object returned by 'AsUnitString'. To do that, I believe we need to assign to a reference (which I know will work). The problem is that the original code will mostly work (especially in cases like the above), as the deallocated heap memory won't have been reallocated. const std::string& range_est = StdMetrics.ms_v_bat_range_est->AsUnitString("-", rangeUnit, 0); if (!is_empty_metric(range_est)) writer->printf("Est. range: %s\n", range_est.c_str()); Where I've defined in vehicle.h the following: inline bool is_empty_metric(const std::string &measure) { return (measure == "") || (measure[0] == '-'); } Will the above work functionally? Would it be better to be: return (measure =="") || (measure == "-") This occurs in 8 files (outside my new Ioniq 5 files) that I have noted. I would make a separate commit for this and do a pull request for it, //.ichael