ES32D26-Beispielcode von einem italienischen Kunden
Teilen
# --- 1. Allgemeine ESP32-Eigenschaften ---
esphome:
name: "es32d26"
friendly_name: ES32D26-Steuergerät
min_version: 2025.5.0
name_add_mac_suffix: false
esp32:
board: esp32dev
framework:
type: arduino
# Logger aktivieren
logger:
# Home Assistant API aktivieren
api:
# Over-the-Air-Web-Updates aktivieren
ota:
- platform: esphome
# 2 Wi-Fi-Netzwerke kaskadenartig aktivieren
wifi:
networks:
- ssid: "SSID 1"
password: "password"
# Wi-Fi-Access-Point (Hotspot) mit Captive Portal aktivieren, falls keine Verbindung zum WLAN besteht
ap:
ssid: "SSID ES32D26"
password: "password"
# Optionale manuelle IP-Adresse
manual_ip:
static_ip: 192.168.1.10
gateway: 192.168.1.1
subnet: 255.255.255.0
captive_portal:
# Web-Oberfläche aktivieren
web_server:
port: 80
# --- 2. Spezifische Hardware-Komponenten des ES32D26-Boards ---
# Shift-Register SN74HC595 zur Steuerung der 8 Relais (Ausgänge) für die Verbrauchersteuerung aktivieren
sn74hc595:
id: output_relays # Eindeutige ID für diese Komponente (wird von den Schaltern verwendet)
data_pin: GPIO12 # DS-Pin (Serial Data Input) auf Komponente U9-74HC595 Pin14-SER
clock_pin: GPIO22 # SH_CP-Pin (Shift Register Clock Input) auf Komponente U9-74HC595 Pin11-SRCK
latch_pin: GPIO23 # ST_CP-Pin (Storage Register Clock Input / Latch) auf Komponente U9-74HC595 Pin12-RCK
oe_pin: GPIO13 # Output Enable auf Komponente U9-74HC595 Pin13-G#
sr_count: 8
# num_chips: 1 # Anzahl der kaskadierten 74HC595-Chips (normalerweise 1 für dieses Board)
# Shift-Register SN74HC165 für die digitalen Eingänge aktivieren
sn74hc165:
- id: sn74hc165_hub # Eindeutige ID für diese Komponente
clock_pin: GPIO2 # CP (Clock Input) auf Komponente U11-74HC165 Pin2-CLK
data_pin: GPIO15 # QH' (Data Output) auf Komponente U11-74HC165 Pin9-QH
load_pin: GPIO0 # PL (Parallel Load Input / Latch) auf Komponente U11-74HC165 Pin1-Serial-Shift/Parallel-Load
# clock_inhibit_pin: GPIOXX
# num_chips: 1 # Falls mehr als 74HC165 kaskadiert angeschlossen sind
sr_count: 8
# 1-Wire-Bus für DS18B20-Temperatursensoren aktivieren
one_wire:
- platform: gpio
pin: GPIO4 # Über denselben GPIO4 (Durchschleifen vom ESP32 zum Erweiterungsboard ES32D26) werden alle DS18B20-Temperatursensoren angeschlossen
#update_interval: 30s
# --- 3. Konfiguration der Entitäten, die sich auf die in Abschnitt 2 angegebenen Hardware-Komponenten beziehen---
# Konfiguration der 8 Relais als Schalter zur Steuerung aller Verbraucher
switch:
- platform: gpio
pin:
sn74hc595: output_relays # Verweis auf die ID der Komponente sn74hc595
number: 0 # Bit 0 des 74HC595 (entspricht CH1)
inverted: false # Viele Relais werden mit invertierter Logik aktiviert (LOW = ON)
name: "1. Webasto ACS" # Anzeigename in Home Assistant
id: relay_ch1 # Eindeutige ID für diesen Schalter
# Definition der physischen Taster-Eingänge: Die Anwesenheit einer Spannung zwischen 3V3 und In1 erzeugt eine Zustandsänderung 0/1
# Einzelne Eingänge
binary_sensor:
- platform: gpio
name: "Taster In 1"
pin:
sn74hc165: sn74hc165_hub
# Verwenden Sie Pin-Nummer 0
number: 0
inverted: true
# Konfiguration der analogen Eingänge
#Spannungsmesser
sensor:
#- platform: adc
# pin: GPIO14
# name: "Spannungsmesser Vi1"
# update_interval: 1s
# filters:
# - calibrate_linear:
# - 0.0 -> 0.0
# - 10.0 -> 100.0 # Anpassen basierend auf Ihre Skalierung
- platform: adc
pin: GPIO33 #An den Durchflussmesser angeschlossen
name: "Durchflussmesser 1"
update_interval: 0.2s
filters:
- calibrate_linear:
- 0.0 -> 0.0
- 10.0 -> 100.0 # Anpassen basierend auf Ihre Skalierung
unit_of_measurement: "l/min"
device_class: "volume_flow_rate"
#- platform: adc
# pin: GPIO27
# name: "Spannungsmesser Vi3"
# update_interval: 1s
# filters:
# - calibrate_linear:
# - 0.0 -> 0.0
# - 10.0 -> 100.0 # Anpassen basierend auf Ihre Skalierung
- platform: adc
pin: GPIO32
name: "Spannungsmesser Vi4"
update_interval: 1s
filters:
- calibrate_linear:
- 0.0 -> 0.0
- 10.0 -> 100.0 # Anpassen basierend auf Ihre Skalierung
#Amperemeter
- platform: adc
pin: GPIO34
name: "Amperemeter Ii1"
update_interval: 1s
filters:
- calibrate_linear:
- 0.0 -> 0.0
- 20.0 -> 100.0 # Anpassen basierend auf Ihre Skalierung
unit_of_measurement: A
# Definition der Temperatursensoren
- platform: dallas_temp
address: 0x9c3c01f095431d28
name: Außentemperatur
id: sonda_1
accuracy_decimals: 1
update_interval: 30s
filters:
- median:
window_size: 5
send_every: 5
send_first_at: 1
- platform: dallas_temp
address: 0x033c01f0958f4b28
name: Paraflu PHE-Eintrittstemperatur
id: sonda_2
accuracy_decimals: 1
update_interval: 30s
filters:
- median:
window_size: 5
send_every: 5
send_first_at: 1