mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 16:29:51 +03:00
handle unknown devices
This commit is contained in:
@@ -695,18 +695,22 @@ bool EMSESP::add_device(const uint8_t device_id, const uint8_t product_id, std::
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we don't recognize the product ID report it, but don't add it.
|
// if we don't recognize the product ID report it and add as a generic device
|
||||||
if (device_p == nullptr) {
|
if (device_p == nullptr) {
|
||||||
LOG_NOTICE(F("Unrecognized EMS device (device ID 0x%02X, product ID %d). Please report on GitHub."), device_id, product_id);
|
LOG_NOTICE(F("Unrecognized EMS device (device ID 0x%02X, product ID %d). Please report on GitHub."), device_id, product_id);
|
||||||
|
// TODO here
|
||||||
|
std::string name("unknown");
|
||||||
|
emsdevices.push_back(
|
||||||
|
EMSFactory::add(DeviceType::GENERIC, device_id, product_id, version, name, DeviceFlags::EMS_DEVICE_FLAG_NONE, EMSdevice::Brand::NO_BRAND));
|
||||||
return false; // not found
|
return false; // not found
|
||||||
} else {
|
|
||||||
std::string name = uuid::read_flash_string(device_p->name);
|
|
||||||
emsdevices.push_back(EMSFactory::add(device_p->device_type, device_id, device_p->product_id, version, name, device_p->flags, brand));
|
|
||||||
emsdevices.back()->unique_id(++unique_id_count_);
|
|
||||||
LOG_DEBUG(F("Adding new device %s (device ID 0x%02X, product ID %d, version %s)"), name.c_str(), device_id, product_id, version.c_str());
|
|
||||||
fetch_device_values(device_id); // go and fetch its data,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string name = uuid::read_flash_string(device_p->name);
|
||||||
|
emsdevices.push_back(EMSFactory::add(device_p->device_type, device_id, device_p->product_id, version, name, device_p->flags, brand));
|
||||||
|
emsdevices.back()->unique_id(++unique_id_count_);
|
||||||
|
LOG_DEBUG(F("Adding new device %s (device ID 0x%02X, product ID %d, version %s)"), name.c_str(), device_id, product_id, version.c_str());
|
||||||
|
fetch_device_values(device_id); // go and fetch its data,
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user