translating UOMs hours/minutes/seconds

This commit is contained in:
MichaelDvP
2022-11-20 10:44:17 +01:00
parent d51745774f
commit 89245c7af7
3 changed files with 17 additions and 22 deletions

View File

@@ -51,23 +51,21 @@ std::string EMSdevice::tag_to_mqtt(uint8_t tag) {
return (DeviceValue::DeviceValueTAG_mqtt[tag]);
}
// convert UOM to a string - these don't need translating
// convert UOM to a string - translating only for hours/minutes/seconds
std::string EMSdevice::uom_to_string(uint8_t uom) {
if (EMSESP::system_.fahrenheit() && (uom == DeviceValueUOM::DEGREES || uom == DeviceValueUOM::DEGREES_R)) {
return (DeviceValue::DeviceValueUOM_s[DeviceValueUOM::FAHRENHEIT]);
switch (uom) {
case DeviceValueUOM::DEGREES:
case DeviceValueUOM::DEGREES_R:
return EMSESP::system_.fahrenheit() ? DeviceValue::DeviceValueUOM_s[DeviceValueUOM::FAHRENHEIT] : DeviceValue::DeviceValueUOM_s[uom];
case DeviceValueUOM::HOURS:
return Helpers::translated_word(FL_(hours));
case DeviceValueUOM::MINUTES:
return Helpers::translated_word(FL_(minutes));
case DeviceValueUOM::SECONDS:
return Helpers::translated_word(FL_(seconds));
default:
return DeviceValue::DeviceValueUOM_s[uom];
}
/* translate times? https://github.com/emsesp/EMS-ESP32/issues/752
if (uom == DeviceValueUOM::HOURS) {
return (Helpers::translated_word(FL_(hours)));
}
if (uom == DeviceValueUOM::MINUTES) {
return (Helpers::translated_word(FL_(minutes)));
}
if (uom == DeviceValueUOM::SECONDS) {
return (Helpers::translated_word(FL_(seconds)));
}
*/
return (DeviceValue::DeviceValueUOM_s[uom]);
}
std::string EMSdevice::brand_to_string() const {

View File

@@ -112,14 +112,14 @@ const char * DeviceValue::DeviceValueUOM_s[] = {
F_(uom_lmin),
F_(uom_kwh),
F_(uom_wh),
F_(uom_hours),
F_(uom_minutes),
FL_(hours)[0],
FL_(minutes)[0],
F_(uom_ua),
F_(uom_bar),
F_(uom_kw),
F_(uom_w),
F_(uom_kb),
F_(uom_seconds),
FL_(seconds)[0],
F_(uom_dbm),
F_(uom_fahrenheit),
F_(uom_mv),

View File

@@ -197,13 +197,10 @@ MAKE_PSTR_LIST(tpl_input, "Format: <inv>[<evu1><evu2><evu3><comp><aux><cool><hea
MAKE_PSTR_LIST(tpl_input4, "Format: <inv>[<comp><aux><cool><heat><dhw><pv>]")
// Unit Of Measurement mapping - maps to DeviceValueUOM_s in emsdevice.cpp
// These don't need translating, it will mess up HA and the API
// Translating hours/minute/seconds in emsdevice.cpp
MAKE_PSTR(uom_blank, " ")
MAKE_PSTR(uom_percent, "%")
MAKE_PSTR(uom_degrees, "°C")
MAKE_PSTR(uom_hours, "hours")
MAKE_PSTR(uom_minutes, "minutes")
MAKE_PSTR(uom_seconds, "seconds")
MAKE_PSTR(uom_kwh, "kWh")
MAKE_PSTR(uom_wh, "Wh")
MAKE_PSTR(uom_bar, "bar")