Files
Funksender-Tor/esphome/tor_steuerung.yaml
T
Dominic a5caf47b49 Empfänger auf reale Tor-Steuerung (esp32dev) umgestellt
- tor_empfaenger.yaml (ESP32-S3-Platzhalter) ersetzt durch tor_steuerung.yaml,
  das die bestehende ChatGPT-Konfig (Relais GPIO16, Türsensoren GPIO34/35,
  echte WLAN/API/OTA-Credentials) mit der CC1101-Empfangslogik zusammenführt
- CC1101 auf freie VSPI-Pins gelegt (GPIO4/5/18/19/23), da 16/34/35 belegt sind
- auto_sender_01.yaml verwendet dieselben Credentials wie der Empfänger
- README: Pintabelle für esp32dev, Hinweis auf Klartext-Secrets im Repo
2026-07-23 18:38:49 +00:00

127 lines
2.9 KiB
YAML

esphome:
name: tor-steuerung
friendly_name: Tor Steuerung
esp32:
board: esp32dev
framework:
type: esp-idf
version: recommended
logger:
level: DEBUG
api:
encryption:
key: "X2kSHZmeEbdPtMBlxB67cJ4/WMNkQOPCstqYiUQlL2g="
ota:
- platform: esphome
password: "4bd4f24d4a26730d06e84d6e0816fb09"
wifi:
ssid: "Leonardo da WiFi"
password: "44290812080358610465"
power_save_mode: none
ap:
ssid: "Torsteuerung"
password: "Spring.3"
captive_portal:
# --- Bestehende Hardware ---
switch:
- platform: gpio
pin: GPIO16
id: tor_impuls_relay
name: "Tor Impuls"
restore_mode: ALWAYS_OFF
on_turn_on:
- delay: 500ms
- switch.turn_off: tor_impuls_relay
binary_sensor:
- platform: gpio
pin: GPIO34
name: "Tor AUF"
device_class: door
- platform: gpio
pin: GPIO35
name: "Tor ZU"
device_class: door
# --- Neu: CC1101 433 MHz Empfänger für den Funksender im Auto ---
# Pinbelegung siehe README/doku/verdrahtung-cc1101.svg
# (GPIO16/34/35 sind durch die bestehende Hardware belegt, deshalb
# hier die freien VSPI-Standardpins verwendet)
spi:
clk_pin: GPIO18
mosi_pin: GPIO23
miso_pin: GPIO19
cc1101:
cs_pin: GPIO5
gdo0_pin: GPIO4
frequency: 433.92MHz
modulation_type: GFSK
symbol_rate: 4800
packet_mode: true
packet_length: 4
crc_enable: true
sync0: 0x91
sync1: 0xD3
on_packet:
then:
- lambda: |-
// Magic-Bytes prüfen
if (x.size() < 3 || x[0] != 0xA7 || x[1] != 0x3C) return;
uint8_t fz = x[2];
ESP_LOGI("tor", "Fahrzeug %u, RSSI %.1f dBm, LQI %u", fz, rssi, lqi);
// Reichweite: nur öffnen wenn Signal stark genug (= Auto nah)
if (rssi < id(rssi_schwelle).state) return;
// erlaubte Fahrzeuge
if (fz < 1 || fz > 10) {
ESP_LOGW("tor", "Unbekannte Fahrzeug-ID: %u", fz);
return;
}
// Sperrzeit, damit das Tor nicht dauernd getriggert wird
uint32_t jetzt = millis();
if (id(letzte_oeffnung) != 0 && (jetzt - id(letzte_oeffnung)) < 60000) return;
id(letzte_oeffnung) = jetzt;
ESP_LOGI("tor", "Tor öffnen für Fahrzeug %u (RSSI %.1f)", fz, rssi);
id(letztes_fahrzeug).publish_state(std::to_string(fz));
id(tor_impuls_relay).turn_on();
globals:
- id: letzte_oeffnung
type: uint32_t
restore_value: false
initial_value: '0'
# In HA per Schieberegler einstellbar, kein Neuflashen nötig.
# Startwert -60 ≈ 5 m, im Betrieb anhand der geloggten RSSI-Werte feinjustieren.
number:
- platform: template
name: RSSI Schwelle
id: rssi_schwelle
min_value: -100
max_value: -20
step: 1
initial_value: -60
optimistic: true
restore_value: true
unit_of_measurement: dBm
entity_category: config
text_sensor:
- platform: template
name: Letztes Fahrzeug
id: letztes_fahrzeug