Files
Camper-Monitor/firmware/vanalign/experimente/esp32_switch.yaml
BiasFandClaude Opus 5 9406a749e5 Firmware des Neigungsmessers ins Projekt übernehmen
Die ESPHome-Firmware lag bisher im eigenständigen Projekt VanAllign-Pro.
Da die App der einzige Client ist, gehören Firmware und App zusammen:
ändert sich die Bluetooth-Schnittstelle, muss beides gemeinsam angefasst
werden.

Übernommen sind die Firmware selbst und die beiden Experimente zu
WLAN/BLE-Umschaltung und ESP-NOW, letztere nach experimente/ einsortiert
und als nicht betriebsnotwendig gekennzeichnet. Die WebBLE-Oberfläche
bleibt im Ursprungsprojekt - sie ist durch die App abgelöst und bringt
2 MB Bilder mit, die in einem iOS-Projekt nichts zu suchen haben.

Die .gitignore schliesst jetzt die ESPHome-Build-Verzeichnisse aus; im
Ursprungsprojekt fehlte das, dort liegen inzwischen 233 MB Bauartefakte
neben den Quellen.

Am neuen Ort mit esphome config gegengeprüft.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 15:12:30 +02:00

64 lines
1.5 KiB
YAML

esphome:
name: dual-net-webble
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
logger:
baud_rate: 0
level: WARN
wifi:
ssid: "DEIN_SSID"
password: "DEIN_PASSWORT"
enable_on_boot: false
api:
web_server:
port: 80
# ota: true <-- entfernen!
ota:
- platform: esphome # klassisches OTA (benötigt 'api:')
- platform: web_server # OTA im Web-Interface
# BLE-Stack nur für eigenen GATT-Server
esp32_ble:
enable_on_boot: false
esp32_ble_server:
manufacturer: "MyLab"
model: "WebBLE"
services:
- uuid: "12345678-1234-5678-1234-56789abcdef0"
characteristics:
# Write "1" -> WLAN-Fenster starten/verlängern
- uuid: "12345678-1234-5678-1234-56789abcdef1"
name: "StartMaintenance"
value: "0"
on_write:
then:
- lambda: |-
if (x.get_value().find("1") != std::string::npos) {
id(start_wifi_window).execute();
}
# Status bei Bedarf lesbar (z. B. "WIFI,14" oder "BLE,0")
- uuid: "12345678-1234-5678-1234-56789abcdef2"
name: "Status"
value: "BLE,0"
on_read:
then:
- lambda: |-
char buf[16];
snprintf(buf, sizeof(buf), "%s,%d",
id(_netmode_is_wifi) ? "WIFI" : "BLE",
(int) id(_wifi_minutes_left));
x.set_value(std::string(buf));
number:
- platform: template
id: wifi_window_minu