ESPHome
2026.5.0-dev
Loading...
Searching...
No Matches
esphome
components
airthings_ble
airthings_listener.cpp
Go to the documentation of this file.
1
#include "
airthings_listener.h
"
2
#include "
esphome/core/log.h
"
3
#include <cinttypes>
4
5
#ifdef USE_ESP32
6
7
namespace
esphome
{
8
namespace
airthings_ble {
9
10
static
const
char
*
const
TAG =
"airthings_ble"
;
11
12
bool
AirthingsListener::parse_device
(
const
esp32_ble_tracker::ESPBTDevice
&device) {
13
for
(
auto
&it : device.
get_manufacturer_datas
()) {
14
if
(it.uuid == esp32_ble_tracker::ESPBTUUID::from_uint32(0x0334)) {
15
if
(it.data.size() < 4)
16
continue
;
17
18
uint32_t
sn = it.data[0];
19
sn |= ((
uint32_t
) it.data[1] << 8);
20
sn |= ((
uint32_t
) it.data[2] << 16);
21
sn |= ((
uint32_t
) it.data[3] << 24);
22
23
char
addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE];
24
ESP_LOGD(TAG,
"Found AirThings device Serial:%"
PRIu32
" (MAC: %s)"
, sn, device.
address_str_to
(addr_buf));
25
return
true
;
26
}
27
}
28
29
return
false
;
30
}
31
32
}
// namespace airthings_ble
33
}
// namespace esphome
34
35
#endif
airthings_listener.h
esphome::airthings_ble::AirthingsListener::parse_device
bool parse_device(const esp32_ble_tracker::ESPBTDevice &device) override
Definition
airthings_listener.cpp:12
esphome::esp32_ble_tracker::ESPBTDevice
Definition
esp32_ble_tracker.h:78
esphome::esp32_ble_tracker::ESPBTDevice::address_str_to
const char * address_str_to(std::span< char, MAC_ADDRESS_PRETTY_BUFFER_SIZE > buf) const
Format MAC address into provided buffer, returns pointer to buffer for convenience.
Definition
esp32_ble_tracker.h:85
esphome::esp32_ble_tracker::ESPBTDevice::get_manufacturer_datas
const std::vector< ServiceData > & get_manufacturer_datas() const
Definition
esp32_ble_tracker.h:104
log.h
esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition
a01nyub.cpp:7
uint32_t
static void uint32_t
Definition
crash_handler.cpp:141
Generated by
1.12.0