ES32D26 sample code from Italy customer

# --- 1. Impostazioni caratteristiche generali ESP32 ---

esphome:

  name: "es32d26"

  friendly_name: Centralina Van ES32D26

  min_version: 2025.5.0

  name_add_mac_suffix: false

  

  

esp32:

  board: esp32dev

  framework:

    type: arduino

 

# Abilita logger

logger:

 

# Abilita accesso API Home Assistant

api:

 

# Abilita aggiornamenti web Over-The-Air

ota:

- platform: esphome

 

# Abilita 2 Wi-Fi a cascata

wifi:

  networks:

  - ssid: "SSID 1"

    password: "password"

 

 # Abilita Access Point ( Hotspot ) Wi-Fi (captive portal) se non si collega a Wi-Fi

  ap:

    ssid: "SSID ES32D26"

    password: "password"

  # Optional manual IP

  manual_ip:

    static_ip: 192.168.1.10

    gateway: 192.168.1.1

    subnet: 255.255.255.0

captive_portal:

 

# Abilita interfaccia web

web_server:

 port: 80

 

# --- 2. Componenti hardware specifici della board ES32D26 ---

 

# Abilita Shift Register SN74HC595 per il controllo degli 8 Relay (quindi Outputs) controllo utenze

 

sn74hc595:

  id: output_relays # ID univoco per questo componente (usato dagli switch)

  data_pin: GPIO12 # Pin DS (Serial Data Input) sul componente U9-74HC595 Pin14-SER

  clock_pin: GPIO22 # Pin SH_CP (Shift Register Clock Input) sul componente U9-74HC595 Pin11-SRCK

  latch_pin: GPIO23 # Pin ST_CP (Storage Register Clock Input / Latch) sul componente U9-74HC595 Pin12-RCK

  oe_pin: GPIO13 # Output Enable sul componente U9-74HC595 Pin13-G#

  sr_count: 8

  # num_chips: 1 # Numero di chip 74HC595 collegati in cascata (di solito 1 per questa board)

 

 # Abilita Shift Register SN74HC165 per gli ingressi digitali  

sn74hc165:

  - id: sn74hc165_hub # ID univoco per questo componente

    clock_pin: GPIO2 # CP (Clock Input)sul componente U11-74HC165 Pin2-CLK

    data_pin: GPIO15 # QH' (Data Output)sul componente U11-74HC165 Pin9-QH

    load_pin: GPIO0 # PL (Parallel Load Input / Latch)sul componente U11-74HC165 Pin1-Serial-Shift/Parallel-Load

    # clock_inhibit_pin: GPIOXX

    # num_chips: 1 # Se fossero collegati più 74HC165 in cascata

    sr_count: 8

 

# Abilita 1-Wire Bus per sonde temperatura DS18B20

one_wire:

  - platform: gpio

    pin: GPIO4 #sullo stesso GPIO4 (passthrough dalla ESP32 all'expansion board ES32D26) collego tutte le sonde di temperatura DS18B20

    #update_interval: 30s

 

 

# --- 3. Configurazione entità che fanno riferimento ai componenti hardware specificati nella sezione 2---

# Configurazione degli 8 Relay come switch per controllare tutte le utenze

switch:

  - platform: gpio

    pin:

      sn74hc595: output_relays # Riferimento all'ID del componente sn74hc595

      number: 0               # Bit 0 del 74HC595 (corrisponde a CH1)

      inverted: false         # Molti relay sono attivati con logica invertita (LOW = ON)

    name: "1. Webasto ACS"         # Nome visualizzato in Home Assistant

    id: relay_ch1             # ID univoco per questo switch

 

# Definizione degli ingressi digitali pulsanti fisici: la presenza di tensione tra 3V3 e In1 genera cambiamento di stato 0/1

# Individual inputs

binary_sensor:

  - platform: gpio

    name: "Pulsante In 1"

    pin:

      sn74hc165: sn74hc165_hub

      # Use pin number 0

      number: 0

      inverted: true

# Configurazione ingressi analogici

#Voltmetri

sensor:

  #- platform: adc

  #  pin: GPIO14

  #  name: "Voltmetro Vi1"

  #  update_interval: 1s

  #  filters:

  #    - calibrate_linear:

  #        - 0.0 -> 0.0

  #        - 10.0 -> 100.0  # Adjust based on your scaling

 

  - platform: adc

    pin: GPIO33 #collegato al rievatore di portata

    name: "Contalitri 1"

    update_interval: 0.2s

    filters:

      - calibrate_linear:

          - 0.0 -> 0.0

          - 10.0 -> 100.0  # Adjust based on your scaling

    unit_of_measurement: "l/min"

    device_class: "volume_flow_rate"

    

  #- platform: adc

  #  pin: GPIO27

  #  name: "Voltmetro Vi3"

  #  update_interval: 1s

  #  filters:

  #    - calibrate_linear:

  #        - 0.0 -> 0.0

  #        - 10.0 -> 100.0  # Adjust based on your scaling

  

  - platform: adc

    pin: GPIO32

    name: "Voltmetro Vi4"

    update_interval: 1s

    filters:

      - calibrate_linear:

          - 0.0 -> 0.0

          - 10.0 -> 100.0  # Adjust based on your scaling

  #Amperometri

  - platform: adc

    pin: GPIO34

    name: "Amperometro Ii1"

    update_interval: 1s

    filters:

      - calibrate_linear:

          - 0.0 -> 0.0

          - 20.0 -> 100.0  # Adjust based on your scaling

    unit_of_measurement: A

    

# Defining Temperature Sensors

  - platform: dallas_temp

    address: 0x9c3c01f095431d28

    name: Temperatura esterna

    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: Temperatura ingresso Paraflu PHE

    id: sonda_2

    accuracy_decimals: 1

    update_interval: 30s

    filters:

      - median:

          window_size: 5

          send_every: 5

          send_first_at: 1

Back to blog

Leave a comment