This commit is contained in:
2023-12-03 22:19:57 +03:00
parent 121ca8f453
commit bc6f6402eb
22 changed files with 286 additions and 10 deletions

View File

@@ -0,0 +1,30 @@
import esphome.config_validation as cv
import esphome.codegen as cg
from esphome.const import (
CONF_ID,
)
DEPENDENCIES = ["esp32"]
# CONF_NIMBLE_ID = "esp32_nimble_tracker"
CONF_MY_REQUIRED_KEY = 'my_required_key'
CONF_MY_OPTIONAL_KEY = 'my_optional_key'
esp32_nimble_tracker_ns = cg.esphome_ns.namespace("esp32_nimble_tracker")
ESP32NimbleTracker = esp32_nimble_tracker_ns.class_(
"ESP32NimbleTracker", cg.Component
)
CONFIG_SCHEMA = cv.Schema({
cv.GenerateID(): cv.declare_id(ESP32NimbleTracker),
cv.Required(CONF_MY_REQUIRED_KEY): cv.string,
cv.Optional(CONF_MY_OPTIONAL_KEY, default=10): cv.int_,
}).extend(cv.COMPONENT_SCHEMA)
def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])
yield cg.register_component(var, config)
await nimble_tracker.device_listener_to_code(var, config)
await nimble_tracker.register_ble_device(var, config)

View File

@@ -0,0 +1,12 @@
#pragma once
#include "esphome/core/component.h"
#include "esphome/components/sensor/sensor.h"
namespace esphome
{
namespace esp32_nimble_tracker
{
class ESP32NimbleTracker : public Component {};
} // namespace esp32_nimble_tracker
} // namespace esphome