9 Commits

Author SHA1 Message Date
ae7e408b4e fix 2023-12-10 13:38:37 +03:00
7b3b746a1b fix 2023-12-10 13:37:46 +03:00
37989e25ae fix 2023-12-10 13:30:58 +03:00
922dbf98b9 fix 2023-12-10 13:21:11 +03:00
34089f1add fix 2023-12-10 13:20:21 +03:00
4c710f7a0a fix 2023-12-10 13:18:48 +03:00
b766c0ce04 fix 2023-12-10 13:16:42 +03:00
32fe442cce fix 2023-12-10 13:08:31 +03:00
61f58a5963 fix 2023-12-10 13:07:05 +03:00
4 changed files with 19 additions and 7 deletions

View File

@@ -443,17 +443,17 @@ bool BleFingerprint::fill(JsonObject *doc) {
(*doc)["rssi@1m"] = get1mRssi(); (*doc)["rssi@1m"] = get1mRssi();
(*doc)["rssi"] = rssi; (*doc)["rssi"] = rssi;
if (isnormal(raw)) (*doc)["raw"] = serialized(std::string(raw, 2)); if (isnormal(raw)) (*doc)["raw"] = serialized(std::to_string(raw));
if (isnormal(dist)) (*doc)["distance"] = serialized(std::string(dist, 2)); if (isnormal(dist)) (*doc)["distance"] = serialized(std::to_string(dist));
if (isnormal(vari)) (*doc)["var"] = serialized(std::string(vari, 2)); if (isnormal(vari)) (*doc)["var"] = serialized(std::to_string(vari));
if (close) (*doc)["close"] = true; if (close) (*doc)["close"] = true;
(*doc)["int"] = (millis() - firstSeenMillis) / seenCount; (*doc)["int"] = (millis() - firstSeenMillis) / seenCount;
if (mv) (*doc)["mV"] = mv; if (mv) (*doc)["mV"] = mv;
if (battery != 0xFF) (*doc)["batt"] = battery; if (battery != 0xFF) (*doc)["batt"] = battery;
if (temp) (*doc)["temp"] = serialized(std::string(temp, 1)); if (temp) (*doc)["temp"] = serialized(std::to_string(temp));
if (humidity) (*doc)["rh"] = serialized(std::string(humidity, 1)); if (humidity) (*doc)["rh"] = serialized(std::to_string(humidity));
return true; return true;
} }

View File

@@ -35,7 +35,7 @@ async def to_code(config):
cg.add(var.set_room(config[CONF_ROOM_KEY])) cg.add(var.set_room(config[CONF_ROOM_KEY]))
# cg.add(var.set_base_topic(config[CONF_BASE_TOPIC_KEY])) # cg.add(var.set_base_topic(config[CONF_BASE_TOPIC_KEY]))
# cg.add(var.set_addresses(config[CONF_MAC_KEY])) # cg.add(var.set_addresses(config[CONF_MAC_KEY]))
# cg.add(var.set_max_distance(config[CONF_MAX_DISTANCE])) cg.add(var.set_max_distance(config[CONF_MAX_DISTANCE]))
add_idf_sdkconfig_option("CONFIG_BT_ENABLED", True) add_idf_sdkconfig_option("CONFIG_BT_ENABLED", True)
add_idf_sdkconfig_option("CONFIG_BT_BLUEDROID_ENABLED", False) add_idf_sdkconfig_option("CONFIG_BT_BLUEDROID_ENABLED", False)

View File

@@ -69,11 +69,16 @@ namespace esphome
_id = slugify(room); _id = slugify(room);
roomsTopic = std::string(CHANNEL) + std::string("/rooms/") + _id; roomsTopic = std::string(CHANNEL) + std::string("/rooms/") + _id;
} }
void ESP32Presense::set_max_distance(float maxDistance) {
BleFingerprintCollection::maxDistance = maxDistance;
}
void ESP32Presense::setup() void ESP32Presense::setup()
{ {
BleFingerprintCollection::Setup(); BleFingerprintCollection::Setup();
xTaskCreatePinnedToCore(scanTask, "scanTask", SCAN_TASK_STACK_SIZE, nullptr, 1, &scanTaskHandle, CONFIG_BT_NIMBLE_PINNED_TO_CORE); xTaskCreatePinnedToCore(scanTask, "scanTask", SCAN_TASK_STACK_SIZE, nullptr, 1, &scanTaskHandle, CONFIG_BT_NIMBLE_PINNED_TO_CORE);
publishDevices = true;
} }
void ESP32Presense::loop() void ESP32Presense::loop()
@@ -108,13 +113,19 @@ namespace esphome
totalFpSeen++; totalFpSeen++;
} }
ESP_LOGD(TAG, "F %s", f->getAddress().toString().c_str());
if (f->hasReport()) { if (f->hasReport()) {
if (reportBuffer(f)) ESP_LOGD(TAG, "hasReport");
if (reportBuffer(f)) {
ESP_LOGD(TAG, "reportBuffer");
f->clearReport(); f->clearReport();
}
} }
if (this->reportDevice(f)) { if (this->reportDevice(f)) {
ESP_LOGD(TAG, "reportDevice");
totalFpReported++; totalFpReported++;
reported++; reported++;
} }

View File

@@ -34,6 +34,7 @@ namespace esphome
void set_room(std::string room); void set_room(std::string room);
bool reportBuffer(BleFingerprint *f); bool reportBuffer(BleFingerprint *f);
bool reportDevice(BleFingerprint *f); bool reportDevice(BleFingerprint *f);
void set_max_distance(float maxDistance);
//void set_base_topic(std::string base_topic) { base_topic_ = base_topic; } //void set_base_topic(std::string base_topic) { base_topic_ = base_topic; }
}; };
} // namespace esp32_nimble_tracker } // namespace esp32_nimble_tracker