mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
fetch command also per device type
This commit is contained in:
@@ -63,35 +63,55 @@ bool System::command_send(const char * value, const int8_t id) {
|
|||||||
|
|
||||||
// fetch device values
|
// fetch device values
|
||||||
bool System::command_fetch(const char * value, const int8_t id) {
|
bool System::command_fetch(const char * value, const int8_t id) {
|
||||||
|
std::string value_s(14, '\0');
|
||||||
|
if (Helpers::value2string(value, value_s)) {
|
||||||
|
if (value_s == "all") {
|
||||||
LOG_INFO(F("Requesting data from EMS devices"));
|
LOG_INFO(F("Requesting data from EMS devices"));
|
||||||
EMSESP::fetch_device_values();
|
EMSESP::fetch_device_values();
|
||||||
return true;
|
return true;
|
||||||
|
} else if (value_s == "boiler") {
|
||||||
|
EMSESP::fetch_device_values_type(EMSdevice::DeviceType::BOILER);
|
||||||
|
return true;
|
||||||
|
} else if (value_s == "thermostat") {
|
||||||
|
EMSESP::fetch_device_values_type(EMSdevice::DeviceType::THERMOSTAT);
|
||||||
|
return true;
|
||||||
|
} else if (value_s == "solar") {
|
||||||
|
EMSESP::fetch_device_values_type(EMSdevice::DeviceType::SOLAR);
|
||||||
|
return true;
|
||||||
|
} else if (value_s == "mixer") {
|
||||||
|
EMSESP::fetch_device_values_type(EMSdevice::DeviceType::MIXER);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EMSESP::fetch_device_values(); // default if no name or id is given
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// mqtt publish
|
// mqtt publish
|
||||||
bool System::command_publish(const char * value, const int8_t id) {
|
bool System::command_publish(const char * value, const int8_t id) {
|
||||||
std::string ha(14, '\0');
|
std::string value_s(14, '\0');
|
||||||
if (Helpers::value2string(value, ha)) {
|
if (Helpers::value2string(value, value_s)) {
|
||||||
if (ha == "ha") {
|
if (value_s == "ha") {
|
||||||
EMSESP::publish_all(true); // includes HA
|
EMSESP::publish_all(true); // includes HA
|
||||||
LOG_INFO(F("Publishing all data to MQTT, including HA configs"));
|
LOG_INFO(F("Publishing all data to MQTT, including HA configs"));
|
||||||
return true;
|
return true;
|
||||||
} else if (ha == "boiler") {
|
} else if (value_s == "boiler") {
|
||||||
EMSESP::publish_device_values(EMSdevice::DeviceType::BOILER);
|
EMSESP::publish_device_values(EMSdevice::DeviceType::BOILER);
|
||||||
return true;
|
return true;
|
||||||
} else if (ha == "thermostat") {
|
} else if (value_s == "thermostat") {
|
||||||
EMSESP::publish_device_values(EMSdevice::DeviceType::THERMOSTAT);
|
EMSESP::publish_device_values(EMSdevice::DeviceType::THERMOSTAT);
|
||||||
return true;
|
return true;
|
||||||
} else if (ha == "solar") {
|
} else if (value_s == "solar") {
|
||||||
EMSESP::publish_device_values(EMSdevice::DeviceType::SOLAR);
|
EMSESP::publish_device_values(EMSdevice::DeviceType::SOLAR);
|
||||||
return true;
|
return true;
|
||||||
} else if (ha == "mixer") {
|
} else if (value_s == "mixer") {
|
||||||
EMSESP::publish_device_values(EMSdevice::DeviceType::MIXER);
|
EMSESP::publish_device_values(EMSdevice::DeviceType::MIXER);
|
||||||
return true;
|
return true;
|
||||||
} else if (ha == "other") {
|
} else if (value_s == "other") {
|
||||||
EMSESP::publish_other_values();
|
EMSESP::publish_other_values();
|
||||||
return true;
|
return true;
|
||||||
} else if (ha == "dallassensor") {
|
} else if (value_s == "dallassensor") {
|
||||||
EMSESP::publish_sensor_values(true);
|
EMSESP::publish_sensor_values(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -848,7 +868,7 @@ bool System::command_settings(const char * value, const int8_t id, JsonObject &
|
|||||||
node["dallas_parasite"] = settings.dallas_parasite;
|
node["dallas_parasite"] = settings.dallas_parasite;
|
||||||
node["led_gpio"] = settings.led_gpio;
|
node["led_gpio"] = settings.led_gpio;
|
||||||
node["hide_led"] = settings.hide_led;
|
node["hide_led"] = settings.hide_led;
|
||||||
node["api_enabled"] = settings.api_enabled;
|
node["notoken_api"] = settings.notoken_api;
|
||||||
node["analog_enabled"] = settings.analog_enabled;
|
node["analog_enabled"] = settings.analog_enabled;
|
||||||
node["pbutton_gpio"] = settings.pbutton_gpio;
|
node["pbutton_gpio"] = settings.pbutton_gpio;
|
||||||
node["board_profile"] = settings.board_profile;
|
node["board_profile"] = settings.board_profile;
|
||||||
|
|||||||
Reference in New Issue
Block a user