ESPHome 2026.5.0-dev
Loading...
Searching...
No Matches
ble_server.h
Go to the documentation of this file.
1#pragma once
2#ifdef USE_ZEPHYR
4#include <zephyr/bluetooth/conn.h>
6
8
9class BLEServer : public Component {
10 public:
11 void setup() override;
12 void dump_config() override;
13 template<typename F> void add_passkey_callback(F &&callback) { this->passkey_cb_.add(std::forward<F>(callback)); }
14 void numeric_comparison_reply(bool accept);
15
16 protected:
17 static void connected(bt_conn *conn, uint8_t err);
18 static void disconnected(bt_conn *conn, uint8_t reason);
19 static void auth_passkey_confirm(bt_conn *conn, unsigned int passkey);
20 bt_conn *conn_{};
22};
23
24template<typename... Ts> class BLENumericComparisonReplyAction : public Action<Ts...> {
25 public:
26 explicit BLENumericComparisonReplyAction(BLEServer *parent) : parent_(parent) {}
27
28 TEMPLATABLE_VALUE(bool, accept)
29
30 void play(const Ts &...x) override { this->parent_->numeric_comparison_reply(this->accept_.value(x...)); }
31
32 protected:
34};
35
36} // namespace esphome::zephyr_ble_server
37#endif
virtual void play(const Ts &...x)=0
TEMPLATABLE_VALUE(bool, accept) void play(const Ts &...x) override
Definition ble_server.h:28
static void disconnected(bt_conn *conn, uint8_t reason)
CallbackManager< void(uint32_t)> passkey_cb_
Definition ble_server.h:21
void add_passkey_callback(F &&callback)
Definition ble_server.h:13
static void auth_passkey_confirm(bt_conn *conn, unsigned int passkey)
static void connected(bt_conn *conn, uint8_t err)
static void uint32_t
uint16_t x
Definition tt21100.cpp:5