mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
value_info bool format
This commit is contained in:
@@ -720,12 +720,29 @@ bool EMSdevice::get_value_info(JsonObject & root, const char * cmd, const int8_t
|
|||||||
json["min"] = 0;
|
json["min"] = 0;
|
||||||
json["max"] = divider ? EMS_VALUE_ULONG_NOTSET / divider : EMS_VALUE_ULONG_NOTSET;
|
json["max"] = divider ? EMS_VALUE_ULONG_NOTSET / divider : EMS_VALUE_ULONG_NOTSET;
|
||||||
break;
|
break;
|
||||||
case DeviceValueType::BOOL:
|
case DeviceValueType::BOOL: {
|
||||||
if (Helpers::hasValue(*(uint8_t *)(dv.value_p), EMS_VALUE_BOOL)) {
|
if (Helpers::hasValue(*(uint8_t *)(dv.value_p), EMS_VALUE_BOOL)) {
|
||||||
json["value"] = (bool)(*(uint8_t *)(dv.value_p)) ? true : false;
|
json["value"] = (bool)(*(uint8_t *)(dv.value_p)) ? true : false;
|
||||||
}
|
}
|
||||||
json["type"] = F("boolean");
|
json["type"] = F("boolean");
|
||||||
|
json["min"] = 0;
|
||||||
|
json["max"] = 1;
|
||||||
|
JsonArray enum_ = json.createNestedArray(F("enum"));
|
||||||
|
if (dv.options_size == 2) {
|
||||||
|
enum_.add(dv.options[1]);
|
||||||
|
enum_.add(dv.options[0]);
|
||||||
|
} else if (Mqtt::bool_format() == BOOL_FORMAT_ONOFF) {
|
||||||
|
enum_.add("off");
|
||||||
|
enum_.add("on");
|
||||||
|
} else if (Mqtt::bool_format() == BOOL_FORMAT_ONOFF_CAP) {
|
||||||
|
enum_.add("OFF");
|
||||||
|
enum_.add("ON");
|
||||||
|
} else {
|
||||||
|
enum_.add(false);
|
||||||
|
enum_.add(true);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case DeviceValueType::TIME:
|
case DeviceValueType::TIME:
|
||||||
if (Helpers::hasValue(*(uint32_t *)(dv.value_p))) {
|
if (Helpers::hasValue(*(uint32_t *)(dv.value_p))) {
|
||||||
json["value"] = (divider) ? *(uint32_t *)(dv.value_p) / divider : *(uint32_t *)(dv.value_p);
|
json["value"] = (divider) ? *(uint32_t *)(dv.value_p) / divider : *(uint32_t *)(dv.value_p);
|
||||||
|
|||||||
Reference in New Issue
Block a user