mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
fix #390, fetching summer2_ids
This commit is contained in:
@@ -138,7 +138,7 @@ Thermostat::Thermostat(uint8_t device_type, uint8_t device_id, uint8_t product_i
|
|||||||
register_telegram_type(set_typeids[i], F("RC300Set"), false, MAKE_PF_CB(process_RC300Set));
|
register_telegram_type(set_typeids[i], F("RC300Set"), false, MAKE_PF_CB(process_RC300Set));
|
||||||
register_telegram_type(summer_typeids[i], F("RC300Summer"), false, MAKE_PF_CB(process_RC300Summer));
|
register_telegram_type(summer_typeids[i], F("RC300Summer"), false, MAKE_PF_CB(process_RC300Summer));
|
||||||
register_telegram_type(curve_typeids[i], F("RC300Curves"), false, MAKE_PF_CB(process_RC300Curve));
|
register_telegram_type(curve_typeids[i], F("RC300Curves"), false, MAKE_PF_CB(process_RC300Curve));
|
||||||
register_telegram_type(summer2_typeids[i], F("RC300Summer2"), true, MAKE_PF_CB(process_RC300Summer2));
|
register_telegram_type(summer2_typeids[i], F("RC300Summer2"), false, MAKE_PF_CB(process_RC300Summer2));
|
||||||
}
|
}
|
||||||
register_telegram_type(0x2F5, F("RC300WWmode"), true, MAKE_PF_CB(process_RC300WWmode));
|
register_telegram_type(0x2F5, F("RC300WWmode"), true, MAKE_PF_CB(process_RC300WWmode));
|
||||||
register_telegram_type(0x31B, F("RC300WWtemp"), true, MAKE_PF_CB(process_RC300WWtemp));
|
register_telegram_type(0x31B, F("RC300WWtemp"), true, MAKE_PF_CB(process_RC300WWtemp));
|
||||||
@@ -365,6 +365,9 @@ std::shared_ptr<Thermostat::HeatingCircuit> Thermostat::heating_circuit(std::sha
|
|||||||
if (timer2_typeids.size()) {
|
if (timer2_typeids.size()) {
|
||||||
toggle_fetch(timer2_typeids[hc_num - 1], toggle_);
|
toggle_fetch(timer2_typeids[hc_num - 1], toggle_);
|
||||||
}
|
}
|
||||||
|
if (summer2_typeids.size()) {
|
||||||
|
toggle_fetch(summer2_typeids[hc_num - 1], toggle_);
|
||||||
|
}
|
||||||
|
|
||||||
return new_hc; // return back point to new HC object
|
return new_hc; // return back point to new HC object
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -314,10 +314,10 @@ void EMSdevice::show_telegram_handlers(uuid::console::Shell & shell) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// list all the telegram type IDs for this device, outputting to a string (max size 200)
|
// list all the telegram type IDs for this device, outputting to a string (max size 200)
|
||||||
char * EMSdevice::show_telegram_handlers(char * result, uint8_t handlers) {
|
char * EMSdevice::show_telegram_handlers(char * result, const size_t len, const uint8_t handlers) {
|
||||||
uint8_t size = telegram_functions_.size();
|
uint8_t size = telegram_functions_.size();
|
||||||
|
|
||||||
strlcpy(result, "", 200);
|
strlcpy(result, "", len);
|
||||||
|
|
||||||
if (!size) {
|
if (!size) {
|
||||||
return result;
|
return result;
|
||||||
@@ -328,9 +328,9 @@ char * EMSdevice::show_telegram_handlers(char * result, uint8_t handlers) {
|
|||||||
if (handlers == Handlers::ALL || (handlers == Handlers::RECEIVED && tf.received_ && !tf.fetch_)
|
if (handlers == Handlers::ALL || (handlers == Handlers::RECEIVED && tf.received_ && !tf.fetch_)
|
||||||
|| (handlers == Handlers::FETCHED && tf.received_ && tf.fetch_) || (handlers == Handlers::PENDING && !tf.received_ && !tf.fetch_)) {
|
|| (handlers == Handlers::FETCHED && tf.received_ && tf.fetch_) || (handlers == Handlers::PENDING && !tf.received_ && !tf.fetch_)) {
|
||||||
if (i++ > 0) {
|
if (i++ > 0) {
|
||||||
strlcat(result, " ", 200);
|
strlcat(result, " ", len);
|
||||||
}
|
}
|
||||||
strlcat(result, Helpers::hextoa(tf.telegram_type_id_, true).c_str(), 200);
|
strlcat(result, Helpers::hextoa(tf.telegram_type_id_, true).c_str(), len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ class EMSdevice {
|
|||||||
enum Handlers : uint8_t { ALL, RECEIVED, FETCHED, PENDING };
|
enum Handlers : uint8_t { ALL, RECEIVED, FETCHED, PENDING };
|
||||||
|
|
||||||
void show_telegram_handlers(uuid::console::Shell & shell) const;
|
void show_telegram_handlers(uuid::console::Shell & shell) const;
|
||||||
char * show_telegram_handlers(char * result, uint8_t handlers);
|
char * show_telegram_handlers(char * result, const size_t len, const uint8_t handlers);
|
||||||
void show_mqtt_handlers(uuid::console::Shell & shell) const;
|
void show_mqtt_handlers(uuid::console::Shell & shell) const;
|
||||||
void list_device_entries(JsonObject & output) const;
|
void list_device_entries(JsonObject & output) const;
|
||||||
void exclude_entity(uint8_t entity_id);
|
void exclude_entity(uint8_t entity_id);
|
||||||
|
|||||||
@@ -1193,16 +1193,16 @@ bool System::command_info(const char * value, const int8_t id, JsonObject & outp
|
|||||||
obj["product id"] = emsdevice->product_id();
|
obj["product id"] = emsdevice->product_id();
|
||||||
obj["version"] = emsdevice->version();
|
obj["version"] = emsdevice->version();
|
||||||
obj["entities"] = emsdevice->count_entities();
|
obj["entities"] = emsdevice->count_entities();
|
||||||
char result[200];
|
char result[250];
|
||||||
(void)emsdevice->show_telegram_handlers(result, EMSdevice::Handlers::RECEIVED);
|
(void)emsdevice->show_telegram_handlers(result, sizeof(result), EMSdevice::Handlers::RECEIVED);
|
||||||
if (result[0] != '\0') {
|
if (result[0] != '\0') {
|
||||||
obj["handlers received"] = result; // don't show handlers if there aren't any
|
obj["handlers received"] = result; // don't show handlers if there aren't any
|
||||||
}
|
}
|
||||||
(void)emsdevice->show_telegram_handlers(result, EMSdevice::Handlers::FETCHED);
|
(void)emsdevice->show_telegram_handlers(result, sizeof(result), EMSdevice::Handlers::FETCHED);
|
||||||
if (result[0] != '\0') {
|
if (result[0] != '\0') {
|
||||||
obj["handlers fetched"] = result;
|
obj["handlers fetched"] = result;
|
||||||
}
|
}
|
||||||
(void)emsdevice->show_telegram_handlers(result, EMSdevice::Handlers::PENDING);
|
(void)emsdevice->show_telegram_handlers(result, sizeof(result), EMSdevice::Handlers::PENDING);
|
||||||
if (result[0] != '\0') {
|
if (result[0] != '\0') {
|
||||||
obj["handlers pending"] = result;
|
obj["handlers pending"] = result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user