Tasmota PCF8574

W Tasmocie jest podobnie, pełne wsparcie dla multi-press, “problem” pojawił sie w obsłudze PCF8574. ESPHome też używam :slight_smile: .

A dlaczego uważasz że działanie EspHome jest uzależnione od HA?

Nie chodzi mi o same działanie ESPHome ale automatyzacje zależne od HA czy NR (poza samym ESP). Podobno można pisać automatyzacje w ESPHome ale raczej do prostych (moim zdaniem) to nie należy.
Czy w ESPHome jest podobna funkcjonalność do reguł Tasmota?

JEST:

Widzę że już sam sobie odpowiedziałeś :slight_smile:
Dorzucę ten link żeby był komplet dla Single, Double, Hold click:

Dla mnie to jest czytelne rozwiązanie.

Teraz pytanie jak wpisać funkcjonalność Single, Double, Hold click pod konfigurację KC868-A8 z użyciem PCF8574?

esphome:
name: kc868-a8
platform: ESP32
board: esp32dev

# Example configuration entry for ESP32
i2c:
sda: 4
scl: 5
scan: true
id: bus_a

# Example configuration entry
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0

# Optional manual IP
manual_ip:
static_ip: 192.168.1.199
gateway: 192.168.1.1
subnet: 255.255.255.0

# Example configuration entry
pcf8574:
– id: ‘pcf8574_hub_out_1’ # for output channel 1-8
address: 0x24

– id: ‘pcf8574_hub_in_1’ # for input channel 9-16
address: 0x22

# Individual outputs
switch:
– platform: gpio
name: “light1”
pin:
pcf8574: pcf8574_hub_out_1
number: 0
mode: OUTPUT
inverted: true

– platform: gpio
name: “light2”
pin:
pcf8574: pcf8574_hub_out_1
number: 1
mode: OUTPUT
inverted: true

– platform: gpio
name: “light3”
pin:
pcf8574: pcf8574_hub_out_1
number: 2
mode: OUTPUT
inverted: true

– platform: gpio
name: “light4”
pin:
pcf8574: pcf8574_hub_out_1
number: 3
mode: OUTPUT
inverted: true

– platform: gpio
name: “light5”
pin:
pcf8574: pcf8574_hub_out_1
number: 4
mode: OUTPUT
inverted: true

– platform: gpio
name: “light6”
pin:
pcf8574: pcf8574_hub_out_1
number: 5
mode: OUTPUT
inverted: true

– platform: gpio
name: “light7”
pin:
pcf8574: pcf8574_hub_out_1
number: 6
mode: OUTPUT
inverted: true

– platform: gpio
name: “light8”
pin:
pcf8574: pcf8574_hub_out_1
number: 7
mode: OUTPUT
inverted: true

binary_sensor:
– platform: gpio
name: “input1”
pin:
pcf8574: pcf8574_hub_in_1
number: 0
mode: INPUT
inverted: true

– platform: gpio
name: “input2”
pin:
pcf8574: pcf8574_hub_in_1
number: 1
mode: INPUT
inverted: true

– platform: gpio
name: “input3”
pin:
pcf8574: pcf8574_hub_in_1
number: 2
mode: INPUT
inverted: true

– platform: gpio
name: “input4”
pin:
pcf8574: pcf8574_hub_in_1
number: 3
mode: INPUT
inverted: true

– platform: gpio
name: “input5”
pin:
pcf8574: pcf8574_hub_in_1
number: 4
mode: INPUT
inverted: true

– platform: gpio
name: “input6”
pin:
pcf8574: pcf8574_hub_in_1
number: 5
mode: INPUT
inverted: true

– platform: gpio
name: “input7”
pin:
pcf8574: pcf8574_hub_in_1
number: 6
mode: INPUT
inverted: true

– platform: gpio
name: “input8”
pin:
pcf8574: pcf8574_hub_in_1
number: 7
mode: INPUT
inverted: true

# Enable logging
logger:

# Enable Home Assistant API
api:

switch zmieniasz na binary_sensor

i dodajesz sekcję np. taką:

on_multi_click:
- timing:
    - ON for at most 1s
    - OFF for at most 1s
    - ON for at most 1s
    - OFF for at least 0.2s
  then:
    - logger.log: "Double Clicked"
- timing:
    - ON for 1s to 2s
    - OFF for at least 0.5s
  then:
    - logger.log: "Single Long Clicked"
- timing:
    - ON for at most 1s
    - OFF for at least 0.5s
  then:
    - logger.log: "Single Short Clicked"

Niestety nie da się:
From the perspective of Tasmota, PCF8574 pins are not buttons, merely inputs which can change state. Since your device is ESP32-based, with Berry you have a good programming environment for coding additional handling, like detecting multiple actions within a short time.
A “real” button is what’s configured on gpio 0.
Pozostaje sprawdzić ESPHome ale raczej będzie pod górkę :frowning:, każda zmiana w kodzie to ponowna kompilacja kodu, wgrywanie, analiza, poprawianie i tak w kółko dlatego ESPHome nie przypadło mi do gustu ale trudno, trzeba się przeprosić i spróbować aby w pełni wykorzystać posiadany sprzęt.

2 polubienia

Poszlo z tym single, double, hold czy jest może jakiś problem?