# Board Hankerila EA8

**URL:** <https://forum.cpha.pt/t/board-hankerila-ea8/15585>\
**Category:** Configuração\
**Created:** [21 Janeiro , 2026 09:35 UTC](https://forum.cpha.pt/t/board-hankerila-ea8/15585 "2026-01-21T09:35:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![cafeoliveira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/cafeoliveira/32/1106_2.png) [@cafeoliveira](https://forum.cpha.pt/u/cafeoliveira)\
**Post date:** [21 Janeiro , 2026 09:35 UTC](https://forum.cpha.pt/t/board-hankerila-ea8/15585/1 "2026-01-21T09:35:03Z")

</div>

Bom dia, pessoal.

Adquiri recentemente uma placa de inputs e outputs no AliExpress (modelo **HKL-EA8** ).  
Encontrei na internet um código de configuração para **ESPHome** e realizei alguns testes.

Após os testes, verifiquei que:

- **Os relés estão funcionando corretamente**
- Porém, **os inputs não mudam de estado** , mesmo quando acionados

Segue abaixo a configuração utilizada no ESPHome, bem como os links de referência onde encontrei o código e as informações da placa.

Gostaria de saber se alguém já utilizou essa placa com ESPHome ou se existe alguma configuração adicional necessária para o funcionamento correto dos inputs (GPIOs, inversão de lógica, pull-up/pull-down, etc.).

Agradeço desde já pela ajuda.

> **[Placa IoT HKL-EA8 16M com Flash Grande para Casa Inteligente e Controle...](https://pt.aliexpress.com/item/1005008468553434.html?spm=a2g0o.order_list.order_list_main.4.7e94caa412XacX&gatewayAdapt=glo2bra)**
>
> Smarter Shopping, Better Living! Aliexpress.com

 ![imagem](https://forum.cpha.pt/uploads/default/original/3X/6/2/622801375c70b25fa260fdb62d1855e028dba4f0.png)

> **[Hankerila EA8](https://devices.esphome.io/devices/hankerila-ea8/)**
>
> A repository of device configuration templates and setup guides for devices running ESPHome firmware.

---

<div class="post-metadata">

**Author:** ![Peixeiro](https://forum.cpha.pt/user_avatar/forum.cpha.pt/peixeiro/32/2694_2.png) [@Peixeiro](https://forum.cpha.pt/u/Peixeiro)\
**Post date:** [21 Janeiro , 2026 10:04 UTC](https://forum.cpha.pt/t/board-hankerila-ea8/15585/2 "2026-01-21T10:04:03Z")

</div>

Olá, não intendi bem qual o problema.

Como fizeste as ligações aos Inputs para testar?  
Se percebi o esquema e usando o método PNP, terias de ligar o S1 ao negativo e o botão entre o x1 e o positivo.

Não basta testar um chunt entre o S1 e os inputs…

 ![{A6CE2994-9AA6-4161-BF5D-3D7BA4004A73}](https://forum.cpha.pt/uploads/default/original/3X/7/9/799bb4407ecd852b766e55e99b92c90a08424f4a.jpeg)

Gostei da placa, muito completa para o preço.

---

<div class="post-metadata">

**Author:** ![cafeoliveira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/cafeoliveira/32/1106_2.png) [@cafeoliveira](https://forum.cpha.pt/u/cafeoliveira)\
**Post date:** [21 Janeiro , 2026 10:41 UTC](https://forum.cpha.pt/t/board-hankerila-ea8/15585/3 "2026-01-21T10:41:51Z")

</div>

Olá,

Ups, agora que falas, não fiz esse **jumper entre o GND e o S1**.  
Vou testar mais logo, mas provavelmente é isso (mesmo com o esquema à frente dos olhos, estava na horta e nem via as couves 😅).

Assim que possível, dou feedback do teste.

Obrigado!

---

<div class="post-metadata">

**Author:** ![cafeoliveira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/cafeoliveira/32/1106_2.png) [@cafeoliveira](https://forum.cpha.pt/u/cafeoliveira)\
**Post date:** [29 Janeiro , 2026 21:53 UTC](https://forum.cpha.pt/t/board-hankerila-ea8/15585/4 "2026-01-29T21:53:15Z")

</div>

Boa noite.

@Peixeiro , obrigado pelo apoio.

Era mesmo o que faltava para começar a funcionar.

Obrigado, assim que possível partilho aqui o projeto final.

Cumprimentos

---

<div class="post-metadata">

**Author:** ![cafeoliveira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/cafeoliveira/32/1106_2.png) [@cafeoliveira](https://forum.cpha.pt/u/cafeoliveira)\
**Post date:** [20 Abril , 2026 09:31 UTC](https://forum.cpha.pt/t/board-hankerila-ea8/15585/5 "2026-04-20T09:31:43Z")

</div>

Bom dia.

Projeto foi adiado 🙂 mas seria para retirar uma central de alarme avaria e antiga e colocar aqui os sensores de momento e ligar uma sirene interior.

Deixo aqui o codigo atual:

```auto
# =========================

# CONFIGURAÇÃO BÁSICA

# =========================

esphome:

  name: hankerila-ea8 # Nome do dispositivo no ESPHome

esp32:

  variant: esp32 # Tipo de chip ESP32

  framework:

    type: esp-idf # Framework usado (mais estável para Ethernet)

# =========================

# LOGS E INTEGRAÇÃO

# =========================

logger: # Ativa logs via serial

api: # Permite integração com Home Assistant

ota:

  - platform: esphome # Permite atualização OTA (sem cabo)

# =========================

# WEB SERVER

# =========================

web_server:

  port: 80 # Interface web no IP do dispositivo

  auth:

    username: admin

    password: admin123

# =========================

# WIFI (DESATIVADO)

# =========================

# Não usar ao mesmo tempo que Ethernet

#wifi:

# ssid: !secret wifi_ssid

# password: !secret wifi_password

# =========================

# I2C BUS

# =========================

i2c:

  sda: 4 # Pino SDA

  scl: 5 # Pino SCL

  scan: true # Procura dispositivos automaticamente

  id: bus_a # ID do barramento

# =========================

# ETHERNET (LAN8720)

# =========================

ethernet:

  type: LAN8720

  mdc_pin: GPIO23

  mdio_pin: GPIO18

  clk:

    pin: GPIO17

    mode: CLK_OUT

  phy_addr: 0

# =========================

# DAC (SAÍDA ANALÓGICA)

# =========================

output:

  - platform: mcp4725

    address: 0x60 # Endereço I2C do DAC

    min_power: 0

    max_power: 1

    id: dac_output

    i2c_id: bus_a

# =========================

# ADC (ENTRADAS ANALÓGICAS)

# =========================

ads1115:

  - address: 0x49

    i2c_id: bus_a

# =========================

# ONE-WIRE (SENSORES TEMPERATURA)

# =========================

one_wire:

  - platform: gpio

    pin: GPIO15

    id: tem01

  - platform: gpio

    pin: GPIO16

    id: tem02

# =========================

# INFRAVERMELHO

# =========================

remote_receiver:

  pin: GPIO33

  # dump: raw # Ativar para debug de comandos IR

remote_transmitter:

  pin: GPIO32

  carrier_duty_percent: 50%

# =========================

# EXPANSORES I2C (PCF8574)

# =========================

pcf8574:

  - id: pcf8574_hub_out_1 # Saídas (relés)

    address: 0x24

  - id: pcf8574_hub_in_1 # Entradas (botões)

    address: 0x26

# =========================

# RELÉS (SAÍDAS)

# =========================

switch:

  - platform: gpio

    name: "a8-relay1"

    id: relay1

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 0

      mode: OUTPUT

      inverted: true

  # Repete para todos os relés (1–8)

  - platform: gpio

    name: "a8-relay2"

    id: relay2

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 1

      mode: OUTPUT

      inverted: true

  - platform: gpio

    name: "a8-relay3"

    id: relay3

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 2

      mode: OUTPUT

      inverted: true

  - platform: gpio

    name: "a8-relay4"

    id: relay4

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 3

      mode: OUTPUT

      inverted: true

  - platform: gpio

    name: "a8-relay5"

    id: relay5

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 4

      mode: OUTPUT

      inverted: true

  - platform: gpio

    name: "a8-relay6"

    id: relay6

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 5

      mode: OUTPUT

      inverted: true

  - platform: gpio

    name: "a8-relay7"

    id: relay7

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 6

      mode: OUTPUT

      inverted: true

  - platform: gpio

    name: "a8-relay8"

    id: relay8

    pin:

      pcf8574: pcf8574_hub_out_1

      number: 7

      mode: OUTPUT

      inverted: true

# =========================

# ENTRADAS DIGITAIS (BOTÕES)

# =========================

binary_sensor:

  - platform: gpio

    name: "a8-input1"

    id: input1

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 0

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay1 # Alterna relé 1

  # Repete padrão para inputs 2–8

  - platform: gpio

    name: "a8-input2"

    id: input2

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 1

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay2

  - platform: gpio

    name: "a8-input3"

    id: input3

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 2

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay3

  - platform: gpio

    name: "a8-input4"

    id: input4

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 3

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay4

  - platform: gpio

    name: "a8-input5"

    id: input5

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 4

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay5

  - platform: gpio

    name: "a8-input6"

    id: input6

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 5

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay6

  - platform: gpio

    name: "a8-input7"

    id: input7

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 6

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay7

  - platform: gpio

    name: "a8-input8"

    id: input8

    pin:

      pcf8574: pcf8574_hub_in_1

      number: 7

      mode: INPUT

      inverted: true

    on_press:

      then:

        - switch.toggle: relay8

# =========================

# SENSORES ANALÓGICOS (ADS1115)

# =========================

sensor:

# - platform: ads1115

# multiplexer: 'A0_A1'

# gain: 6.144

# name: "SCT013-30A-1V"

# update_interval: 5s

# - platform: ads1115

# id: ads1115_02

# multiplexer: 'A2_GND'

# gain: 6.144

# name: "0-5V"

# update_interval: 2s

  # SENSOR INTERNO (RAW)

# - platform: ads1115

# id: ads1115_03_raw

# multiplexer: 'A3_GND'

# gain: 6.144

# update_interval: 2s

# internal: true

# # Conversão de tensão → corrente (0-20mA)

# on_value:

# then:

# - lambda: |-

# const float sampling_resistor = 200.0;

# float current = (id(ads1115_03_raw).state / sampling_resistor) * 1000;

# id(ads1115_03_current).publish_state(current);

# # SENSOR FINAL EM mA

# - platform: template

# id: ads1115_03_current

# name: "0-20mA"

# unit_of_measurement: "mA"

# accuracy_decimals: 2

# state_class: measurement

  # =========================

  # TEMPERATURA (DS18B20)

  # =========================

  - platform: dallas_temp

    one_wire_id: tem01

    name: "ds18b20-1"

    update_interval: 15s

  - platform: dallas_temp

    one_wire_id: tem02

    name: "ds18b20-2"

    update_interval: 15s

```

 ![imagem](https://forum.cpha.pt/uploads/default/original/3X/1/6/16fbf84752e040d5261790ef8307a0ab92ca7eb1.png)
