mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
fix for #828 - show thermostat hc1 and mixer wwc
This commit is contained in:
@@ -194,6 +194,11 @@ Thermostat::Thermostat(uint8_t device_type, uint8_t device_id, uint8_t product_i
|
||||
EMSESP::send_read_request(EMS_TYPE_RCTime, device_id);
|
||||
EMSESP::send_read_request(0x12, device_id); // read last error (only published on errors)
|
||||
EMSESP::send_read_request(0xA2, device_id); // read errorCode (only published on errors)
|
||||
|
||||
#if defined(EMSESP_STANDALONE_DUMP)
|
||||
// if we're just dumping out values, create a single dummy hc
|
||||
register_device_values_hc(std::make_shared<emsesp::Thermostat::HeatingCircuit>(1, 0)); // hc=1, no flags
|
||||
#endif
|
||||
}
|
||||
|
||||
// returns the heating circuit object based on the hc number
|
||||
|
||||
@@ -1067,6 +1067,10 @@ void EMSdevice::getCustomEntities(std::vector<std::string> & entity_ids) {
|
||||
// device name,device type,product_id,shortname,fullname,type [(enum values) | (min/max)],uom,writeable,discovery_entityid
|
||||
void EMSdevice::dump_value_info() {
|
||||
for (auto & dv : devicevalues_) {
|
||||
if (dv.fullname == nullptr) {
|
||||
break; // ignore entities that don't have a fullname, like the thermostat climate thingy
|
||||
}
|
||||
|
||||
Serial.print(name_);
|
||||
Serial.print(',');
|
||||
Serial.print(device_type_name().c_str());
|
||||
|
||||
@@ -63,7 +63,7 @@ DeviceValue::DeviceValue(uint8_t device_type,
|
||||
// set the min/max
|
||||
set_custom_minmax();
|
||||
|
||||
/*
|
||||
/*
|
||||
#ifdef EMSESP_STANDALONE
|
||||
// only added for debugging
|
||||
Serial.print(COLOR_BRIGHT_RED_BACKGROUND);
|
||||
|
||||
@@ -320,7 +320,14 @@ void EMSESP::dump_all_values(uuid::console::Shell & shell) {
|
||||
// go through each device type so they are sorted
|
||||
for (const auto & device : device_library_) {
|
||||
if (device_class.first == device.device_type) {
|
||||
emsdevices.push_back(EMSFactory::add(device.device_type, 0, device.product_id, "1.0", device.name, device.flags, EMSdevice::Brand::NO_BRAND));
|
||||
uint8_t device_id = 0;
|
||||
// Mixer class looks at device_id to determine type, so fixing to 0x28 which will give all the settings except flowSetTemp
|
||||
if ((device.device_type == DeviceType::MIXER) && (device.flags == EMSdevice::EMS_DEVICE_FLAG_MMPLUS)) {
|
||||
device_id = 0x28; // hard code
|
||||
}
|
||||
|
||||
emsdevices.push_back(
|
||||
EMSFactory::add(device.device_type, device_id, device.product_id, "1.0", device.name, device.flags, EMSdevice::Brand::NO_BRAND));
|
||||
emsdevices.back()->dump_value_info(); // dump all the entity information
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user