wip
This commit is contained in:
@@ -19,9 +19,9 @@ namespace esphome
|
||||
}
|
||||
}
|
||||
|
||||
void NimbleDeviceListener::set_address(std::string address) {
|
||||
void NimbleDeviceListener::set_addresses(std::vector<std::string> addresses) {
|
||||
this->match_by_ = MATCH_BY_ADDRESS;
|
||||
this->address_ = address;
|
||||
this->addresses_ = addresses;
|
||||
}
|
||||
|
||||
bool NimbleDeviceListener::parse_event(NimbleTrackerEvent *tracker_event)
|
||||
@@ -51,7 +51,9 @@ namespace esphome
|
||||
ESP_LOGD(TAG, "Found device %s", tracker_event->toString().c_str());
|
||||
auto address = tracker_event->getAddress().toString();
|
||||
|
||||
if (this->address_ == address) {
|
||||
auto &v = this->addresses_;
|
||||
|
||||
if(std::find(v.begin(), v.end(), address) != v.end()) {
|
||||
return this->update_state(tracker_event);
|
||||
} else {
|
||||
return false;
|
||||
|
@@ -14,7 +14,7 @@ namespace esphome
|
||||
public:
|
||||
bool parse_event(NimbleTrackerEvent *tracker_event);
|
||||
void set_irk(std::string irk_hex);
|
||||
void set_address(std::string address);
|
||||
void set_addresses(std::vector<std::string>);
|
||||
|
||||
protected:
|
||||
virtual bool update_state(NimbleTrackerEvent *tracker_event) = 0;
|
||||
@@ -27,7 +27,7 @@ namespace esphome
|
||||
MatchType match_by_;
|
||||
|
||||
uint8_t *irk_;
|
||||
std::string address_;
|
||||
std::vector<std::string> addresses_;
|
||||
};
|
||||
|
||||
} // namespace nimble_tracker
|
||||
|
Reference in New Issue
Block a user