auto formatting

This commit is contained in:
proddy
2021-04-25 09:53:45 +02:00
parent e854161da9
commit 1bd834924a
5 changed files with 31 additions and 29 deletions

View File

@@ -5,9 +5,10 @@
- Mock API to simulate an ESP, for testing web - Mock API to simulate an ESP, for testing web
- Able to write values from the Web UI - Able to write values from the Web UI
- check values with `"cmd":<valuename>` and data empty or `?` - check values with `"cmd":<valuename>` and data empty or `?`
- set hc for values and commands by id or prefix `hc<x>`+separarator, separator can be any char - set hc for values and commands by id or prefix `hc<x>`+separator, separator can be any char
## Fixed ## Fixed
- Don't create Home Assistant MQTT discovery entries for device values that don't exists (#756 on EMS-ESP repo) - Don't create Home Assistant MQTT discovery entries for device values that don't exists (#756 on EMS-ESP repo)
- Update shower MQTT when a shower start is detected - Update shower MQTT when a shower start is detected
- S32 board profile - S32 board profile

View File

@@ -1115,7 +1115,7 @@ bool Boiler::set_warmwater_circulation_mode(const char * value, const int8_t id)
// 8 reset maintenance message Hxx // 8 reset maintenance message Hxx
// 12 & 13 Reset that Error-memory // 12 & 13 Reset that Error-memory
bool Boiler::set_reset(const char * value, const int8_t id) { bool Boiler::set_reset(const char * value, const int8_t id) {
uint8_t num; uint8_t num;
if (!Helpers::value2enum(value, num, FL_(enum_reset))) { if (!Helpers::value2enum(value, num, FL_(enum_reset))) {
return false; return false;
} }

View File

@@ -95,7 +95,6 @@ Solar::Solar(uint8_t device_type, uint8_t device_id, uint8_t product_id, const s
register_device_value(TAG_NONE, &energyLastHour_, DeviceValueType::ULONG, FL_(div10), FL_(energyLastHour), DeviceValueUOM::WH); register_device_value(TAG_NONE, &energyLastHour_, DeviceValueType::ULONG, FL_(div10), FL_(energyLastHour), DeviceValueUOM::WH);
register_device_value(TAG_NONE, &energyTotal_, DeviceValueType::ULONG, FL_(div10), FL_(energyTotal), DeviceValueUOM::KWH); register_device_value(TAG_NONE, &energyTotal_, DeviceValueType::ULONG, FL_(div10), FL_(energyTotal), DeviceValueUOM::KWH);
register_device_value(TAG_NONE, &energyToday_, DeviceValueType::ULONG, nullptr, FL_(energyToday), DeviceValueUOM::WH); register_device_value(TAG_NONE, &energyToday_, DeviceValueType::ULONG, nullptr, FL_(energyToday), DeviceValueUOM::WH);
} }
// publish HA config // publish HA config

View File

@@ -75,12 +75,14 @@ class Solar : public EMSdevice {
uint8_t climateZone_; // climate zone identifier uint8_t climateZone_; // climate zone identifier
uint16_t collector1Area_; // Area of collector field 1 uint16_t collector1Area_; // Area of collector field 1
uint8_t collector1Type_; // Type of collector field 1, 01=flat, 02=vacuum uint8_t collector1Type_; // Type of collector field 1, 01=flat, 02=vacuum
// SM100wwTemperature - 0x07D6
// SM100wwTemperature - 0x07D6
uint8_t wwTemp_1_; uint8_t wwTemp_1_;
uint8_t wwTemp_3_; uint8_t wwTemp_3_;
uint8_t wwTemp_4_; uint8_t wwTemp_4_;
uint8_t wwTemp_5_; uint8_t wwTemp_5_;
uint8_t wwTemp_7_; uint8_t wwTemp_7_;
// SM100wwStatus - 0x07AA // SM100wwStatus - 0x07AA
uint8_t wwPump_; uint8_t wwPump_;

View File

@@ -651,7 +651,7 @@ bool EMSdevice::get_value_info(JsonObject & root, const char * cmd, const int8_t
for (auto & dv : devicevalues_) { for (auto & dv : devicevalues_) {
if (strcmp(cmd, uuid::read_flash_string(dv.short_name).c_str()) == 0 && (tag <= 0 || tag == dv.tag)) { if (strcmp(cmd, uuid::read_flash_string(dv.short_name).c_str()) == 0 && (tag <= 0 || tag == dv.tag)) {
uint8_t divider = (dv.options_size == 1) ? Helpers::atoint(uuid::read_flash_string(dv.options[0]).c_str()) : 0; uint8_t divider = (dv.options_size == 1) ? Helpers::atoint(uuid::read_flash_string(dv.options[0]).c_str()) : 0;
json["name"] = dv.short_name; json["name"] = dv.short_name;
if (dv.tag >= DeviceValueTAG::TAG_HC1) { if (dv.tag >= DeviceValueTAG::TAG_HC1) {
json["circuit"] = tag_to_string(dv.tag); json["circuit"] = tag_to_string(dv.tag);
} }
@@ -675,16 +675,16 @@ bool EMSdevice::get_value_info(JsonObject & root, const char * cmd, const int8_t
if (Helpers::hasValue(*(uint16_t *)(dv.value_p))) { if (Helpers::hasValue(*(uint16_t *)(dv.value_p))) {
json["value"] = Helpers::round2(*(uint16_t *)(dv.value_p), divider); json["value"] = Helpers::round2(*(uint16_t *)(dv.value_p), divider);
} }
json["type"] = F_(number); json["type"] = F_(number);
json["min"] = 0; json["min"] = 0;
json["max"] = divider ? EMS_VALUE_USHORT_NOTSET / divider : EMS_VALUE_USHORT_NOTSET; json["max"] = divider ? EMS_VALUE_USHORT_NOTSET / divider : EMS_VALUE_USHORT_NOTSET;
break; break;
case DeviceValueType::UINT: case DeviceValueType::UINT:
if (Helpers::hasValue(*(uint8_t *)(dv.value_p))) { if (Helpers::hasValue(*(uint8_t *)(dv.value_p))) {
json["value"] = Helpers::round2(*(uint8_t *)(dv.value_p), divider); json["value"] = Helpers::round2(*(uint8_t *)(dv.value_p), divider);
} }
json["type"] = F_(number); json["type"] = F_(number);
json["min"] = 0; json["min"] = 0;
if (dv.uom == DeviceValueUOM::PERCENT) { if (dv.uom == DeviceValueUOM::PERCENT) {
json["max"] = 100; json["max"] = 100;
} else { } else {
@@ -695,15 +695,15 @@ bool EMSdevice::get_value_info(JsonObject & root, const char * cmd, const int8_t
if (Helpers::hasValue(*(int16_t *)(dv.value_p))) { if (Helpers::hasValue(*(int16_t *)(dv.value_p))) {
json["value"] = Helpers::round2(*(int16_t *)(dv.value_p), divider); json["value"] = Helpers::round2(*(int16_t *)(dv.value_p), divider);
} }
json["type"] = F_(number); json["type"] = F_(number);
json["min"] = divider ? -EMS_VALUE_SHORT_NOTSET / divider : -EMS_VALUE_SHORT_NOTSET; json["min"] = divider ? -EMS_VALUE_SHORT_NOTSET / divider : -EMS_VALUE_SHORT_NOTSET;
json["max"] = divider ? EMS_VALUE_SHORT_NOTSET / divider : EMS_VALUE_SHORT_NOTSET; json["max"] = divider ? EMS_VALUE_SHORT_NOTSET / divider : EMS_VALUE_SHORT_NOTSET;
break; break;
case DeviceValueType::INT: case DeviceValueType::INT:
if (Helpers::hasValue(*(int8_t *)(dv.value_p))) { if (Helpers::hasValue(*(int8_t *)(dv.value_p))) {
json["value"] = Helpers::round2(*(int8_t *)(dv.value_p), divider); json["value"] = Helpers::round2(*(int8_t *)(dv.value_p), divider);
} }
json["type"] = F_(number); json["type"] = F_(number);
if (dv.uom == DeviceValueUOM::PERCENT) { if (dv.uom == DeviceValueUOM::PERCENT) {
json["min"] = -100; json["min"] = -100;
json["max"] = 100; json["max"] = 100;
@@ -716,17 +716,17 @@ bool EMSdevice::get_value_info(JsonObject & root, const char * cmd, const int8_t
if (Helpers::hasValue(*(uint32_t *)(dv.value_p))) { if (Helpers::hasValue(*(uint32_t *)(dv.value_p))) {
json["value"] = Helpers::round2(*(uint32_t *)(dv.value_p), divider); json["value"] = Helpers::round2(*(uint32_t *)(dv.value_p), divider);
} }
json["type"] = F_(number); json["type"] = F_(number);
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["min"] = 0;
json["max"] = 1; json["max"] = 1;
JsonArray enum_ = json.createNestedArray(F("enum")); JsonArray enum_ = json.createNestedArray(F("enum"));
if (dv.options_size == 2) { if (dv.options_size == 2) {
enum_.add(dv.options[1]); enum_.add(dv.options[1]);
@@ -747,18 +747,18 @@ bool EMSdevice::get_value_info(JsonObject & root, const char * cmd, const int8_t
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);
} }
json["type"] = F_(number); json["type"] = F_(number);
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::TEXT: case DeviceValueType::TEXT:
if (Helpers::hasValue((char *)(dv.value_p))) { if (Helpers::hasValue((char *)(dv.value_p))) {
json["value"] = (char *)(dv.value_p); json["value"] = (char *)(dv.value_p);
} }
json["type"] = F_(text); json["type"] = F_(text);
break; break;
default: default:
json["type"] = F_(unknown); json["type"] = F_(unknown);
break; break;
} }
if (dv.uom != DeviceValueUOM::NONE) { if (dv.uom != DeviceValueUOM::NONE) {
@@ -766,10 +766,10 @@ bool EMSdevice::get_value_info(JsonObject & root, const char * cmd, const int8_t
} }
json["writeable"] = dv.has_cmd; json["writeable"] = dv.has_cmd;
if (dv.min != 0 || dv.max != 0) { if (dv.min != 0 || dv.max != 0) {
json["min"] = dv.min; json["min"] = dv.min;
json["max"] = dv.max; json["max"] = dv.max;
} }
return true; return true;
} }
} }
return false; return false;
@@ -916,7 +916,7 @@ bool EMSdevice::generate_values_json(JsonObject & root, const uint8_t tag_filter
} }
} }
} }
dv.ha |= has_value ? DeviceValueHA::HA_VALUE : DeviceValueHA::HA_NONE; dv.ha |= has_value ? DeviceValueHA::HA_VALUE : DeviceValueHA::HA_NONE;
has_values |= has_value; has_values |= has_value;
} }