mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
change remotetemp to CMD
This commit is contained in:
@@ -4451,7 +4451,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
||||
}
|
||||
register_device_value(tag,
|
||||
&hc->remotetemp,
|
||||
DeviceValueType::INT16,
|
||||
DeviceValueType::CMD,
|
||||
DeviceValueNumOp::DV_NUMOP_DIV10,
|
||||
FL_(remotetemp),
|
||||
DeviceValueUOM::DEGREES,
|
||||
@@ -4524,7 +4524,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
||||
tag, &hc->heatingtype, DeviceValueType::ENUM, FL_(enum_heatingtype), FL_(heatingtype), DeviceValueUOM::NONE, MAKE_CF_CB(set_heatingtype));
|
||||
register_device_value(tag, &hc->summertemp, DeviceValueType::UINT8, FL_(summertemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_summertemp), 10, 30);
|
||||
register_device_value(tag, &hc->summermode, DeviceValueType::ENUM, FL_(enum_summer), FL_(summermode), DeviceValueUOM::NONE);
|
||||
register_device_value(tag, &hc->remotetemp, DeviceValueType::INT16, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(remotetemp), DeviceValueUOM::DEGREES);
|
||||
register_device_value(tag, &hc->remotetemp, DeviceValueType::CMD, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(remotetemp), DeviceValueUOM::DEGREES);
|
||||
break;
|
||||
case EMSdevice::EMS_DEVICE_FLAG_RC25:
|
||||
register_device_value(tag, &hc->mode, DeviceValueType::ENUM, FL_(enum_mode3), FL_(mode), DeviceValueUOM::NONE, MAKE_CF_CB(set_mode));
|
||||
@@ -4675,7 +4675,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
||||
tag, &hc->vacreducemode, DeviceValueType::ENUM, FL_(enum_reducemode), FL_(vacreducemode), DeviceValueUOM::NONE, MAKE_CF_CB(set_vacreducemode));
|
||||
register_device_value(tag,
|
||||
&hc->remotetemp,
|
||||
DeviceValueType::INT16,
|
||||
DeviceValueType::CMD,
|
||||
DeviceValueNumOp::DV_NUMOP_DIV10,
|
||||
FL_(remotetemp),
|
||||
DeviceValueUOM::DEGREES,
|
||||
@@ -4712,7 +4712,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
||||
register_device_value(tag, &hc->program, DeviceValueType::ENUM, FL_(enum_progMode4), FL_(program), DeviceValueUOM::NONE, MAKE_CF_CB(set_program));
|
||||
register_device_value(tag,
|
||||
&hc->remotetemp,
|
||||
DeviceValueType::INT16,
|
||||
DeviceValueType::CMD,
|
||||
DeviceValueNumOp::DV_NUMOP_DIV10,
|
||||
FL_(remotetemp),
|
||||
DeviceValueUOM::DEGREES,
|
||||
|
||||
@@ -534,6 +534,12 @@ void EMSdevice::add_device_value(int8_t tag, // to b
|
||||
*(int8_t *)(value_p) = System::test_set_all_active() ? EMS_VALUE_DEFAULT_BOOL_DUMMY : EMS_VALUE_DEFAULT_BOOL; // bool is uint8_t, but other initial value
|
||||
} else if (type == DeviceValueType::ENUM) {
|
||||
*(uint8_t *)(value_p) = System::test_set_all_active() ? EMS_VALUE_DEFAULT_ENUM_DUMMY : EMS_VALUE_DEFAULT_ENUM; // enums behave as uint8_t
|
||||
} else if (type == DeviceValueType::CMD) {
|
||||
if (uom == DeviceValueUOM::NONE) {
|
||||
*(uint8_t *)(value_p) = System::test_set_all_active() ? EMS_VALUE_DEFAULT_ENUM_DUMMY : EMS_VALUE_DEFAULT_ENUM; // enums behave as uint8_t
|
||||
} else if (uom == DeviceValueUOM::DEGREES) {
|
||||
*(int16_t *)(value_p) = System::test_set_all_active() ? EMS_VALUE_DEFAULT_INT16_DUMMY : EMS_VALUE_DEFAULT_INT16;
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t state = DeviceValueState::DV_DEFAULT; // determine state
|
||||
@@ -981,7 +987,7 @@ void EMSdevice::generate_values_web(JsonObject output) {
|
||||
l.add(Helpers::render_boolean(result, true, true));
|
||||
}
|
||||
// add command help template
|
||||
else if (dv.type == DeviceValueType::STRING || dv.type == DeviceValueType::CMD) {
|
||||
else if (dv.type == DeviceValueType::STRING || (dv.type == DeviceValueType::CMD && dv.uom == DeviceValueUOM::NONE)) {
|
||||
if (dv.options_size == 1) {
|
||||
obj["h"] = dv.options_single[0]; // NOT translated
|
||||
}
|
||||
|
||||
11
src/mqtt.cpp
11
src/mqtt.cpp
@@ -959,9 +959,18 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev
|
||||
readonly_sensors = false;
|
||||
break;
|
||||
case DeviceValueType::ENUM:
|
||||
snprintf(topic, sizeof(topic), "select/%s", config_topic);
|
||||
readonly_sensors = false;
|
||||
break;
|
||||
case DeviceValueType::CMD: // hardcoded commands are always ENUMS
|
||||
// select - https://www.home-assistant.io/integrations/select.mqtt
|
||||
snprintf(topic, sizeof(topic), "select/%s", config_topic);
|
||||
if (uom == DeviceValueUOM::NONE) {
|
||||
snprintf(topic, sizeof(topic), "select/%s", config_topic);
|
||||
} else if (discovery_type() == discoveryType::HOMEASSISTANT || discovery_type() == discoveryType::DOMOTICZ_LATEST) {
|
||||
snprintf(topic, sizeof(topic), "number/%s", config_topic);
|
||||
} else {
|
||||
snprintf(topic, sizeof(topic), "sensor/%s", config_topic);
|
||||
}
|
||||
readonly_sensors = false;
|
||||
break;
|
||||
case DeviceValueType::STRING:
|
||||
|
||||
Reference in New Issue
Block a user