esphome 2024.11.2__py3-none-any.whl → 2024.12.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +1 -1
- esphome/components/adc/adc_sensor.h +7 -8
- esphome/components/adc/adc_sensor_common.cpp +24 -0
- esphome/components/adc/{adc_sensor.cpp → adc_sensor_esp32.cpp} +10 -179
- esphome/components/adc/adc_sensor_esp8266.cpp +58 -0
- esphome/components/adc/adc_sensor_libretiny.cpp +48 -0
- esphome/components/adc/adc_sensor_rp2040.cpp +93 -0
- esphome/components/alarm_control_panel/alarm_control_panel_call.cpp +3 -4
- esphome/components/animation/__init__.py +1 -2
- esphome/components/apds9306/apds9306.cpp +2 -1
- esphome/components/audio/audio.h +1 -1
- esphome/components/bk72xx/__init__.py +1 -1
- esphome/components/cse7766/cse7766.cpp +1 -1
- esphome/components/datetime/datetime_entity.cpp +1 -3
- esphome/components/deep_sleep/deep_sleep_esp32.cpp +2 -2
- esphome/components/dht/dht.cpp +2 -1
- esphome/components/display/display.cpp +10 -6
- esphome/components/display/display.h +14 -0
- esphome/components/display_menu_base/__init__.py +0 -2
- esphome/components/display_menu_base/display_menu_base.cpp +1 -1
- esphome/components/dsmr/dsmr.cpp +1 -1
- esphome/components/esp32/__init__.py +100 -22
- esphome/components/esp32/boards.py +222 -14
- esphome/components/esp32_ble/__init__.py +22 -2
- esphome/components/esp32_ble/ble.cpp +39 -12
- esphome/components/esp32_ble/ble.h +2 -0
- esphome/components/esp32_ble/ble_advertising.cpp +1 -1
- esphome/components/esp32_ble/ble_uuid.cpp +9 -10
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +4 -1
- esphome/components/esp32_camera_web_server/camera_web_server.h +1 -1
- esphome/components/esp32_rmt_led_strip/light.py +3 -3
- esphome/components/esp8266/__init__.py +5 -7
- esphome/components/ezo/ezo.cpp +14 -26
- esphome/components/font/__init__.py +10 -25
- esphome/components/font/font.cpp +5 -3
- esphome/components/graphical_display_menu/__init__.py +2 -0
- esphome/components/haier/hon_climate.cpp +79 -80
- esphome/components/hbridge/switch/__init__.py +44 -0
- esphome/components/hbridge/switch/hbridge_switch.cpp +95 -0
- esphome/components/hbridge/switch/hbridge_switch.h +50 -0
- esphome/components/hitachi_ac344/hitachi_ac344.cpp +4 -2
- esphome/components/hitachi_ac424/hitachi_ac424.cpp +4 -2
- esphome/components/homeassistant/number/homeassistant_number.cpp +3 -0
- esphome/components/hx711/hx711.cpp +1 -1
- esphome/components/hx711/hx711.h +1 -1
- esphome/components/i2c/i2c_bus_esp_idf.cpp +2 -2
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +61 -59
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +8 -17
- esphome/components/ili9xxx/display.py +1 -2
- esphome/components/ili9xxx/ili9xxx_display.cpp +3 -2
- esphome/components/image/__init__.py +1 -2
- esphome/components/logger/logger.cpp +1 -1
- esphome/components/ltr501/ltr501.cpp +1 -1
- esphome/components/lvgl/defines.py +9 -2
- esphome/components/lvgl/lv_validation.py +8 -3
- esphome/components/lvgl/lvgl_esphome.cpp +1 -1
- esphome/components/lvgl/lvgl_esphome.h +19 -0
- esphome/components/lvgl/widgets/animimg.py +12 -17
- esphome/components/lvgl/widgets/img.py +1 -3
- esphome/components/lvgl/widgets/line.py +6 -0
- esphome/components/lvgl/widgets/msgbox.py +2 -1
- esphome/components/matrix_keypad/__init__.py +15 -3
- esphome/components/matrix_keypad/matrix_keypad.cpp +4 -0
- esphome/components/matrix_keypad/matrix_keypad.h +5 -0
- esphome/components/max31865/max31865.cpp +4 -2
- esphome/components/modbus_controller/modbus_controller.cpp +24 -24
- esphome/components/modbus_controller/modbus_controller.h +22 -22
- esphome/components/modbus_controller/number/modbus_number.cpp +8 -8
- esphome/components/modbus_controller/number/modbus_number.h +4 -4
- esphome/components/modbus_controller/output/modbus_output.cpp +7 -6
- esphome/components/modbus_controller/output/modbus_output.h +5 -5
- esphome/components/modbus_controller/select/modbus_select.cpp +4 -3
- esphome/components/modbus_controller/select/modbus_select.h +4 -4
- esphome/components/modbus_controller/switch/modbus_switch.cpp +5 -5
- esphome/components/modbus_controller/switch/modbus_switch.h +2 -2
- esphome/components/mqtt/__init__.py +4 -0
- esphome/components/mqtt/mqtt_alarm_control_panel.cpp +2 -5
- esphome/components/mqtt/mqtt_backend_esp32.cpp +3 -3
- esphome/components/mqtt/mqtt_client.cpp +4 -0
- esphome/components/mqtt/mqtt_client.h +6 -0
- esphome/components/mqtt/mqtt_climate.cpp +13 -3
- esphome/components/mqtt/mqtt_sensor.cpp +2 -0
- esphome/components/network/ip_address.h +1 -1
- esphome/components/nextion/__init__.py +2 -0
- esphome/components/nextion/automation.h +76 -0
- esphome/components/nextion/base_component.py +1 -0
- esphome/components/nextion/binary_sensor/__init__.py +43 -2
- esphome/components/nextion/display.py +15 -0
- esphome/components/nextion/nextion.cpp +8 -5
- esphome/components/nextion/nextion.h +7 -0
- esphome/components/nextion/nextion_upload_idf.cpp +2 -2
- esphome/components/nextion/sensor/__init__.py +38 -5
- esphome/components/nextion/switch/__init__.py +38 -2
- esphome/components/nextion/text_sensor/__init__.py +37 -2
- esphome/components/nfc/ndef_record.cpp +3 -3
- esphome/components/online_image/__init__.py +1 -0
- esphome/components/online_image/png_image.cpp +4 -0
- esphome/components/opentherm/hub.cpp +6 -7
- esphome/components/opentherm/opentherm.cpp +18 -34
- esphome/components/opentherm/opentherm.h +4 -5
- esphome/components/ota/automation.h +1 -1
- esphome/components/output/float_output.cpp +1 -1
- esphome/components/pca6416a/pca6416a.cpp +5 -3
- esphome/components/pca9554/pca9554.cpp +4 -4
- esphome/components/pipsolar/pipsolar.cpp +2 -2
- esphome/components/pipsolar/switch/pipsolar_switch.cpp +2 -2
- esphome/components/pn532/pn532_mifare_ultralight.cpp +2 -2
- esphome/components/pn7150/pn7150_mifare_ultralight.cpp +2 -2
- esphome/components/pn7160/pn7160_mifare_ultralight.cpp +2 -2
- esphome/components/qmc5883l/qmc5883l.cpp +45 -19
- esphome/components/qmc5883l/qmc5883l.h +1 -1
- esphome/components/qspi_dbi/qspi_dbi.cpp +2 -1
- esphome/components/remote_base/raw_protocol.cpp +1 -1
- esphome/components/remote_receiver/__init__.py +5 -6
- esphome/components/rotary_encoder/rotary_encoder.cpp +3 -1
- esphome/components/rp2040/__init__.py +1 -1
- esphome/components/rtl87xx/__init__.py +1 -1
- esphome/components/safe_mode/automation.h +1 -1
- esphome/components/seeed_mr60bha2/__init__.py +41 -0
- esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +173 -0
- esphome/components/seeed_mr60bha2/seeed_mr60bha2.h +61 -0
- esphome/components/seeed_mr60bha2/sensor.py +57 -0
- esphome/components/seeed_mr60fda2/__init__.py +41 -0
- esphome/components/seeed_mr60fda2/binary_sensor.py +33 -0
- esphome/components/seeed_mr60fda2/button/__init__.py +45 -0
- esphome/components/seeed_mr60fda2/button/get_radar_parameters_button.cpp +9 -0
- esphome/components/seeed_mr60fda2/button/get_radar_parameters_button.h +18 -0
- esphome/components/seeed_mr60fda2/button/reset_radar_button.cpp +9 -0
- esphome/components/seeed_mr60fda2/button/reset_radar_button.h +18 -0
- esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +368 -0
- esphome/components/seeed_mr60fda2/seeed_mr60fda2.h +101 -0
- esphome/components/seeed_mr60fda2/select/__init__.py +59 -0
- esphome/components/seeed_mr60fda2/select/height_threshold_select.cpp +15 -0
- esphome/components/seeed_mr60fda2/select/height_threshold_select.h +18 -0
- esphome/components/seeed_mr60fda2/select/install_height_select.cpp +15 -0
- esphome/components/seeed_mr60fda2/select/install_height_select.h +18 -0
- esphome/components/seeed_mr60fda2/select/sensitivity_select.cpp +15 -0
- esphome/components/seeed_mr60fda2/select/sensitivity_select.h +18 -0
- esphome/components/sen5x/sensor.py +5 -6
- esphome/components/sgp30/sensor.py +8 -9
- esphome/components/sgp30/sgp30.cpp +2 -6
- esphome/components/shelly_dimmer/shelly_dimmer.cpp +1 -1
- esphome/components/sim800l/sim800l.cpp +1 -1
- esphome/components/sntp/sntp_component.cpp +14 -20
- esphome/components/sntp/sntp_component.h +6 -9
- esphome/components/sntp/time.py +4 -7
- esphome/components/sprinkler/sprinkler.cpp +2 -2
- esphome/components/st7735/st7735.cpp +1 -1
- esphome/components/st7789v/st7789v.cpp +1 -1
- esphome/components/st7920/st7920.cpp +2 -3
- esphome/components/stepper/stepper.h +0 -1
- esphome/components/sun_gtil2/sun_gtil2.cpp +1 -1
- esphome/components/switch/binary_sensor/__init__.py +31 -0
- esphome/components/switch/binary_sensor/switch_binary_sensor.cpp +17 -0
- esphome/components/switch/binary_sensor/switch_binary_sensor.h +22 -0
- esphome/components/sx1509/sx1509_gpio_pin.cpp +2 -1
- esphome/components/sx1509/sx1509_gpio_pin.h +5 -5
- esphome/components/uart/uart.h +1 -1
- esphome/components/udp/udp_component.cpp +32 -16
- esphome/components/ufire_ec/sensor.py +4 -4
- esphome/components/uln2003/uln2003.cpp +4 -1
- esphome/components/waveshare_epaper/display.py +8 -0
- esphome/components/waveshare_epaper/waveshare_epaper.cpp +191 -0
- esphome/components/waveshare_epaper/waveshare_epaper.h +56 -0
- esphome/components/wiegand/__init__.py +3 -4
- esphome/components/wifi/__init__.py +42 -0
- esphome/components/wifi/wifi_component.cpp +2 -2
- esphome/components/wifi/wifi_component.h +82 -1
- esphome/components/wifi/wifi_component_esp32_arduino.cpp +1 -1
- esphome/components/wifi/wifi_component_esp8266.cpp +1 -1
- esphome/components/wifi/wifi_component_esp_idf.cpp +1 -1
- esphome/components/wifi/wifi_component_libretiny.cpp +1 -1
- esphome/components/wifi/wifi_component_pico_w.cpp +1 -1
- esphome/components/wireguard/wireguard.cpp +2 -2
- esphome/components/xiaomi_ble/xiaomi_ble.cpp +1 -1
- esphome/config_validation.py +15 -11
- esphome/const.py +11 -1
- esphome/core/component.cpp +1 -1
- esphome/core/config.py +1 -2
- esphome/core/defines.h +3 -1
- esphome/core/helpers.cpp +20 -2
- esphome/core/helpers.h +10 -1
- esphome/core/optional.h +2 -2
- esphome/core/time.cpp +19 -15
- esphome/core/time.h +1 -3
- esphome/dashboard/web_server.py +6 -0
- {esphome-2024.11.2.dist-info → esphome-2024.12.0.dist-info}/METADATA +4 -4
- {esphome-2024.11.2.dist-info → esphome-2024.12.0.dist-info}/RECORD +192 -162
- {esphome-2024.11.2.dist-info → esphome-2024.12.0.dist-info}/LICENSE +0 -0
- {esphome-2024.11.2.dist-info → esphome-2024.12.0.dist-info}/WHEEL +0 -0
- {esphome-2024.11.2.dist-info → esphome-2024.12.0.dist-info}/entry_points.txt +0 -0
- {esphome-2024.11.2.dist-info → esphome-2024.12.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,12 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import (
|
2
|
+
VARIANT_ESP32,
|
3
|
+
VARIANT_ESP32C2,
|
4
|
+
VARIANT_ESP32C3,
|
5
|
+
VARIANT_ESP32C6,
|
6
|
+
VARIANT_ESP32H2,
|
7
|
+
VARIANT_ESP32S2,
|
8
|
+
VARIANT_ESP32S3,
|
9
|
+
)
|
2
10
|
|
3
11
|
ESP32_BASE_PINS = {
|
4
12
|
"TX": 1,
|
@@ -1344,6 +1352,26 @@ done | sort
|
|
1344
1352
|
"""
|
1345
1353
|
|
1346
1354
|
BOARDS = {
|
1355
|
+
"4d_systems_esp32s3_gen4_r8n16": {
|
1356
|
+
"name": "4D Systems GEN4-ESP32 16MB (ESP32S3-R8N16)",
|
1357
|
+
"variant": VARIANT_ESP32S3,
|
1358
|
+
},
|
1359
|
+
"adafruit_camera_esp32s3": {
|
1360
|
+
"name": "Adafruit pyCamera S3",
|
1361
|
+
"variant": VARIANT_ESP32S3,
|
1362
|
+
},
|
1363
|
+
"adafruit_feather_esp32c6": {
|
1364
|
+
"name": "Adafruit Feather ESP32-C6",
|
1365
|
+
"variant": VARIANT_ESP32C6,
|
1366
|
+
},
|
1367
|
+
"adafruit_feather_esp32s2": {
|
1368
|
+
"name": "Adafruit Feather ESP32-S2",
|
1369
|
+
"variant": VARIANT_ESP32S2,
|
1370
|
+
},
|
1371
|
+
"adafruit_feather_esp32s2_reversetft": {
|
1372
|
+
"name": "Adafruit Feather ESP32-S2 Reverse TFT",
|
1373
|
+
"variant": VARIANT_ESP32S2,
|
1374
|
+
},
|
1347
1375
|
"adafruit_feather_esp32s2_tft": {
|
1348
1376
|
"name": "Adafruit Feather ESP32-S2 TFT",
|
1349
1377
|
"variant": VARIANT_ESP32S2,
|
@@ -1356,6 +1384,10 @@ BOARDS = {
|
|
1356
1384
|
"name": "Adafruit Feather ESP32-S3 No PSRAM",
|
1357
1385
|
"variant": VARIANT_ESP32S3,
|
1358
1386
|
},
|
1387
|
+
"adafruit_feather_esp32s3_reversetft": {
|
1388
|
+
"name": "Adafruit Feather ESP32-S3 Reverse TFT",
|
1389
|
+
"variant": VARIANT_ESP32S3,
|
1390
|
+
},
|
1359
1391
|
"adafruit_feather_esp32s3_tft": {
|
1360
1392
|
"name": "Adafruit Feather ESP32-S3 TFT",
|
1361
1393
|
"variant": VARIANT_ESP32S3,
|
@@ -1376,10 +1408,18 @@ BOARDS = {
|
|
1376
1408
|
"name": "Adafruit MagTag 2.9",
|
1377
1409
|
"variant": VARIANT_ESP32S2,
|
1378
1410
|
},
|
1411
|
+
"adafruit_matrixportal_esp32s3": {
|
1412
|
+
"name": "Adafruit MatrixPortal ESP32-S3",
|
1413
|
+
"variant": VARIANT_ESP32S3,
|
1414
|
+
},
|
1379
1415
|
"adafruit_metro_esp32s2": {
|
1380
1416
|
"name": "Adafruit Metro ESP32-S2",
|
1381
1417
|
"variant": VARIANT_ESP32S2,
|
1382
1418
|
},
|
1419
|
+
"adafruit_metro_esp32s3": {
|
1420
|
+
"name": "Adafruit Metro ESP32-S3",
|
1421
|
+
"variant": VARIANT_ESP32S3,
|
1422
|
+
},
|
1383
1423
|
"adafruit_qtpy_esp32c3": {
|
1384
1424
|
"name": "Adafruit QT Py ESP32-C3",
|
1385
1425
|
"variant": VARIANT_ESP32C3,
|
@@ -1392,10 +1432,18 @@ BOARDS = {
|
|
1392
1432
|
"name": "Adafruit QT Py ESP32-S2",
|
1393
1433
|
"variant": VARIANT_ESP32S2,
|
1394
1434
|
},
|
1435
|
+
"adafruit_qtpy_esp32s3_n4r2": {
|
1436
|
+
"name": "Adafruit QT Py ESP32-S3 (4M Flash 2M PSRAM)",
|
1437
|
+
"variant": VARIANT_ESP32S3,
|
1438
|
+
},
|
1395
1439
|
"adafruit_qtpy_esp32s3_nopsram": {
|
1396
1440
|
"name": "Adafruit QT Py ESP32-S3 No PSRAM",
|
1397
1441
|
"variant": VARIANT_ESP32S3,
|
1398
1442
|
},
|
1443
|
+
"adafruit_qualia_s3_rgb666": {
|
1444
|
+
"name": "Adafruit Qualia ESP32-S3 RGB666",
|
1445
|
+
"variant": VARIANT_ESP32S3,
|
1446
|
+
},
|
1399
1447
|
"airm2m_core_esp32c3": {
|
1400
1448
|
"name": "AirM2M CORE ESP32C3",
|
1401
1449
|
"variant": VARIANT_ESP32C3,
|
@@ -1404,14 +1452,30 @@ BOARDS = {
|
|
1404
1452
|
"name": "ALKS ESP32",
|
1405
1453
|
"variant": VARIANT_ESP32,
|
1406
1454
|
},
|
1455
|
+
"arduino_nano_esp32": {
|
1456
|
+
"name": "Arduino Nano ESP32",
|
1457
|
+
"variant": VARIANT_ESP32S3,
|
1458
|
+
},
|
1459
|
+
"atd147_s3": {
|
1460
|
+
"name": "ArtronShop ATD1.47-S3",
|
1461
|
+
"variant": VARIANT_ESP32S3,
|
1462
|
+
},
|
1407
1463
|
"atmegazero_esp32s2": {
|
1408
1464
|
"name": "EspinalLab ATMegaZero ESP32-S2",
|
1409
1465
|
"variant": VARIANT_ESP32S2,
|
1410
1466
|
},
|
1467
|
+
"aventen_s3_sync": {
|
1468
|
+
"name": "Aventen S3 Sync",
|
1469
|
+
"variant": VARIANT_ESP32S3,
|
1470
|
+
},
|
1411
1471
|
"az-delivery-devkit-v4": {
|
1412
1472
|
"name": "AZ-Delivery ESP-32 Dev Kit C V4",
|
1413
1473
|
"variant": VARIANT_ESP32,
|
1414
1474
|
},
|
1475
|
+
"bee_data_logger": {
|
1476
|
+
"name": "Smart Bee Data Logger",
|
1477
|
+
"variant": VARIANT_ESP32S3,
|
1478
|
+
},
|
1415
1479
|
"bee_motion_mini": {
|
1416
1480
|
"name": "Smart Bee Motion Mini",
|
1417
1481
|
"variant": VARIANT_ESP32C3,
|
@@ -1436,14 +1500,6 @@ BOARDS = {
|
|
1436
1500
|
"name": "BPI-Leaf-S3",
|
1437
1501
|
"variant": VARIANT_ESP32S3,
|
1438
1502
|
},
|
1439
|
-
"briki_abc_esp32": {
|
1440
|
-
"name": "Briki ABC (MBC-WB) - ESP32",
|
1441
|
-
"variant": VARIANT_ESP32,
|
1442
|
-
},
|
1443
|
-
"briki_mbc-wb_esp32": {
|
1444
|
-
"name": "Briki MBC-WB - ESP32",
|
1445
|
-
"variant": VARIANT_ESP32,
|
1446
|
-
},
|
1447
1503
|
"cnrs_aw2eth": {
|
1448
1504
|
"name": "CNRS AW2ETH",
|
1449
1505
|
"variant": VARIANT_ESP32,
|
@@ -1496,18 +1552,38 @@ BOARDS = {
|
|
1496
1552
|
"name": "DFRobot Beetle ESP32-C3",
|
1497
1553
|
"variant": VARIANT_ESP32C3,
|
1498
1554
|
},
|
1555
|
+
"dfrobot_firebeetle2_esp32e": {
|
1556
|
+
"name": "DFRobot Firebeetle 2 ESP32-E",
|
1557
|
+
"variant": VARIANT_ESP32,
|
1558
|
+
},
|
1499
1559
|
"dfrobot_firebeetle2_esp32s3": {
|
1500
1560
|
"name": "DFRobot Firebeetle 2 ESP32-S3",
|
1501
1561
|
"variant": VARIANT_ESP32S3,
|
1502
1562
|
},
|
1563
|
+
"dfrobot_romeo_esp32s3": {
|
1564
|
+
"name": "DFRobot Romeo ESP32-S3",
|
1565
|
+
"variant": VARIANT_ESP32S3,
|
1566
|
+
},
|
1503
1567
|
"dpu_esp32": {
|
1504
1568
|
"name": "TAMC DPU ESP32",
|
1505
1569
|
"variant": VARIANT_ESP32,
|
1506
1570
|
},
|
1571
|
+
"edgebox-esp-100": {
|
1572
|
+
"name": "Seeed Studio Edgebox-ESP-100",
|
1573
|
+
"variant": VARIANT_ESP32S3,
|
1574
|
+
},
|
1507
1575
|
"esp320": {
|
1508
1576
|
"name": "Electronic SweetPeas ESP320",
|
1509
1577
|
"variant": VARIANT_ESP32,
|
1510
1578
|
},
|
1579
|
+
"esp32-c2-devkitm-1": {
|
1580
|
+
"name": "Espressif ESP32-C2-DevKitM-1",
|
1581
|
+
"variant": VARIANT_ESP32C2,
|
1582
|
+
},
|
1583
|
+
"esp32-c3-devkitc-02": {
|
1584
|
+
"name": "Espressif ESP32-C3-DevKitC-02",
|
1585
|
+
"variant": VARIANT_ESP32C3,
|
1586
|
+
},
|
1511
1587
|
"esp32-c3-devkitm-1": {
|
1512
1588
|
"name": "Espressif ESP32-C3-DevKitM-1",
|
1513
1589
|
"variant": VARIANT_ESP32C3,
|
@@ -1516,6 +1592,14 @@ BOARDS = {
|
|
1516
1592
|
"name": "Ai-Thinker ESP-C3-M1-I-Kit",
|
1517
1593
|
"variant": VARIANT_ESP32C3,
|
1518
1594
|
},
|
1595
|
+
"esp32-c6-devkitc-1": {
|
1596
|
+
"name": "Espressif ESP32-C6-DevKitC-1",
|
1597
|
+
"variant": VARIANT_ESP32C6,
|
1598
|
+
},
|
1599
|
+
"esp32-c6-devkitm-1": {
|
1600
|
+
"name": "Espressif ESP32-C6-DevKitM-1",
|
1601
|
+
"variant": VARIANT_ESP32C6,
|
1602
|
+
},
|
1519
1603
|
"esp32cam": {
|
1520
1604
|
"name": "AI Thinker ESP32-CAM",
|
1521
1605
|
"variant": VARIANT_ESP32,
|
@@ -1544,6 +1628,14 @@ BOARDS = {
|
|
1544
1628
|
"name": "OLIMEX ESP32-GATEWAY",
|
1545
1629
|
"variant": VARIANT_ESP32,
|
1546
1630
|
},
|
1631
|
+
"esp32-h2-devkitm-1": {
|
1632
|
+
"name": "Espressif ESP32-H2-DevKit",
|
1633
|
+
"variant": VARIANT_ESP32H2,
|
1634
|
+
},
|
1635
|
+
"esp32-pico-devkitm-2": {
|
1636
|
+
"name": "Espressif ESP32-PICO-DevKitM-2",
|
1637
|
+
"variant": VARIANT_ESP32,
|
1638
|
+
},
|
1547
1639
|
"esp32-poe-iso": {
|
1548
1640
|
"name": "OLIMEX ESP32-PoE-ISO",
|
1549
1641
|
"variant": VARIANT_ESP32,
|
@@ -1580,10 +1672,22 @@ BOARDS = {
|
|
1580
1672
|
"name": "Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)",
|
1581
1673
|
"variant": VARIANT_ESP32S3,
|
1582
1674
|
},
|
1583
|
-
"esp32-s3-
|
1584
|
-
"name": "Espressif ESP32-S3-
|
1675
|
+
"esp32-s3-devkitm-1": {
|
1676
|
+
"name": "Espressif ESP32-S3-DevKitM-1",
|
1585
1677
|
"variant": VARIANT_ESP32S3,
|
1586
1678
|
},
|
1679
|
+
"esp32s3_powerfeather": {
|
1680
|
+
"name": "ESP32-S3 PowerFeather",
|
1681
|
+
"variant": VARIANT_ESP32S3,
|
1682
|
+
},
|
1683
|
+
"esp32s3usbotg": {
|
1684
|
+
"name": "Espressif ESP32-S3-USB-OTG",
|
1685
|
+
"variant": VARIANT_ESP32S3,
|
1686
|
+
},
|
1687
|
+
"esp32-solo1": {
|
1688
|
+
"name": "Espressif Generic ESP32-solo1 4M Flash",
|
1689
|
+
"variant": VARIANT_ESP32,
|
1690
|
+
},
|
1587
1691
|
"esp32thing": {
|
1588
1692
|
"name": "SparkFun ESP32 Thing",
|
1589
1693
|
"variant": VARIANT_ESP32,
|
@@ -1652,9 +1756,9 @@ BOARDS = {
|
|
1652
1756
|
"name": "Heltec WiFi Kit 32",
|
1653
1757
|
"variant": VARIANT_ESP32,
|
1654
1758
|
},
|
1655
|
-
"
|
1656
|
-
"name": "Heltec WiFi Kit 32 (
|
1657
|
-
"variant":
|
1759
|
+
"heltec_wifi_kit_32_V3": {
|
1760
|
+
"name": "Heltec WiFi Kit 32 (V3)",
|
1761
|
+
"variant": VARIANT_ESP32S3,
|
1658
1762
|
},
|
1659
1763
|
"heltec_wifi_lora_32": {
|
1660
1764
|
"name": "Heltec WiFi LoRa 32",
|
@@ -1664,6 +1768,10 @@ BOARDS = {
|
|
1664
1768
|
"name": "Heltec WiFi LoRa 32 (V2)",
|
1665
1769
|
"variant": VARIANT_ESP32,
|
1666
1770
|
},
|
1771
|
+
"heltec_wifi_lora_32_V3": {
|
1772
|
+
"name": "Heltec WiFi LoRa 32 (V3)",
|
1773
|
+
"variant": VARIANT_ESP32S3,
|
1774
|
+
},
|
1667
1775
|
"heltec_wireless_stick_lite": {
|
1668
1776
|
"name": "Heltec Wireless Stick Lite",
|
1669
1777
|
"variant": VARIANT_ESP32,
|
@@ -1708,6 +1816,14 @@ BOARDS = {
|
|
1708
1816
|
"name": "oddWires IoT-Bus Proteus",
|
1709
1817
|
"variant": VARIANT_ESP32,
|
1710
1818
|
},
|
1819
|
+
"ioxesp32": {
|
1820
|
+
"name": "ArtronShop IOXESP32",
|
1821
|
+
"variant": VARIANT_ESP32,
|
1822
|
+
},
|
1823
|
+
"ioxesp32ps": {
|
1824
|
+
"name": "ArtronShop IOXESP32PS",
|
1825
|
+
"variant": VARIANT_ESP32,
|
1826
|
+
},
|
1711
1827
|
"kb32-ft": {
|
1712
1828
|
"name": "MakerAsia KB32-FT",
|
1713
1829
|
"variant": VARIANT_ESP32,
|
@@ -1720,10 +1836,26 @@ BOARDS = {
|
|
1720
1836
|
"name": "Labplus mPython",
|
1721
1837
|
"variant": VARIANT_ESP32,
|
1722
1838
|
},
|
1839
|
+
"lilka_v2": {
|
1840
|
+
"name": "Lilka v2",
|
1841
|
+
"variant": VARIANT_ESP32S3,
|
1842
|
+
},
|
1843
|
+
"lilygo-t-display": {
|
1844
|
+
"name": "LilyGo T-Display",
|
1845
|
+
"variant": VARIANT_ESP32,
|
1846
|
+
},
|
1847
|
+
"lilygo-t-display-s3": {
|
1848
|
+
"name": "LilyGo T-Display-S3",
|
1849
|
+
"variant": VARIANT_ESP32S3,
|
1850
|
+
},
|
1723
1851
|
"lionbit": {
|
1724
1852
|
"name": "Lion:Bit Dev Board",
|
1725
1853
|
"variant": VARIANT_ESP32,
|
1726
1854
|
},
|
1855
|
+
"lionbits3": {
|
1856
|
+
"name": "Lion:Bit S3 STEM Dev Board",
|
1857
|
+
"variant": VARIANT_ESP32S3,
|
1858
|
+
},
|
1727
1859
|
"lolin32_lite": {
|
1728
1860
|
"name": "WEMOS LOLIN32 Lite",
|
1729
1861
|
"variant": VARIANT_ESP32,
|
@@ -1752,10 +1884,18 @@ BOARDS = {
|
|
1752
1884
|
"name": "WEMOS LOLIN S2 PICO",
|
1753
1885
|
"variant": VARIANT_ESP32S2,
|
1754
1886
|
},
|
1887
|
+
"lolin_s3_mini": {
|
1888
|
+
"name": "WEMOS LOLIN S3 Mini",
|
1889
|
+
"variant": VARIANT_ESP32S3,
|
1890
|
+
},
|
1755
1891
|
"lolin_s3": {
|
1756
1892
|
"name": "WEMOS LOLIN S3",
|
1757
1893
|
"variant": VARIANT_ESP32S3,
|
1758
1894
|
},
|
1895
|
+
"lolin_s3_pro": {
|
1896
|
+
"name": "WEMOS LOLIN S3 PRO",
|
1897
|
+
"variant": VARIANT_ESP32S3,
|
1898
|
+
},
|
1759
1899
|
"lopy4": {
|
1760
1900
|
"name": "Pycom LoPy4",
|
1761
1901
|
"variant": VARIANT_ESP32,
|
@@ -1768,10 +1908,18 @@ BOARDS = {
|
|
1768
1908
|
"name": "M5Stack-ATOM",
|
1769
1909
|
"variant": VARIANT_ESP32,
|
1770
1910
|
},
|
1911
|
+
"m5stack-atoms3": {
|
1912
|
+
"name": "M5Stack AtomS3",
|
1913
|
+
"variant": VARIANT_ESP32S3,
|
1914
|
+
},
|
1771
1915
|
"m5stack-core2": {
|
1772
1916
|
"name": "M5Stack Core2",
|
1773
1917
|
"variant": VARIANT_ESP32,
|
1774
1918
|
},
|
1919
|
+
"m5stack-core-esp32-16M": {
|
1920
|
+
"name": "M5Stack Core ESP32 16M",
|
1921
|
+
"variant": VARIANT_ESP32,
|
1922
|
+
},
|
1775
1923
|
"m5stack-core-esp32": {
|
1776
1924
|
"name": "M5Stack Core ESP32",
|
1777
1925
|
"variant": VARIANT_ESP32,
|
@@ -1780,6 +1928,10 @@ BOARDS = {
|
|
1780
1928
|
"name": "M5Stack-Core Ink",
|
1781
1929
|
"variant": VARIANT_ESP32,
|
1782
1930
|
},
|
1931
|
+
"m5stack-cores3": {
|
1932
|
+
"name": "M5Stack CoreS3",
|
1933
|
+
"variant": VARIANT_ESP32S3,
|
1934
|
+
},
|
1783
1935
|
"m5stack-fire": {
|
1784
1936
|
"name": "M5Stack FIRE",
|
1785
1937
|
"variant": VARIANT_ESP32,
|
@@ -1788,6 +1940,14 @@ BOARDS = {
|
|
1788
1940
|
"name": "M5Stack GREY ESP32",
|
1789
1941
|
"variant": VARIANT_ESP32,
|
1790
1942
|
},
|
1943
|
+
"m5stack_paper": {
|
1944
|
+
"name": "M5Stack Paper",
|
1945
|
+
"variant": VARIANT_ESP32,
|
1946
|
+
},
|
1947
|
+
"m5stack-stamps3": {
|
1948
|
+
"name": "M5Stack StampS3",
|
1949
|
+
"variant": VARIANT_ESP32S3,
|
1950
|
+
},
|
1791
1951
|
"m5stack-station": {
|
1792
1952
|
"name": "M5Stack Station",
|
1793
1953
|
"variant": VARIANT_ESP32,
|
@@ -1796,6 +1956,10 @@ BOARDS = {
|
|
1796
1956
|
"name": "M5Stack Timer CAM",
|
1797
1957
|
"variant": VARIANT_ESP32,
|
1798
1958
|
},
|
1959
|
+
"m5stamp-pico": {
|
1960
|
+
"name": "M5Stamp-Pico",
|
1961
|
+
"variant": VARIANT_ESP32,
|
1962
|
+
},
|
1799
1963
|
"m5stick-c": {
|
1800
1964
|
"name": "M5Stick-C",
|
1801
1965
|
"variant": VARIANT_ESP32,
|
@@ -1832,10 +1996,26 @@ BOARDS = {
|
|
1832
1996
|
"name": "Deparment of Alchemy MiniMain ESP32-S2",
|
1833
1997
|
"variant": VARIANT_ESP32S2,
|
1834
1998
|
},
|
1999
|
+
"motorgo_mini_1": {
|
2000
|
+
"name": "MotorGo Mini 1 (ESP32-S3)",
|
2001
|
+
"variant": VARIANT_ESP32S3,
|
2002
|
+
},
|
2003
|
+
"namino_arancio": {
|
2004
|
+
"name": "Namino Arancio",
|
2005
|
+
"variant": VARIANT_ESP32S3,
|
2006
|
+
},
|
2007
|
+
"namino_rosso": {
|
2008
|
+
"name": "Namino Rosso",
|
2009
|
+
"variant": VARIANT_ESP32S3,
|
2010
|
+
},
|
1835
2011
|
"nano32": {
|
1836
2012
|
"name": "MakerAsia Nano32",
|
1837
2013
|
"variant": VARIANT_ESP32,
|
1838
2014
|
},
|
2015
|
+
"nebulas3": {
|
2016
|
+
"name": "Kinetic Dynamics Nebula S3",
|
2017
|
+
"variant": VARIANT_ESP32S3,
|
2018
|
+
},
|
1839
2019
|
"nina_w10": {
|
1840
2020
|
"name": "u-blox NINA-W10 series",
|
1841
2021
|
"variant": VARIANT_ESP32,
|
@@ -1896,10 +2076,22 @@ BOARDS = {
|
|
1896
2076
|
"name": "Munich Labs RedPill ESP32-S3",
|
1897
2077
|
"variant": VARIANT_ESP32S3,
|
1898
2078
|
},
|
2079
|
+
"roboheart_hercules": {
|
2080
|
+
"name": "RoboHeart Hercules",
|
2081
|
+
"variant": VARIANT_ESP32,
|
2082
|
+
},
|
1899
2083
|
"seeed_xiao_esp32c3": {
|
1900
2084
|
"name": "Seeed Studio XIAO ESP32C3",
|
1901
2085
|
"variant": VARIANT_ESP32C3,
|
1902
2086
|
},
|
2087
|
+
"seeed_xiao_esp32s3": {
|
2088
|
+
"name": "Seeed Studio XIAO ESP32S3",
|
2089
|
+
"variant": VARIANT_ESP32S3,
|
2090
|
+
},
|
2091
|
+
"sensebox_mcu_esp32s2": {
|
2092
|
+
"name": "senseBox MCU-S2 ESP32-S2",
|
2093
|
+
"variant": VARIANT_ESP32S2,
|
2094
|
+
},
|
1903
2095
|
"sensesiot_weizen": {
|
1904
2096
|
"name": "LOGISENSES Senses Weizen",
|
1905
2097
|
"variant": VARIANT_ESP32,
|
@@ -1912,6 +2104,10 @@ BOARDS = {
|
|
1912
2104
|
"name": "S.ODI Ultra v1",
|
1913
2105
|
"variant": VARIANT_ESP32,
|
1914
2106
|
},
|
2107
|
+
"sparkfun_esp32c6_thing_plus": {
|
2108
|
+
"name": "Sparkfun ESP32-C6 Thing Plus",
|
2109
|
+
"variant": VARIANT_ESP32C6,
|
2110
|
+
},
|
1915
2111
|
"sparkfun_esp32_iot_redboard": {
|
1916
2112
|
"name": "SparkFun ESP32 IoT RedBoard",
|
1917
2113
|
"variant": VARIANT_ESP32,
|
@@ -2004,6 +2200,10 @@ BOARDS = {
|
|
2004
2200
|
"name": "Unexpected Maker FeatherS3",
|
2005
2201
|
"variant": VARIANT_ESP32S3,
|
2006
2202
|
},
|
2203
|
+
"um_nanos3": {
|
2204
|
+
"name": "Unexpected Maker NanoS3",
|
2205
|
+
"variant": VARIANT_ESP32S3,
|
2206
|
+
},
|
2007
2207
|
"um_pros3": {
|
2008
2208
|
"name": "Unexpected Maker PROS3",
|
2009
2209
|
"variant": VARIANT_ESP32S3,
|
@@ -2040,6 +2240,14 @@ BOARDS = {
|
|
2040
2240
|
"name": "uPesy ESP32 Wrover DevKit",
|
2041
2241
|
"variant": VARIANT_ESP32,
|
2042
2242
|
},
|
2243
|
+
"valtrack_v4_mfw_esp32_c3": {
|
2244
|
+
"name": "Valetron Systems VALTRACK-V4MVF",
|
2245
|
+
"variant": VARIANT_ESP32C3,
|
2246
|
+
},
|
2247
|
+
"valtrack_v4_vts_esp32_c3": {
|
2248
|
+
"name": "Valetron Systems VALTRACK-V4VTS",
|
2249
|
+
"variant": VARIANT_ESP32C3,
|
2250
|
+
},
|
2043
2251
|
"vintlabs-devkit-v1": {
|
2044
2252
|
"name": "VintLabs ESP32 Devkit",
|
2045
2253
|
"variant": VARIANT_ESP32,
|
@@ -2,8 +2,10 @@ from esphome import automation
|
|
2
2
|
import esphome.codegen as cg
|
3
3
|
from esphome.components.esp32 import add_idf_sdkconfig_option, const, get_esp32_variant
|
4
4
|
import esphome.config_validation as cv
|
5
|
-
from esphome.const import CONF_ENABLE_ON_BOOT, CONF_ID
|
5
|
+
from esphome.const import CONF_ENABLE_ON_BOOT, CONF_ESPHOME, CONF_ID, CONF_NAME
|
6
6
|
from esphome.core import CORE
|
7
|
+
from esphome.core.config import CONF_NAME_ADD_MAC_SUFFIX
|
8
|
+
import esphome.final_validate as fv
|
7
9
|
|
8
10
|
DEPENDENCIES = ["esp32"]
|
9
11
|
CODEOWNERS = ["@jesserockz", "@Rapsssito"]
|
@@ -50,6 +52,7 @@ TX_POWER_LEVELS = {
|
|
50
52
|
CONFIG_SCHEMA = cv.Schema(
|
51
53
|
{
|
52
54
|
cv.GenerateID(): cv.declare_id(ESP32BLE),
|
55
|
+
cv.Optional(CONF_NAME): cv.All(cv.string, cv.Length(max=20)),
|
53
56
|
cv.Optional(CONF_IO_CAPABILITY, default="none"): cv.enum(
|
54
57
|
IO_CAPABILITY, lower=True
|
55
58
|
),
|
@@ -67,7 +70,22 @@ def validate_variant(_):
|
|
67
70
|
raise cv.Invalid(f"{variant} does not support Bluetooth")
|
68
71
|
|
69
72
|
|
70
|
-
|
73
|
+
def final_validation(config):
|
74
|
+
validate_variant(config)
|
75
|
+
if (name := config.get(CONF_NAME)) is not None:
|
76
|
+
full_config = fv.full_config.get()
|
77
|
+
max_length = 20
|
78
|
+
if full_config[CONF_ESPHOME][CONF_NAME_ADD_MAC_SUFFIX]:
|
79
|
+
max_length -= 7 # "-AABBCC" is appended when add mac suffix option is used
|
80
|
+
if len(name) > max_length:
|
81
|
+
raise cv.Invalid(
|
82
|
+
f"Name '{name}' is too long, maximum length is {max_length} characters"
|
83
|
+
)
|
84
|
+
|
85
|
+
return config
|
86
|
+
|
87
|
+
|
88
|
+
FINAL_VALIDATE_SCHEMA = final_validation
|
71
89
|
|
72
90
|
|
73
91
|
async def to_code(config):
|
@@ -75,6 +93,8 @@ async def to_code(config):
|
|
75
93
|
cg.add(var.set_enable_on_boot(config[CONF_ENABLE_ON_BOOT]))
|
76
94
|
cg.add(var.set_io_capability(config[CONF_IO_CAPABILITY]))
|
77
95
|
cg.add(var.set_advertising_cycle_time(config[CONF_ADVERTISING_CYCLE_TIME]))
|
96
|
+
if (name := config.get(CONF_NAME)) is not None:
|
97
|
+
cg.add(var.set_name(name))
|
78
98
|
await cg.register_component(var, config)
|
79
99
|
|
80
100
|
if CORE.using_esp_idf:
|
@@ -27,6 +27,9 @@ namespace esp32_ble {
|
|
27
27
|
|
28
28
|
static const char *const TAG = "esp32_ble";
|
29
29
|
|
30
|
+
static RAMAllocator<BLEEvent> EVENT_ALLOCATOR( // NOLINT(cppcoreguidelines-avoid-non-const-global-variables)
|
31
|
+
RAMAllocator<BLEEvent>::ALLOW_FAILURE | RAMAllocator<BLEEvent>::ALLOC_INTERNAL);
|
32
|
+
|
30
33
|
void ESP32BLE::setup() {
|
31
34
|
global_ble = this;
|
32
35
|
ESP_LOGCONFIG(TAG, "Setting up BLE...");
|
@@ -188,12 +191,20 @@ bool ESP32BLE::ble_setup_() {
|
|
188
191
|
}
|
189
192
|
}
|
190
193
|
|
191
|
-
std::string name
|
192
|
-
if (
|
194
|
+
std::string name;
|
195
|
+
if (this->name_.has_value()) {
|
196
|
+
name = this->name_.value();
|
193
197
|
if (App.is_name_add_mac_suffix_enabled()) {
|
194
|
-
name
|
195
|
-
}
|
196
|
-
|
198
|
+
name += "-" + get_mac_address().substr(6);
|
199
|
+
}
|
200
|
+
} else {
|
201
|
+
name = App.get_name();
|
202
|
+
if (name.length() > 20) {
|
203
|
+
if (App.is_name_add_mac_suffix_enabled()) {
|
204
|
+
name.erase(name.begin() + 13, name.end() - 7); // Remove characters between 13 and the mac address
|
205
|
+
} else {
|
206
|
+
name = name.substr(0, 20);
|
207
|
+
}
|
197
208
|
}
|
198
209
|
}
|
199
210
|
|
@@ -314,7 +325,8 @@ void ESP32BLE::loop() {
|
|
314
325
|
default:
|
315
326
|
break;
|
316
327
|
}
|
317
|
-
|
328
|
+
ble_event->~BLEEvent();
|
329
|
+
EVENT_ALLOCATOR.deallocate(ble_event, 1);
|
318
330
|
ble_event = this->ble_events_.pop();
|
319
331
|
}
|
320
332
|
if (this->advertising_ != nullptr) {
|
@@ -323,9 +335,14 @@ void ESP32BLE::loop() {
|
|
323
335
|
}
|
324
336
|
|
325
337
|
void ESP32BLE::gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) {
|
326
|
-
BLEEvent *new_event =
|
338
|
+
BLEEvent *new_event = EVENT_ALLOCATOR.allocate(1);
|
339
|
+
if (new_event == nullptr) {
|
340
|
+
// Memory too fragmented to allocate new event. Can only drop it until memory comes back
|
341
|
+
return;
|
342
|
+
}
|
343
|
+
new (new_event) BLEEvent(event, param);
|
327
344
|
global_ble->ble_events_.push(new_event);
|
328
|
-
} // NOLINT(clang-analyzer-
|
345
|
+
} // NOLINT(clang-analyzer-unix.Malloc)
|
329
346
|
|
330
347
|
void ESP32BLE::real_gap_event_handler_(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) {
|
331
348
|
ESP_LOGV(TAG, "(BLE) gap_event_handler - %d", event);
|
@@ -336,9 +353,14 @@ void ESP32BLE::real_gap_event_handler_(esp_gap_ble_cb_event_t event, esp_ble_gap
|
|
336
353
|
|
337
354
|
void ESP32BLE::gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if,
|
338
355
|
esp_ble_gatts_cb_param_t *param) {
|
339
|
-
BLEEvent *new_event =
|
356
|
+
BLEEvent *new_event = EVENT_ALLOCATOR.allocate(1);
|
357
|
+
if (new_event == nullptr) {
|
358
|
+
// Memory too fragmented to allocate new event. Can only drop it until memory comes back
|
359
|
+
return;
|
360
|
+
}
|
361
|
+
new (new_event) BLEEvent(event, gatts_if, param);
|
340
362
|
global_ble->ble_events_.push(new_event);
|
341
|
-
} // NOLINT(clang-analyzer-
|
363
|
+
} // NOLINT(clang-analyzer-unix.Malloc)
|
342
364
|
|
343
365
|
void ESP32BLE::real_gatts_event_handler_(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if,
|
344
366
|
esp_ble_gatts_cb_param_t *param) {
|
@@ -350,9 +372,14 @@ void ESP32BLE::real_gatts_event_handler_(esp_gatts_cb_event_t event, esp_gatt_if
|
|
350
372
|
|
351
373
|
void ESP32BLE::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if,
|
352
374
|
esp_ble_gattc_cb_param_t *param) {
|
353
|
-
BLEEvent *new_event =
|
375
|
+
BLEEvent *new_event = EVENT_ALLOCATOR.allocate(1);
|
376
|
+
if (new_event == nullptr) {
|
377
|
+
// Memory too fragmented to allocate new event. Can only drop it until memory comes back
|
378
|
+
return;
|
379
|
+
}
|
380
|
+
new (new_event) BLEEvent(event, gattc_if, param);
|
354
381
|
global_ble->ble_events_.push(new_event);
|
355
|
-
} // NOLINT(clang-analyzer-
|
382
|
+
} // NOLINT(clang-analyzer-unix.Malloc)
|
356
383
|
|
357
384
|
void ESP32BLE::real_gattc_event_handler_(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if,
|
358
385
|
esp_ble_gattc_cb_param_t *param) {
|
@@ -90,6 +90,7 @@ class ESP32BLE : public Component {
|
|
90
90
|
void loop() override;
|
91
91
|
void dump_config() override;
|
92
92
|
float get_setup_priority() const override;
|
93
|
+
void set_name(const std::string &name) { this->name_ = name; }
|
93
94
|
|
94
95
|
void advertising_start();
|
95
96
|
void advertising_set_service_data(const std::vector<uint8_t> &data);
|
@@ -131,6 +132,7 @@ class ESP32BLE : public Component {
|
|
131
132
|
esp_ble_io_cap_t io_cap_{ESP_IO_CAP_NONE};
|
132
133
|
uint32_t advertising_cycle_time_;
|
133
134
|
bool enable_on_boot_;
|
135
|
+
optional<std::string> name_;
|
134
136
|
};
|
135
137
|
|
136
138
|
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
|
@@ -83,7 +83,7 @@ esp_err_t BLEAdvertising::services_advertisement_() {
|
|
83
83
|
esp_err_t err;
|
84
84
|
|
85
85
|
this->advertising_data_.set_scan_rsp = false;
|
86
|
-
this->advertising_data_.include_name =
|
86
|
+
this->advertising_data_.include_name = true;
|
87
87
|
this->advertising_data_.include_txpower = !this->scan_response_;
|
88
88
|
err = esp_ble_gap_config_adv_data(&this->advertising_data_);
|
89
89
|
if (err != ESP_OK) {
|