wip
This commit is contained in:
@@ -16,7 +16,7 @@ namespace esphome
|
||||
}
|
||||
int NimbleDistanceSensor::get_1m_rssi(nimble_tracker::NimbleTrackerEvent *tracker_event)
|
||||
{
|
||||
return this->ref_rssi_ + tracker_event->getTXPower();
|
||||
return this->ref_rssi_; //+ tracker_event->getTXPower() + 99;
|
||||
}
|
||||
|
||||
Filter::Filter(float fcmin, float beta, float dcutoff) : one_euro_{OneEuroFilter<float, unsigned long>(1, fcmin, beta, dcutoff)}
|
||||
|
@@ -50,7 +50,7 @@ namespace esphome
|
||||
Filter *filter_;
|
||||
int rssi_ = NO_RSSI, newest_ = NO_RSSI, recent_ = NO_RSSI, oldest_ = NO_RSSI;
|
||||
|
||||
int8_t ref_rssi_ = -65;
|
||||
int8_t ref_rssi_ = -75;
|
||||
float absorption_ = 3.5f;
|
||||
float last_reported_position_ = 0;
|
||||
int64_t last_reported_micro_seconds_ = 0;
|
||||
|
@@ -111,4 +111,4 @@ async def device_listener_to_code(var, config):
|
||||
if CONF_IRK in config:
|
||||
cg.add(var.set_irk(config[CONF_IRK]))
|
||||
if CONF_MAC in config:
|
||||
cg.add(var.set_irk(config[CONF_MAC]))
|
||||
cg.add(var.set_address(config[CONF_MAC]))
|
||||
|
@@ -26,6 +26,8 @@ namespace esphome
|
||||
|
||||
bool NimbleDeviceListener::parse_event(NimbleTrackerEvent *tracker_event)
|
||||
{
|
||||
// ESP_LOGD(TAG, "Found device %s", tracker_event->toString().c_str());
|
||||
ESP_LOGD(TAG, "%d", this->match_by_);
|
||||
if (this->match_by_ == MATCH_BY_IRK) {
|
||||
if (tracker_event->getAddressType() != BLE_ADDR_RANDOM)
|
||||
{
|
||||
@@ -44,15 +46,19 @@ namespace esphome
|
||||
{
|
||||
return false;
|
||||
}
|
||||
} else if (this->match_by_ == MATCH_BY_ADDRESS) {
|
||||
auto address = tracker_event->getAddress();
|
||||
}
|
||||
if (this->match_by_ == MATCH_BY_ADDRESS) {
|
||||
ESP_LOGD(TAG, "Found device %s", tracker_event->toString().c_str());
|
||||
auto address = tracker_event->getAddress().toString();
|
||||
|
||||
if (this.address_ == address) {
|
||||
if (this->address_ == address) {
|
||||
return this->update_state(tracker_event);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
} // namespace nimble_tracker
|
||||
|
||||
|
@@ -14,7 +14,7 @@ namespace esphome
|
||||
public:
|
||||
bool parse_event(NimbleTrackerEvent *tracker_event);
|
||||
void set_irk(std::string irk_hex);
|
||||
void set_address(std::stding address);
|
||||
void set_address(std::string address);
|
||||
|
||||
protected:
|
||||
virtual bool update_state(NimbleTrackerEvent *tracker_event) = 0;
|
||||
@@ -22,7 +22,7 @@ namespace esphome
|
||||
enum MatchType
|
||||
{
|
||||
MATCH_BY_IRK,
|
||||
MATCH_BY_ADDRESS;
|
||||
MATCH_BY_ADDRESS,
|
||||
};
|
||||
MatchType match_by_;
|
||||
|
||||
|
Reference in New Issue
Block a user